Desligar ou reiniciar como usuário normal

13

Para executar o comando poweroff ou reboot , é necessário ser superusuário. Existe alguma maneira que eu possa executar isso como um usuário normal? Eu só não quero sudo e digite minha senha toda vez que eu reiniciar ou desligar.

    
por Stormvirux 06.08.2013 / 06:53

4 respostas

15

Alterei /etc/sudoers para que todos os usuários que estão no grupo de administradores possam executar os seguintes comandos sem solicitar uma senha.

sudo halt
sudo reboot
sudo poweroff

Você só precisa adicionar as seguintes linhas a /etc/sudoers

## Admin user group is allowed to execute halt and reboot 
%admin ALL=NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff

e adicione-se ao grupo de administradores.

Se você quiser que apenas um usuário possa fazer isso, basta remover o %admin e substituí-lo por username como este

## user is allowed to execute halt and reboot 
stormvirux ALL=NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff

Você pode descobrir mais sobre /etc/sudoers com man sudoers ou a página de manual on-line

    
por 06.08.2013 / 07:11
2

Você também pode conseguir isso por truque com setuid. Eu não sei se vai funcionar em todos os sistemas, porque às vezes eles ignoram setuid / setgid bit.

Você pode especificar um grupo de usuários que pode realizar a alteração do estado do sistema. No meu caso, foi adm . Em seguida, adicione usuários apropriados a esse grupo.

gpasswd -a $USER adm

Especifique permissões:

chmod 4550 /usr/bin/reboot

ls -l outpus deve ficar assim:

-r-sr-x--- 1 root adm 18928 Mar 13  2015 /usr/bin/reboot

Depois você pode digitar:

reboot
    
por 01.01.2016 / 17:05
2

Você também pode criar um novo arquivo em /etc/sudoers.d nomeie como quiser (eu chamei de 'shutdown' ), e coloque as seguintes linhas dentro:

# Allows me to shutdown the system without a password

yourUserName ALL = NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff

Basta alterar "yourUserName" para o SEU nome de usuário e adicionar ou remover comandos para usar. Pessoalmente, eu o uso apenas para shutdown . Uma das principais diferenças na criação de um arquivo específico em sudoers.d é que esse arquivo sobreviverá às Atualizações do Sistema

    
por 28.08.2018 / 08:44
1

Solução mais simples:

sudo echo $USER >> /etc/shutdown.allow

Então você pode usar um destes comandos:

shutdown -ah now   // halt
shutdown -ar now   // reboot

De acordo com o fechamento do homem , há -a opção para uso não-root:

If shutdown is called with the -a argument (add this to the invocation of shutdown in /etc/inittab), it checks to see if the file /etc/shutdown.allow is present. It then compares the login names in that file with the list of people that are logged in on a virtual console ...

Funciona no Debian Linux. E há limite para 32 nomes de usuários em /etc/shutdown.allow .

    
por 01.11.2017 / 05:19