Acho que a melhor maneira de fazer isso é um processo de duas etapas:
1) adicionando o comando que você quer executar como root em sudoers
para que seu usuário normal possa executá-lo sem senha. Para fazer isso, crie um arquivo em /etc/sudoers.d/
; você pode chamá-lo como quiser, por exemplo my-settings
(1) (2):
sudo gedit /etc/sudoers.d/my-settings
com conteúdo:
romano ALL=NOPASSWD: /usr/sbin/pm-suspend
romano ALL=NOPASSWD: /sbin/poweroff
(obviamente, altere romano
com seu usuário normal; se você não precisa suspender também, pode omitir a primeira linha). Agora você precisa tornar o arquivo legível apenas pelo root:
sudo chmod 440 /etc/sudoers.d/my-settings
... e você está pronto. Agora você poderá executar sudo /sbin/poweroff
para desligar a máquina e não será solicitada uma senha.
2) Adicione o comando sudo /sbin/poweroff
ao seu agendador gnome ou use-o em seus scripts.
Eu uso bastante para fazer um backup noturno com uma linha de comando do estilo "my_backup_script; sudo / usr / sbin / pm-suspend" ou depois de comandos longos (digamos, convertendo um formato de vídeo e depois desligando). / p>
Existe uma página do Ubuntu sobre o arquivo sudoers , mas ela não está realmente atualizada (foi escrito antes que o utilitário sudo
tivesse a capacidade de analisar o diretório /etc/sudoers.d
), embora as informações ainda sejam válidas.
Notas de Rodapé
(1) note que este trabalho na versão recente de sudo
(quero dizer, a disponibilidade do diretório /etc/sudoers.d
). Você pode verificar se funcionará olhando o arquivo '/ etc / sudoers; se tiver a linha (perto do final)
#includedir /etc/sudoers.d
funcionará. Caso contrário, você precisa adicionar as linhas acima mencionadas diretamente a /etc/sudoers
files; tenha cuidado e use visudo
para isso, porque um arquivo /etc/sudoers
quebrado é uma das coisas mais difíceis de recuperar nos sistemas Ubuntu.
Se você editar os arquivos principais diretamente, saiba que ele pode ser substituído nas atualizações.
(2) Sem pontos permitidos, por isso não use uma extensão! Veja /etc/sudoers.d/README
para mais informações.