Eu quero executar um comando que requer a senha sudo, diga:
sudo apt-get update
Isso não deveria funcionar (guardei a senha em um arquivo de texto normal passwd.txt
):
sudo apt-get update <~/passwd.txt
Esta é a minha lógica do motivo pelo qual DEVE funcionar: quando a senha é necessária, o usuário é solicitado a inserir a senha no teclado. Mas redirecionar a stdin
leitura do passwd.txt
arquivo deve funcionar.
Não deveria?
expect
script tcl para automatizar essas coisas.Respostas:
sudo
não lê a senhastdin
por padrão. Da página desudo
manual:Então você deve executar:
Lembre-se de que armazenar senhas em arquivos não é uma boa prática. Você deve ler:
fonte