Especifique a senha para sudo no script

1

Estou fazendo um script que atualizará meu sistema (e fará outras coisas, mas isso não importa). Eu quero que o script execute sudo apt-get update e sudo apt-get dist-upgrade --yes automaticamente. Eu uso - sim, então não terei que escolher sim quando for executado; ele atualiza todos os pacotes automaticamente sem que eu precise fazer nada. Dito isso, eu quero colocar minha senha no script de alguma forma, então não terei que digitar minha senha quando a executar, provavelmente com um argumento ou algo assim. Você sabe, algo que eu posso colocar no final como sudo apt-get update --passwd MYPASSWORDHERE . Eu tentei isso e não funciona, mas isso é um exemplo do que eu quero. Que argumento (--passwd ou --password ou algo assim) coloco no final para fazer isso?

    
por John Scott 10.07.2014 / 22:57

2 respostas

1

O Sudo não se comporta dessa maneira, por motivos de segurança. Você pode fazer o eco da senha para sudo usando a opção -s, mas eu não a sugiro. Mesmo que você proteja seu script de outros usuários, eles ainda poderão ver seus parâmetros usando, por exemplo, ps -ef .

Acho que o seu problema está mais bem resolvido instalando o pacote atualizações automáticas .

    
por Sophit 10.07.2014 / 23:17
5

Se o seu script for executado como "yourUser", você poderá criar um arquivo simples:

  sudo visudo -f /etc/sudoers.d/myOverrides 

com esta diretiva:

  yourUser ALL = NOPASSWD:/usr/bin/apt-get

Você pode encontrar uma explicação útil aqui .

    
por Lety 13.07.2014 / 16:02