Permitir que qualquer usuário use o shutdown com meu próprio shell

2

Primeiro, desculpe se meu inglês não é excelente, mas não é minha língua nativa.

Eu tenho um projeto onde estou construindo meu próprio shell (chamado MYSHELL). Uma das tarefas é criar meu próprio turnitoff interno , um comando que pode ser executado por qualquer usuário que tenha MYSHELL como shell padrão *. O problema é que esse comando é apenas para o sudo. Eu li que eu posso editar o arquivo sudoers, mas há um problema com isso: Vamos dizer que John tem o MYSHELL instalado. Ele pode mudar para sua concha anterior sempre que quiser (por exemplo, bash). Quando ele está na festança ele não está autorizado a executar o desligamento, mas ele vai. Espero que eu tenha me feito claro ... Eu não quero a resposta, apenas uma mão amiga que pode dizer ao meu que eu posso procurar ... Muito obrigado antecipadamente! NOTA: todo o código está em BASH, nenhum arquivo bin permitido

* O usuário que tem MYSHELL como shell é porque alguém o instalou com um makefile. Neste momento é quando podemos mudar tudo, porque o makefile é executado com o usuário root.

    
por coolerking 15.10.2012 / 00:18

1 resposta

0

Em um sistema que tem DBus e ConsoleKit instalado, você pode usar o seguinte comando para desligar o sistema sem privilégios de superadministrador (ou seja, sem conceder direitos de sudo ao usuário):

dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
    
por Sergey 15.10.2012 / 00:47