Estou usando o Ubuntu 11.04. Quero executar um script que verifique se há um processo em execução e encerra o sistema quando esse processo termina. Para fazer isso, o usuário requer acesso de desligamento para que o script possa ser executado sem exigir uma senha.
Referi-me a esta página e acrescentou o texto no meu arquivo sudoers. No entanto, ele ainda está me pedindo a senha sempre que executo sudo shutdown -h now
. Além disso, recebo um erro dizendo que privilégios de root são necessários quando executo o desligamento sem o sudo.
Meu arquivo sudoers se parece com isso.
# Cmnd alias specification
Cmnd_Alias SHUTDOWN = /sbin/shutdown
# User privilege specification
root ALL=(ALL:ALL) ALL
myusername ALL = NOPASSWD: SHUTDOWN
Como posso dar permissão a um usuário para executar o comando shutdown sem ter que inserir manualmente a senha?
Obrigado.
sudoers
arquivo real e inteiro , por favor?Respostas:
Você pode desligar ou reiniciar usando o HAL ou o ConsoleKit, o que não exigirá a inserção de um nome de usuário / senha:
HAL (versões mais antigas do Ubuntu):
ConsoleKit (versões mais recentes do Ubuntu, testadas no Ubuntu 11.04):
fonte
Eu fiz isso como esta resposta, funciona perfeitamente para mim. Talvez sua abordagem perca a
visudo
parte?Abra uma linha de comando e digite:
No arquivo que abre, adicione a seguinte linha no final:
Então saia do editor e proteja-o (CTRL + x).
Agora você pode desligar o computador na linha de comando, por exemplo, depois de baixar algo:
fonte
Algum tempo atrás, eu fiz isso definindo o suid (Definir ID do usuário). Isso faz com que o programa seja executado como o proprietário do arquivo, não o usuário que o executa. Como o shutdown pertence ao root, isso deve permitir o desligamento sem o sudo.
Existem implicações de segurança, já que qualquer um pode executar o desligamento. http://en.wikipedia.org/wiki/Setuid
fonte
/etc
.sudo
é o caminho certo, na minha opinião, mas infelizmente o usuário não dá a chance de ver seusudoers
arquivo e o que há de errado com ele.Parece que você deseja executar o próprio script como root. Se você deseja executar um script que aguarde que algo termine e depois desligue o computador, basta executar o script com o sudo. Isso pedirá sua senha quando você executar o script, mas o script em si estará livre para desligar o sistema sem nenhuma intervenção adicional.
fonte