J'ai un PC de bureau Ubuntu 10.04 LTS avec GNOME.
Comment puis-je désactiver complètement les fonctions de redémarrage / arrêt / suspension / mise en veille prolongée dans GNOME ou même avec root? Pour que la racine donne la commande "reboot" ou "pm-suspend", elle ne fait rien et la machine continue. Comment puis-je désactiver complètement ces "fonctionnalités" de base?
shutdown
etpm-suspend
de/sbin/
et/bin/
Réponses:
L'accès des utilisateurs à ces actions est contrôlé par polkit. En particulier, ils correspondent aux actions suivantes:
org.freedesktop.consolekit.system.stop
org.freedesktop.consolekit.system.restart
org.freedesktop.upower.suspend
org.freedesktop.upower.hibernate
Toutes ces actions sont autorisées par défaut pour les utilisateurs locaux actifs (bien que
consolekit
les deux premières autorisations ne fonctionnent plus que lorsqu'un seul utilisateur est connecté au système).Si vous souhaitez désactiver ces actions, créez un fichier
/etc/polkit-1/50-local.d/disable-shutdown.pkla
contenant quelque chose comme:Cela devrait empêcher ces actions de se terminer. Pour plus d'informations sur ces fichiers de stratégie, exécutez
man pklocalauthority
.Si vous essayez de restreindre
root
cependant, ce ne sera qu'un inconvénient mineur. Par définition,root
est un compte sans restriction selon le système de contrôle d'accès discrétionnaire UNIX traditionnel. Si vous ne pouvez pas faire confiance aux utilisateursroot
auxquels vous avez accordé un accès complet , alors vous avez de plus gros problèmes qu'eux en arrêtant le système.Notez que dans les versions ultérieures d'Ubuntu, quelqu'un a décidé de rompre la compatibilité. Comme répondu dans Comment désactiver l'arrêt / redémarrage de lightdm dans 14.04? l'action semble avoir changé en "org.freedesktop. login1 .reboot" (et similaire).
Par exemple, en 14.04, l'ajout des lignes suivantes
/etc/polkit-1/localauthority/50-local.d/restrict-login-powermgmt.pkla
fonctionne:De plus, notez que cette méthode bloque uniquement les commandes de redémarrage / etc émises depuis l'interface graphique. Pour bloquer les commandes de redémarrage / etc de la ligne de commande, on peut utiliser molly-guard - comme expliqué dans Désactiver la commande d'arrêt pour tous les utilisateurs, même root - conséquences?
la source
Pensez à installer molly-guard .
Ce package empêchera l'arrêt / redémarrage / suspension / mise en veille prolongée involontaire en vous invitant de manière interactive à saisir le nom d'hôte du système.
Cependant, il est trivial de configurer molly-guard pour désactiver complètement l'arrêt / le redémarrage / la suspension / l'hibernation. Créez simplement un fichier exécutable dans /etc/molly-guard/run.d/99-prevent-all qui contient ceci:
Notez qu'il protège uniquement contre les commandes émises à partir de la ligne de commande, shutdown / reboot / suspend / hibernate issu de l'interface graphique le contourne. Pour bloquer également l'interface graphique en utilisant le redémarrage, on peut utiliser des règles polkit .
la source
la source
/bin/systemctl
et en supprimeront le bit exécutable. Il s'agit d'un exécutable critique qui contrôle égalementservice SERVICE_NAME [stop|start|restart]
. Votre système ne démarrera probablement plus (si vous pouvez l'arrêter)./bin/systemctl
est défini en lecture-écriture uniquement-rw-r--r-- 1 root root
En s'appuyant sur la réponse d'OP, vous pouvez faire
Cela renomme les liens symboliques et les remplace par des fichiers vierges. Cela empêchera l'arrêt de la ligne de commande, je ne sais pas si les commandes GUI l'appellent ou font leur propre chose, vous devrez peut-être également faire la réponse acceptée.
la source