Kapitel 35. Access Control Lists unter Linux

Inhaltsverzeichnis

35.1. Warum ACLs?
35.2. Definitionen
35.3. Umgang mit ACLs
35.4. Unterstützung in Anwendungen
35.5. Weitere Informationen

Zusammenfassung

Dieses Kapitel gibt einen kurzen Einblick in die Hintergründe und Funktionsweise von POSIX ACLs (Access Control Lists) für Linux-Dateisysteme. ACLs können als Erweiterung des traditionellen Konzepts von Benutzerrechten für Dateisystemobjekte eingesetzt werden. ACLs erlauben es jedoch, solche Rechte auf eine wesentlich flexiblere Art und Weise festzulegen als nach dem traditionellen Schema.

Der Ausdruck POSIX ACL suggeriert, dass es sich um einen echten Standard gemäß POSIX (Portable Operating System Interface) handelt. Aus verschiedenen Gründen wurden die betreffenden Standardentwürfe POSIX 1003.1e und POSIX 1003.2c zurückgezogen. ACLs unter vielen UNIX-artigen Betriebssystemen basieren allerdings auf diesen Entwürfen. Die in diesem Kapitel beschriebene Implementierung von Dateisystem-ACLs folgt den Inhalten dieser beiden Dokumente, die Sie unter folgender URL einsehen können: http://wt.xpilot.org/publications/posix.1e/

35.1. Warum ACLs?

Traditionell sind für jedes Dateisystemobjekt unter Linux drei Sets von Berechtigungen definiert. Diese Sets geben die Lese- (r), Schreib- (w) und Ausführbarkeitsrechte (x) für die drei Benutzerklassen des Besitzers der Datei (engl. owner), der Gruppe (engl. group) und aller übrigen Benutzer (engl. other) wieder. Zusätzlich können noch die Rechte set user id, set group id und sticky gesetzt werden. Für die meisten in der Praxis auftretenden Fälle reicht dieses schlanke Konzept völlig aus. Für komplexere Szenarien oder fortgeschrittenere Anwendungen mussten Systemadministratoren zuvor eine Reihe von Tricks anwenden, um die Einschränkungen des traditionellen Rechtekonzepts zu umgehen.

In Situationen, in denen das traditionelle Dateirechte-Konzept nicht ausreicht, helfen ACLs. Sie erlauben es, einzelnen Benutzern oder Gruppen Rechte zuzuweisen, auch wenn diese nicht mit dem Eigentümer oder der Gruppe einer Datei übereinstimmen. Access Control Lists sind ein Feature des Linux-Kernels und werden zur Zeit von ReiserFS, Ext2, Ext3, JFS und XFS unterstützt. Mit ihrer Hilfe können komplexe Szenarien umgesetzt werden, ohne dass auf Applikationsebene komplexe Rechtemodelle implementiert werden müssten.

Die Vorzüge von Access Control Lists zeigen sich deutlich, wenn zum Beispiel ein Windows-Servers gegen einen Linux-Server ausgetauscht werden soll. Manche der angeschlossenen Workstations werden auch nach dem Umstieg weiter unter Windows betrieben werden. Das Linux-System bietet den Windows-Clients via Samba Datei- und Druckserver-Dienste an. Da Samba Access Control Lists unterstützt, können Benutzerrechte sowohl auf dem Linux-Server als auch über eine grafische Benutzeroberfläche unter Windows (nur Windows NT und höher) eingerichtet werden. Über den winbindd ist es sogar möglich, solchen Benutzern Rechte einzuräumen, die in der Windows-Domain existieren, aber auf dem Linux-Server über keinen Account verfügen.


SUSE LINUX Administrationshandbuch 9.3