Häppchenweise
Desktop-Sicherheit mit Sudo und Policykit
Klicklos
Auch wenn die Bearbeitung grundsätzlich mit jedem Texteditor möglich wäre, sollten Sie die Konfigurationsdaten von Policykit nur mit den dafür vorgesehenen Werkzeugen Polkit-auth und Polkit-action editieren.
Jeder lokal angemeldete Benutzer darf in der Grundeinstellung nach der einmaligen Eingabe seines Passworts die Zeitzone wechseln. Als Anwendungsbeispiel soll die Berechtigung so geändert werden, dass er das Passwort bei jeder Änderung eingeben muss. Dazu führen Sie im Terminal das folgende Kommando aus:
$ polkit-auth --obtain org.freedesktop.policykit.modify-defaults
Da nur der Administrator Default-Einstellungen ändern darf, fragt das System für die Freigabe dieser Aktion das Administratorkennwort ab. Bei erfolgreicher Authentisierung besitzt die aktuelle Bash-Sitzung das Recht, Änderungen an der Policykit-Konfiguration vorzunehmen. Mit dem folgenden Befehl setzen Sie die Standardeinstellung der lokalen Konsole auf "Authentisieren":
$ polkit-action --set-default-active org.gnome.clockapplet.mechanism.settimezone auth_self
Das Ergebnis überprüfen Sie entweder im grafischen Konfigurationsmenü oder im Terminal. Ob die Dateien nach einem solchen Eingriff noch fehlerlos sind, zeigt die Eingabe von polkit-policy-file-validate /usr/share/Policykit/policy/Konfigurationsobjekt
.policy im Terminal. Eine Nachricht über den Systembus (D-Bus) an das Clock-Applet versucht, die Zeitzone zu wechseln und scheitert zunächst an der Autorisierung (Listing 1)
$ dbus-send --system --dest=org.gnome.ClockApplet.Mechanism / org.gnome.ClockApplet.Mechanism.SetTimezone string:/usr/share/zoneinfo/Europe/London Error org.gnome.ClockApplet.Mechanism.NotPrivileged: org.clockapplet.mechanism.settimezone auth_self <-- (action, result)
Die Autorisierung setzen Sie, wie bereits bekannt, mit polkit-auth --obtain org.gnome.clockapplet.mechanism.settimezone. Hier wird jetzt das Passwort abgefragt und für die aktuelle Bash-Sitzung hinterlegt. Senden Sie nun die Nachricht erneut an das Clock-Applet, klappt die Umstellung der Zeitzone.
Überzeugungsarbeit
Da Anwendungen die Kommunikation über den Systembus oder über Libpolkit unterstützen müssen, greifen viele Regeln des Policykits noch ins Leere. Dennoch bringt das Verwenden von Policykit bereits viele Vorteile. Das betrifft nicht nur die Sicherheit, auch die Stabilität des Systems lässt sich durch ein einheitliches Interface erhöhen. Die Standardkonfiguration erscheint bereits recht gut gelungen, da sie nur dann Passwörter abfragt, wenn das auch notwendig ist.
Das Nutzen der Kommandozeilentools gestaltet sich allerdings recht mühsam, wenn man über den Systembus kommunizieren muss: Man bekommt die Informationen zu den einzelnen Diensten und Nachrichten nicht gerade auf dem Präsentierteller serviert. Hier erweist sich der Einsatz von Sudo als wesentlich einfacher und auch flexibler.
[1] Policykit-Referenzhandbuch (englisch): http://hal.freedesktop.org/docs/Policykit/
[2] Die Freedesktop.org-Plattform: http://www.freedesktop.org



