Alternativer Titel: "Problem gelöst...Jetzt erst recht!". Gestern erreichte mich ein Kommentar, was mich dazu brachte erneut über diesen merkwürdigen Bug "Not authorized" nachzudenken. Egal wie ich es anstellte, sobald ich versuchte etwas in Thunar als normaler Nutzer zu mounten, wurde ich mit einer Meldung von PolicyKit abgewimmelt.
Das Problem hat zwei Dimensionen. Zum einen scheint der Bug mit der Wahl des Loginmanagers zusammen zuhängen. Slim erkennt oder wählt hier zumindest nicht die richtigen Einstellungen, damit PolicyKit die Rechte für die einzelnen Nutzer des Systems setzen kann. Auch mit einer Lösung ohne Loginmanager hatte ich keinen Erfolg. Man könnte z.B. mit der xinitrc-Methode ebenfalls in eine grafische Desktopumgebung starten:
exec ck-launch-session dbus-launch openbox-session
Ich schaute mir noch einmal den entsprechenden Debian-Fehlerbericht an. Der letzte Eintrag verweist dabei auf den Loginmanager lightdm. Lightdm scheint ziemlich neu zu sein, denn es gibt keine Version für Squeeze. Er selbst nennt sich kompatibel mit aktuellen Entwicklungen von PolicyKit und PAM. Vielleicht hatte ich hier mehr Glück.
Tatsächlich lassen sich nach einer Installation von Lightdm wieder externe Speichermedien ohne Probleme auch in Thunar mounten. Nur die restriktive Einstellung, dass lediglich Administratoren interne Partitionen oder Medien mounten konnten, gefiel mir noch nicht richtig.
Damit auch interne Laufwerke oder Partitionen ohne die Rechte eines Admins eingehängt werden können, genügt ein kleiner Eintrag in /etc/polkit-1/localauthority/50-local.d/10-udisks.pkla.
Die Textdatei kann beliebig benannt werden. Wichtig ist nur, dass der Dateiname auf .pkla endet. Mehr Informationen dazu gibt es auch mit man pklocalauthority. Interessanterweise schlägt ubuntu.com vor, dass man den Nutzer zur Admingruppe hinzufügen sollte, wenn man interne Datenträger mounten möchte. Ich sehe dabei das Problem, dass dadurch auch andere Aktionen möglich werden, die besser nur durch root ausgeführt werden und nicht durch irgendeinen Benutzer auf dem System.
Am Ende erstellte ich die Datei 10-udisks.pkla mit folgendem Inhalt
[Storage Permissions] Identity=unix-group:disk Action=org.freedesktop.udisks.filesystem-mount;org.freedesktop.udisks.filesystem-mount-system-internal;org.freedesktop.udisks.filesystem-unmount-others;org.freedesktop.udisks.drive-eject;org.freedesktop.udisks.drive-detach;org.freedesktop.udisks.luks-unlock;org.freedesktop.udisks.inhibit-polling;org.freedesktop.udisks.drive-set-spindown ResultAny=no ResultActive=yes ResultInactive=no
Fügt man den normalen Benutzer zur Gruppe "disk" hinzu, kann dieser ab sofort wieder Partitionen oder Speichermedien auch intern mounten. PolicyKit ist sicher eine fortgeschrittene Möglichkeit Benutzerrechte zu definieren und diese auf verschiedene Anwendungen anzuwenden. Leider ist die Dokumentation zu sehr auf Entwickler ausgelegt. Als Endanwender erschließen sich manche Entscheidungen von Debian und PolicyKit nicht auf den ersten Blick. Danke auch für die Hinweise an diesen Post im Forum von Arch Linux.
Wem Debians restriktive Politik beim Mounten von Datenträgern bisher missfallen hat, kann mit einer kleinen Änderung dieses Verhalten schnell ändern. Man muss vorher nur wissen, dass es mit PolicyKit zu tun hat. 😉