
Tenho um script bash que executo em /etc/crontab no Linux
$ uname -a
Linux mymachine.com 3.4.76-65.111.amzn1.x86_64 #1 SMP Tue Jan 14 21:06:49 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
O script bash contém uma linha
sudo shutdown -r 5
No entanto, quando o cron job é executado (como um usuário chamado “myuser”), a máquina nunca é reinicializada e, em vez disso, encontro isso nos logs
[sudo] password for myuser:
O que preciso fazer para permitir que esse usuário reinicie a partir do cron? Não é uma opção executar este script como outro usuário.
Responder1
Você precisa de uma linha /etc/sudoers
que diga:
myuser ALL = NOPASSWD: /sbin/shutdown
A NOPASSWD
parte diz sudo
para myuser
executar o comando shutdown fornecendo uma senha.
Para adicionar essa linha ao /etc/sudoers
, execute (como root):
sudoedit /etc/sudoers
sudoedit
verificará se há erros na versão atualizada do arquivo antes de instalá-lo. Conseqüentemente, isso é mais seguro do que editar o arquivo diretamente.