Qual é a maneira correta de permitir que um usuário normal desligue, pare ou reinicie o computador?

3

Minha solução suja é chmod +s /sbin/shutdown . Funciona, mas isso provavelmente não é uma boa prática e inseguro. Além disso, após algumas atualizações do sistema, o bit suid é reiniciado. Qual seria a maneira correta de fazer isso?

    
por ccpizza 08.07.2012 / 22:08

3 respostas

3

Todos os usuários? Ou um subconjunto selecionado deles? Eles usarão o computador localmente ou também remotamente (por exemplo, via ssh)?

No caso de alguns usuários que também trabalham remotamente, o sudo funcionará bem. Veja este link para detalhes.

Se eles estiverem fazendo login localmente e por meio de uma GUI, haverá opções melhores. Por exemplo. capturando a saudação de três dedos via init e permitindo que um disparo de 1 minuto atrasasse o desligamento. Já faz muito tempo desde que eu montei isso, então eu pulo os detalhes para isso. (Eu usei isso de volta quando o Slackware 3 era moderno)

    
por 08.07.2012 / 22:17
2

Se o seu shutdown aceitar a opção -a (verifique com shutdown --help ), você poderá fazer o seguinte:

  • Adicione os usuários que devem poder desligar o sistema em /etc/shutdown.allow .

    Exemplo:

    userA
    userB
    
  • Encerre o sistema usando a opção -a .

    Exemplo:

    shutdown -a -h now
    

Fonte: Man pages do UNIX: shutdown (8)

    
por 08.07.2012 / 22:23
1

Eu uso o SL 6.4. Tem versão do usuário de poweroff, parada, reinicialização fornecida pelo pacote usermode. Eu posso desligar, reiniciar como um usuário normal (a partir da linha de comando também)

    $ which {poweroff,reboot,halt}
    /usr/bin/poweroff
    /usr/bin/reboot
    /usr/bin/halt

    rpm -qf $(which poweroff reboot halt)
    usermode-1.102-3.el6.x86_64
    usermode-1.102-3.el6.x86_64
    usermode-1.102-3.el6.x86_64

Como root

    # which {poweroff,reboot,halt}
    /sbin/poweroff
    /sbin/reboot
    /sbin/halt

    # rpm -qf $(which poweroff reboot halt)
    upstart-0.6.5-12.el6.x86_64
    upstart-0.6.5-12.el6.x86_64
    upstart-0.6.5-12.el6.x86_64
    
por 08.09.2013 / 18:53