Como fazer um script dar permissão de root para montar HD automaticamente???

Iniciado por renatodru, 05 de Janeiro de 2011, 12:25

tópico anterior - próximo tópico

renatodru

O Script em questão é este:
Citar
#!/bin/bash
cd /media/
if [ -d 1TB ]
then
   cd /media/1TB/Jogos/Blizzard/World\ of\ Warcraft/
   wine Wow.exe -opengl
else
   mkdir /media/1TB
   mount /dev/sdb1 /media/1TB
   cd /media/1TB/Jogos/Blizzard/World\ of\ Warcraft/
   wine Wow.exe -opengl
fi

So que quando eu executo ele, e ele entra no ELSE da a seguinte mensagem:
Citar
renato@ubuntu:~$ sh wow.sh
mkdir: é impossível criar o diretório `/media/1TB': Permissão negada
mount: operação exclusiva de root
cd: 12: can't cd to /media/1TB/Jogos/Blizzard/World of Warcraft/
wine: cannot find L"C:\\windows\\system32\\Wow.exe"

Gostaria de dar permissão de root ao script para ele poder montar o HD.
Antes que digam que o assunto já foi discutido, eu pesquisei bastante e não achei nada bem definido nada que resolvesse o meu problema, so um blablabla sobre segurança e pessoas que postavam mas não ajudavam em nada.
Da pra colocar no script algo como
sudo su senha
sudo -i senha
sudo < senha
sudo su | echo senha
???
Samsung T190 /-/ Cooler Master CM 690 + 5 fans 120mm Cooler Master /-/ Asus M4A79T DELUXE /-/ PHENOM II 955BE C3 /-/ 2x2GB DDR3 OCZ Reaper HPC 1600 cas7 /-/ ECS 9600GT accelero s2 /-/ Corsair VX450 /-/ SATA II 80GB Samsung, SATA II 160GB Western, SATA II 1TB SeaGate /-/ GVT 10mb

irtigor

Sim: echo senha | sudo -S _comando_ (olhe o manual pra detalhes), entretanto é uma da piores saídas. Eu provavelmente adicionaria uma exceção no sudoers, para usar o mount como usuário normal (mas não é a única forma).

renatodru

ok, fui no terminal e digitei man sudo
na opção -S, temos.
Citar
-S          The -S (stdin) option causes sudo to read the password from
                   the standard input instead of the terminal device.  The
                   password must be followed by a newline character.

-s [command]
                   The -s (shell) option runs the shell specified by the SHELL
                   environment variable if it is set or the shell as specified
                   in passwd(5).  If a command is specified, it is passed to
                   the shell for execution.  Otherwise, an interactive shell
                   is executed.
traduzi com o google
Citar
O S-(stdin) faz com que o sudo para ler a senha da entrada padrão ao invés do dispositivo terminal. A senha deve ser seguido por um caractere de nova linha.

-s (shell) opção executa o shell especificado pela variável de ambiente SHELL se ele estiver definido ou se o reservatório, conforme especificado no passwd (5). Se um comando for especificado, ele é passado para o shell para execução. Caso contrário, um shell interativo é executado.
não entendi muita coisa.
Samsung T190 /-/ Cooler Master CM 690 + 5 fans 120mm Cooler Master /-/ Asus M4A79T DELUXE /-/ PHENOM II 955BE C3 /-/ 2x2GB DDR3 OCZ Reaper HPC 1600 cas7 /-/ ECS 9600GT accelero s2 /-/ Corsair VX450 /-/ SATA II 80GB Samsung, SATA II 160GB Western, SATA II 1TB SeaGate /-/ GVT 10mb