como passar a senha aos comandos do sudo?

3

no OSX eu faço

sudo route delete default
sudo route add default 192.168.178.1

para alterar meu gateway padrão.

Ao executar um arquivo sh com estes, sempre me pedem uma senha. Que eu corro como

sh changegw.sh .

Como faço para passar minha senha antes da mão?

    
por zcqwevb 17.03.2012 / 21:38

2 respostas

9

Para o sudo, há uma opção -S para aceitar a senha da entrada padrão. Aqui está a entrada do homem:

-S          The -S (stdin) option causes sudo to read the password from
            the standard input instead of the terminal device.

Isso permitirá que você execute um comando como:

echo myPassword | sudo -S ls /tmp
    
por 17.03.2012 / 21:41
0

Embora seja mais fácil simplesmente executar o script como root, você também pode criar um grupo no arquivo sudoers que possa executar o programa sem uma senha e adicionar seu nome de usuário a esse grupo.

Eu nunca fiz isso pessoalmente, e não posso recomendar uma linha específica para adicionar ao seu arquivo sudoers.

    
por 17.03.2012 / 23:42

Tags