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.
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.
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…