Der Benutzerzugriff auf diese Aktionen wird von polkit gesteuert. Insbesondere entsprechen sie den folgenden Aktionen:
org.freedesktop.consolekit.system.stop
org.freedesktop.consolekit.system.restart
org.freedesktop.upower.suspend
org.freedesktop.upower.hibernate
Alle diese Aktionen sind standardmäßig für aktive lokale Benutzer consolekit
zulässig ( schränkt jedoch die ersten beiden Berechtigungen weiter ein, sodass sie nur funktionieren, wenn ein einzelner Benutzer am System angemeldet ist).
Wenn Sie diese Aktionen deaktivieren möchten, erstellen Sie eine Datei, /etc/polkit-1/50-local.d/disable-shutdown.pkla
die Folgendes enthält:
[Disable shutdown/whatever]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.stop;org.freedesktop.consolekit.system.restart;org.freedesktop.upower.suspend;org.freedesktop.upower.hibernate
ResultAny=no
ResultInactive=no
ResultActive=no
Dies sollte verhindern, dass diese Aktionen abgeschlossen werden. Weitere Informationen zu diesen Richtliniendateien erhalten Sie durch Ausführen von man pklocalauthority
.
Wenn Sie jedoch einschränken root
möchten, ist dies nur eine geringfügige Unannehmlichkeit. Per Definition root
handelt es sich um ein uneingeschränktes Konto gemäß dem herkömmlichen UNIX-System für die diskretionäre Zugriffskontrolle. Wenn Sie den Benutzern nicht vertrauen können, auf die Sie vollen root
Zugriff haben, haben Sie größere Probleme, als wenn sie nur das System herunterfahren.
Beachten Sie, dass in späteren Ubuntu-Versionen jemand entschieden hat, die Kompatibilität zu brechen. Wie in Deaktivieren des Herunterfahrens / Neustarts von LightDM in 14.04 beantwortet ? Die Aktion scheint sich in "org.freedesktop. login1 .reboot" (und dergleichen) geändert zu haben .
Beispiel: In 14.04 werden die folgenden Zeilen wie folgt hinzugefügt /etc/polkit-1/localauthority/50-local.d/restrict-login-powermgmt.pkla
:
[Disable lightdm PowerMgmt]
Identity=unix-user:*
Action=org.freedesktop.login1.reboot;org.freedesktop.login1.reboot-multiple-sessions;org.freedesktop.login1.power-off;org.freedesktop.login1.power-off-multiple-sessions;org.freedesktop.login1.suspend;org.freedesktop.login1.suspend-multiple-sessions;org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultAny=no
ResultInactive=no
ResultActive=no
Beachten Sie außerdem, dass diese Methode nur Neustart / etc-Befehle blockiert, die von der GUI ausgegeben werden. Um Neustart- / etc-Befehle von der Befehlszeile aus zu blockieren, kann man molly-guard verwenden - wie unter Deaktivieren des Befehls zum Herunterfahren für alle Benutzer, auch für Root-Benutzer - erläutert .
shutdown
undpm-suspend
von/sbin/
und/bin/