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?