Linux Access Control List HowTo

(Last Updated On: 28. April 2015)

Access Control Listen sind ein mechanismus, um Rechte auf Dateien und Ordner für jeden einzelnen Nutzer vergeben, und nicht mehr nur für den Bestzer, dessen Gruppe und für alle anderen. Wie unter Windows gewohnt:

2015-04-28_15h12_50

können wir mit ACLs auch in der Unix-Welt für jeden einzelnen Benutzer und für verschiedene Gruppen Rechte vergeben.

verwechseln Sie Linux-ACLs nicht mit den Berechtigungs-ACLs auf einem NTFS-Dateisystem. Sie können die weiter unten beschriebenen Linux-ACLs nicht auf ein NTFS-Dateisystem anwenden!  Genau so wenig übrigens, wie Sie theoretisch die Linux-chmod- und chown-Befehle auf ein NTFs-Dateisystem anwenden können. Denn das im Hintergrund passiert, wenn sie diese anwenden ist, dass die gesetzten chmod-Berechtigungen einfach in eine NTFS-ACL übersetzt werden. Diese NTFS-ACL ist, genau wie eine Linux-ACL, im Dateisystem versteckt. Sie können aber umgekehrt die NTFS-ACL auf einem NTFs-Dateisystem unter Linux anwenden, um Berechtigungen auf dem NTFs-Dateisystem zu steuern. Jedoch können Sie keine NTFS-ACL und eine Linux-ACL miteinander kombinieren. Das heißt: die unten vorgestellten Linux-ACLs funktionieren nur auf typischen Unix-Dateisystemen wie beispielsweise ext3 / ext4.

Wenn Sie wissen wollen, wie Sie eine NTFS-ACL so konfigurieren, dass Sie beispielsweise bei einer externen Festplatte die Berechtigungen für den Dateizugriff sowohl für die Windows-Benutzer des einen als auch für die Linux-Benutzer des anderen Systems setzen, müssen Sie sich einen anderen Blogpost von mir ansehen.

Standardmäßig kann man auf kein Dateisystem in einem unix/Linux-System ACLs anwenden. Man muss diese vorher mit der acl-Option mounten.. Mit der Datei /etc/fstab können wir einen Datenträger permanent und bei jedem Systemstart automatisch mit der ACL-Option mounten. Ausnahme sind Dateissteme, bei denen die acl-option automatisch eingestellt ist – solche Dateisysteme sind Btrfs und möglicherweise ext-Dateisysteme.

um zu prüfen, ob eine ext-formatierte Datenpartition derzeit mit acl-Unterstützung gemountet ist, einfach folgenden Befehl ausführen:

# tune2fs -l /dev/sdXY | grep "Default mount options:"
#ausgabe
Default mount options:    user_xattr acl
#zusätzlich über cat /proc/mounts prüfen, ob die einstellung nicht irgendwo mit noacl überschrieben wird

Mit tune2fs können wir die STandardmountoption für ein Filesystem setzen. Um also die acl-Option hinzuzufügen, geben wir ein

# tune2fs -o acl /dev/sdXY

Damit ist diese Standard-Einstellung im Dateisystem selbst gespeichert. das heißt, wenn wir die acl-option mit tune2fs setzen, können wir eine externe Festplatte beispieslweise auch an anderen Rechnern anschließen – und diese wird dann automatisch mit ACL-support gemountet. Ansonsten müssten wir auf allen Rechnern, in denen wir die platte anschließen, die /etc/fstab editieren.

Nachdem sie nun das Dateisystem mit acl-support gemountet haben, können Sie die ACL-Berechtigungen für einen USer folgendermaßen setzen:

setfacl -m "u:<username>:<berechtigungen" <dateiname>
#oder
setfacl -m "u:<user-id>:<berechtigungen"> <dateiname>

und für eine Gruppe:

setfacl -m "g:<gruppenname>:<berechtigungen" <dateiname>
#oder
setfacl -m "g:<gruppen-id>:<berechtigungen" <dateiname>

Beispiel

setfacl -m "u:johny:rwx" abc

Wenn Sie das selbe Kommando neu ausführen, könenn Sie die alten Berechtigungen für einen User oder eine Gruppe überschreiben.

Sie können scih alle acl-Berechtigungen für eine Datei anzeigen lassen über

getfacl <dateiname>

Und mit folgendem kommando können Sie mit einem einzigen Schlag für alle Dateien entfernen:

setfacl -b

oder nur alle ACL-Berechtigungen für eine Datei entfernen:

setfacl -b <dateiname>

Sie erkennen nun, ob für eine Datei eine ACL exisitert, indem sie in der Ausgabe von ls -l aufpassen, ob es nach den chmod-Berechtigungen ein plus-Zeichen gibt

crw-rw----+ 1 root

das plus zeigt an, dass es zusätzlich zu den chmod-Dateiberechtigungen eine ACL für diese Datei gibt.

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

DaFRK

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

Das könnte Dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.