Linux und Ich

Blog über Ubuntu, Linux, Android und IT

Lizenziert unter CC by-sa von Maldita la hora auf Flickr

Shutdown für unprivilegierten Benutzer unter Jaunty mit PolicyKit

| Keine Kommentare

Zu Ubuntu Jaunty 9.04 habe ich ja schon ein bisschen was geschrieben, doch nach und nach finde ich immer mehr Details, die mir so richtig gut gefallen. Ein Beispiel dafür ist die immer weiter fortschreitende Integration von PolicyKit in GNOME.

Folgender Use-Case war bislang nicht (oder nur umständlich) zu lösen: Auf einem Desktop-System existieren mehrere Benutzer. Ein User mit administrativen Rechten (er steckt also in der “admin”-Gruppe und kann Befehle mittels sudo mit Root-Rechten ausführen) und weitere Benutzer ohne administrative Rechte.

Loggen sich nun mehrere Benutzer auf dem System ein – entweder via SSH oder über das “Benutzerwechsel-Applet” – so können/konnten die normalen Desktop-User den Rechner nicht mehr herunterfahren. Wenn sie es dennoch probierten, so erschien eine Meldung von PolicyKit über die ein Benutzer mit administrativen Rechten die Auktion autorisieren konnte. Ohne einen Admin blieb der Rechner an.

Meldung beim Herunterfahren, wenn weitere Benutzer angemeldet sind.

Meldung beim Herunterfahren, wenn weitere Benutzer angemeldet sind.

Ein Desktop-Benutzer benötigte also immer einen “Admin”, um den Rechner in so einem Fall herunterfahren zu können. Es war bislang nicht möglich einem Benutzer mit eingeschränkten Rechten nur das Herunterfahren zu erlauben. Man stand also vor der Entscheidung “Entweder gibt man allen Benutzern Root-Rechte, oder der Rechner bleibt ab und zu an”… (OK, ich weiß dass man die /etc/sudoers mit sudo visudo bearbeiten könnte und hier unprivilegierten Benutzern erlauben könnte shutdown und reboot ausführen zu dürfen, aber das involviert das Terminal und ich meine ein Desktop-System darf nicht ein Terminal brauchen, um abgeschaltet werden zu können…)

Dies ändert sich nun endlich mit Jaunty, wo das Fast-User-Switch-Applet gelernt hat mit PolicyKit umzugehen. Dazu öffnet man die Verwaltung der Zugriffsberechtigungen über “System -> Systemverwaltung -> Zugriffsberechtigungen” und sucht nach den Schlüsseln

  • org.freedesktop.hal.power-management.shutdown
  • org.freedesktop.hal.power-management.shutdown-multiple-sessions

Über “Hinzufügen” kann man nun Benutzern erlauben den Rechner abzuschalten bzw. neuzustarten, auch wenn weitere Sitzungen aktiv sind.

Benutzer das Herunterfahren erlauben, auch wenn mehrere Benutzer angemeldet sind.

Benutzer das Herunterfahren erlauben, auch wenn mehrere Benutzer angemeldet sind.

Die Änderung ist sofort aktiv. In diesem Beispiel könnte nun der Benutzer “Test” den Rechner herunterfahren. Es lohnt sich ein bisschen durch den PolicyKit-Manager zu zappen. Es gibt zahlreiche Schlüssel wie Prozessortaktstufen ändern, Systemzeit ändern, Aushängen von fremden gemounteten Datenträgern, Wechselmedien auswerfen usw. mit denen man unprivilegierten Benutzern nützliche Rechte einräumen kann, ohne sie gleich zu Administratoren zu machen. Fehlt nur noch ein Nautilus mit PolicyKit-Unterstützung

Autor: Christoph

Hallo, ich bin Christoph -- Linux-User, Blogger und pragmatischer Fan freier Software. Wie Ihr ohne Zweifel bemerkt haben solltet schreibe ich hier über Linux im Allgemeinen, Ubuntu im Speziellen, sowie Android und andere Internet-Themen. Wenn du Freude an meinen Artikel gefunden haben solltest, dann kannst du mir über Facebook, Google+ oder Twitter oder natürlich dem Blog folgen.

Hinterlasse eine Antwort

Auf Linux und Ich darf anonym kommentiert werden. Die Felder für Name und E-Mail-Adresse dürfen beim Eintragen eures Kommentars leer bleiben. Ich freue mich aber über jeden Kommentar, zu dem der Autor mit seinem Namen steht.