web-dev-qa-db-de.com

Wie greife ich als Gastbenutzer auf gemountete Dateisysteme zu?

In Ubuntu 11.04 konnte ich ein Dateisystem in/media/foo mounten und chown guest:guest /media/foo/bar -R ausführen und vollen Zugriff auf das Gastkonto haben. Nach dem Upgrade auf 12.04 habe ich meine Routine geändert, um die neuen Gastbenutzernamen (chown guest[id]:guest[id] /media/foo/bar -R) wiederzugeben, kann aber immer noch nicht als Gastbenutzer darauf zugreifen, da ich keine Zugriffsrechte für/media als Gast habe:

ls: Verzeichnis/Medium kann nicht geöffnet werden: Berechtigung verweigert

(Sehr interessanterweise funktioniert das, wenn ich su in das Gastkonto als root einbinde). Ich verstehe, dass dies als Sicherheitsmaßnahme gemeint ist, aber ich verstehe nicht, wie es gemacht wird. ls -l / berichtet

drwxr-xr-x  11 root root  4096 Sep  9 22:28 media

Daher meine beiden Fragen: Wie funktioniert diese Einschränkung und wie kann ich als Gastbenutzer auf ein bereitgestelltes Dateisystem zugreifen, ohne den Zugriff auf alle anderen bereitgestellten Dateisysteme zuzulassen?

5
Perseids

Der Zugriff auf /media wird durch das AppArmor-Profil /etc/apparmor.d/lightdm-guest-session eingeschränkt. Es gibt zwei Ausnahmen (Zeilen 31 und 32):

 owner /media/ r,
 owner /media/** rmwlixk,  # we want access to USB sticks and the like

Dies ermöglicht den Zugriff, wenn /media/foo im Besitz von guest [id] ist. Dies ist die erste Alternative, um mein Problem zu lösen. Der Nachteil ist, dass das Gastkonto beliebige Verzeichnisse und Dateien im Stammverzeichnis von/media/foo erstellen kann. Ich entschied mich explizit für ein Loch für /media/foo/bar und fügte die Zeilen hinzu:

 owner /media/foo/bar rw,

Eine Beschreibung der Syntax finden Sie hier: http://doc.opensuse.org/documentation/html/openSUSE/opensuse-security/cha.apparmor.profiles.html

Meines Wissens erlaubt dies der Gastsitzung nur den Zugriff auf /media/foo/bar und nur, wenn guest [id] der Eigentümer von bar ist. Beachten Sie, dass Gast [ID] immer noch nicht auf /media/foo selbst zugreifen kann. So wird ls /media/foo fehlschlagen, aber ls /media/foo/bar funktioniert.

Zuletzt reload das Profil, damit die Änderungen wirksam werden:

 Sudo apparmor_parser -r /etc/apparmor.d/lightdm-guest-session
5
Perseids