Was ist die „Ubuntu“ -Methode, um zu verhindern, dass bestimmte Benutzer herunterfahren, aussetzen usw.?

21

Auf einem herkömmlichen Unix-System können Benutzer ohne Rootberechtigung dies nicht tun. Was gibt Benutzern diese Möglichkeit in modernen Desktop-Umgebungen und wie kann ich diese Funktion für einzelne Benutzer oder Gruppen deaktivieren?

Ich habe eine großartige Methode gesehen, um zu verhindern, dass jemand herunterfährt / suspendiert. Ich suche jedoch im Idealfall, dass bestimmte Benutzer (z. B. durch Hinzufügen / Entfernen von Benutzern zu einer bestimmten Benutzergruppe) nicht in der Lage sind, ein Herunterfahren durchzuführen , neu starten, anhalten.

thomasrutter
quelle

Antworten:

20

Wie in der anderen Frage erwähnt, können Sie diese Aktionen über das lokale Behördensystem von PolicyKit steuern.

Wenn Sie eine Datei /etc/polkit-1/50-local.d/restrict-shutdown.pklamit folgendem Inhalt erstellen :

[Disable shutdown/etc for group restricted]
Identity=unix-group:restricted
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

Dadurch wird verhindert, dass ein Mitglied der Gruppe restricteddie entsprechenden Aktionen ausführt. Wenn Sie alternativ einzelne Benutzer einschränken möchten, ersetzen Sie unix-group:restricteddurch unix-user:user1;unix-user:user2;.... Jeder Benutzer, dem diese Richtlinie nicht entspricht, sollte das Standardverhalten beibehalten.

James Henstridge
quelle
Funktioniert nicht mehr am 14.04.1.
Detly
0

Erstellen und bearbeiten Sie diese Datei als root:

/etc/polkit-1/localauthority/50-local.d/power-management.pkla

Kopieren Sie Folgendes und fügen Sie es ein:

[Disable shutdown/restart for users jim jane]
Identity=unix-user:jim;unix-user:jane
Action=org.freedesktop.login1.reboot;org.freedesktop.login1.reboot-multiple-sessions;org.freedesktop.login1.power-off;org.freedesktop.login1.power-off-multiple-sessions
ResultAny=no
ResultInactive=no
ResultActive=no

[Disable suspend/hibernate for users jim jane]
Identity=unix-user:a;unix-user:vvpinker
Action=org.freedesktop.login1.suspend;org.freedesktop.login1.suspend-multiple-sessions;org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultAny=no
ResultInactive=no
ResultActive=no
Sepero
quelle