Ich habe folgendes Problem und leider im Netz nach langer Suche keine Lösung gefunden.
Auf meinem System wird ein "Kiosk-User" betrieben, d.h. er findet immer einen unveränderten Desktop vor. Er kann aber Änderungen vornehmen, die allerdings nach Logout/Reboot verworfen werden. Hierzu habe ich basierend auf einem c't-Artikel ein aufs-Mount verwendet und mit entsprechenden Skripten die Löschung der Änderungen realisiert.
Soweit hat dies mit der 11.04 wunderbar funktioniert, da alle Verbindungskonfigurationen, die ein User selbst angelegt hatte im .gconf-Ordner abgelegt wurden.
Leider wurden mit den neuere Version die Konfigurationsdateien in /etc/NetworkManager/system-connections
verschoben und das Verhalten des NetworkManager gleich mit.
Man kann zwar in der Datei /usr/share/polkit-1/actions/org.freedesktop.NetworkManger.policy
Rechte für die Netzwerkverbindungen vergeben.
Diese greifen aus meiner Sicht aber nicht so, wie sie es vorgeben. Ich habe diese beiden policies benutzt:
org.freedesktop.NetworkManager.settings.modify.own
org.freedesktop.NetworkManager.settings.modify.system
gefunden und versucht durch die folgende Einstellung das gewünschte Verhalten herzustellen:
<action id="org.freedesktop.NetworkManager.settings.modify.own"> <description>Modify personal network connections</description> <description xml:lang="de">Eigene Netzwerkverbindungen bearbeiten</description> <message>System policy prevents modification of personal network settings</message> <message xml:lang="de">Die Systemrichtlinien verhindern das Bearbeiten von eigenen Netzwerkeinstellungen</message> <defaults> <allow_inactive>no</allow_inactive> <allow_active>yes</allow_active> </defaults> </action> <action id="org.freedesktop.NetworkManager.settings.modify.system"> <description>Modify network connections for all users</description> <description xml:lang="de">Netzwerkverbindungen für alle Benutzer bearbeiten</description> <message>System policy prevents modification of network settings for all users</message> <message xml:lang="de">Die Systemrichtlinien verhindern das Bearbeiten von Netzwerkeinstellungen für alle Benutzer</message> <defaults> <allow_inactive>no</allow_inactive> <allow_active>no</allow_active> </defaults> </action>
Leider ohne Erfolg. Sobald ich bei settings.modify.system
den Wert allow_active
auf no
setze, kann nicht priveligierter User gar nichts mehr ändern. Lass ich ihn auf yes
, dann
kann der Kiosk-User zwar Verbindungen anlegen, allerdings auch wahllos fremde Verbindungen löschen. Setze ich den Wert auf auth_admin
, dann muss der User root-Rechte haben, sonst kann
die Änderungen nicht abspeichern.
Der Kiosk-User soll Folgendes tun dürfen: - neue Netzwerkverbindungen via NetworkManager anlegen und verändern (nur eigene) - nach dem Logout sollen diese Verbindungen gelöscht werden (kann ich theoretisch durch ein Skript bei Logout lösen) - keine Änderungen an fremden Verbindungen vornehmen, die andere angelegt haben (insbesondere nicht löschen)
Leider kann ich mit den bisher gefundenen Lösungen nur "alles" zu lassen oder gar nichts bzw. nur mit root-Rechten. Ich habe zwar Foreneinträge zu polkit und den NetworkManager gefunden, leider bezogen die sich alle auf das einfache Single-User-Freigabe-Problem, dass man schnell gelöst hat.
Will ich zu viel? Hat jemand eine Idee?
Beste Grüße Richard