Eu tenho um PC desktop Ubuntu 10.04 LTS com GNOME.
Como posso desativar completamente as funções de reinicialização / desligamento / suspensão / hibernação no GNOME ou mesmo com o root? Para que o root dê o comando "reboot" ou "pm-suspend", ele não faz nada e a máquina continua. Como posso desativar completamente esses "recursos" básicos?
shutdown
epm-suspend
de/sbin/
e/bin/
Respostas:
O acesso do usuário a essas ações é controlado pelo polkit. Em particular, eles correspondem às seguintes ações:
org.freedesktop.consolekit.system.stop
org.freedesktop.consolekit.system.restart
org.freedesktop.upower.suspend
org.freedesktop.upower.hibernate
Todas essas ações são permitidas por padrão para usuários locais ativos (embora
consolekit
restrinja ainda mais as duas primeiras permissões para que funcionem apenas quando houver um único usuário conectado ao sistema).Se você deseja desativar essas ações, crie um arquivo
/etc/polkit-1/50-local.d/disable-shutdown.pkla
contendo algo como:Isso deve impedir que essas ações sejam concluídas. Mais informações sobre esses arquivos de políticas podem ser encontradas executando
man pklocalauthority
.Se você estiver tentando restringir
root
, isso será apenas um pequeno inconveniente. Por definição,root
é uma conta irrestrita de acordo com o sistema de controle de acesso discricionário tradicional do UNIX. Se você não pode confiar nos usuários aos quais concedeuroot
acesso total , terá problemas maiores do que apenas desligar o sistema.Observe que nas versões posteriores do Ubuntu alguém decidiu quebrar a compatibilidade. Conforme respondido em Como desativar o desligamento / reinicialização do lightdm no 14.04? a ação parece ter sido alterada para "org.freedesktop. login1 .reboot" (e similares).
Por exemplo, no 14.04, adicionar as seguintes linhas como
/etc/polkit-1/localauthority/50-local.d/restrict-login-powermgmt.pkla
funciona:Além disso, observe que este método bloqueia apenas os comandos / etc / reboot emitidos a partir da GUI. Para bloquear os comandos reboot / etc da linha de comando, pode-se usar o molly-guard - como explicado em Desativando o comando shutdown para todos os usuários, mesmo que raiz - consequências?
fonte
Considere instalar o molly-guard .
Este pacote evitará o desligamento / reinicialização / suspensão / hibernação não intencional, solicitando interativamente que você digite o nome do host do sistema.
No entanto, é trivial configurar o molly-guard para desativar completamente o shutdown / reboot / suspend / hibernate. Basta criar um arquivo executável em /etc/molly-guard/run.d/99-prevent-all que contenha isso:
Observe que ele protege apenas contra comandos emitidos pela linha de comando, o desligamento / reinicialização / suspensão / hibernação emitido pela GUI está ignorando-o. Para bloquear também a GUI usando a reinicialização, pode-se usar regras polkit .
fonte
fonte
/bin/systemctl
e removerão o bit executável dele. Este é um executável crítico que também controlaservice SERVICE_NAME [stop|start|restart]
. Provavelmente seu sistema não inicializará mais (se você conseguir desligá-lo)./bin/systemctl
está definido para leitura e escrita única-rw-r--r-- 1 root root
Com base na resposta do OP, você pode fazer
Isso renomeia os links simbólicos e os substitui por arquivos em branco. Isso impedirá o desligamento da linha de comando; não sei se os comandos da GUI o chamam ou fazem suas próprias coisas; assim, você pode ter que fazer a resposta aceita também.
fonte