Como desativar o desligamento ou reinicialização em 14.04 quando os usuários estão conectados via SSH? O

6

Eu tenho um grupo de desktops Ubuntu Trusty no meu escritório, e geralmente eu ssh para eles e instalo atualizações remotamente a partir da linha de comando. Infelizmente, às vezes os usuários locais decidem desligar esses PCs, quebrando o processo de atualização.

Gostaria de impedir que esses usuários desligassem, reinicializassem ou suspendessem seus PCs quando houver uma sessão SSH ativa. Como posso fazer isso?

Eu tentei molly-guard , mas não impede que os usuários da GUI desliguem o sistema (isso não parece afetar os usuários da GUI). Eu vi também esta questão, mas não entendi se é aplicável também ao Ubuntu 14.04 LTS ou não (e não tenho certeza de como aplicá-lo):
desativa o shutdown / suspend se houver outro usuário logado via ssh

    
por gerlos 07.01.2015 / 16:19

1 resposta

6

Isso pode ser feito usando uma política do PolKit, se você tiver privilégios de administrador.

Crie um arquivo .pkla em /etc/polkit-1/localauthority/50-local.d (digamos disable-shutdown.pkla ), contendo:

[Disable Shutdown, etc.]
Identity=unix-user:*
Action=org.freedesktop.login1.reboot-multiple-sessions;org.freedesktop.login1.power-off-multiple-sessions;org.freedesktop.login1.suspend-multiple-sessions;org.freedesktop.login1.hibernate-multiple-sessions
ResultAny=no
ResultInactive=no
ResultActive=no

A parte -multiple-sessions é para quando vários usuários estão conectados - há ações semelhantes sem esse sufixo. Isso desativa essas ações da GUI, até onde eu sei.

Observe que esse método bloqueia apenas reinicializações, etc., comandos emitidos da GUI. Para bloquear a reinicialização, etc, os comandos da linha de comando, pode-se usar molly-guarda - como explicado em Desativando o comando de desligamento para todos os usuários, mesmo as conseqüências raiz?

    
por muru 07.01.2015 / 16:29