Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:file-acl

Sind acls im Dateisystem nutzbar?

Bei ext4 und xfs sind ACLs per default aktiviert

Für ext[234] default Mount-Optionen auslesen:

tune2fs -l /dev/sdXX | grep '^Default mount options'

Default Mask setzen

setfacl -m "d:u::rwx,d:g::rwx,d:o::-" projekte2/

Alternative Syntax

setfacl -d -m "u::rwx,g::rwx,o::-" projekte2/

setzt die default-mask auf ug=rwx,o= unter Umgehung der umask

ACL hinzufügen

Michelle darf alles hier:

setfacl -m 'u:michelle:rwx' projekte2/
getfacl projekte2/

"vererbbare" ACL hinzufügen

Michelles Rechte werden weitergegeben bei Neuanlage von Dateiobjekten

setfacl -d -m 'u:michelle:rwx' projekte2/

Aufgaben

groupadd group1
groupadd group2
groupadd group3
useradd -m -s /bin/bash test1 -G group1,group2,group3
useradd -m -s /bin/bash test2 -G group1,group2
useradd -m -s /bin/bash test3 -G group1
touch /tmp/acltest
chown test1:group3 /tmp/acltest
chmod ug=rw,o= /tmp/acltest
setfacl -m g:group2:r,g:group1:w /tmp/acltest
lesen? schreiben?
test1 _ _
test2 _ _
test3 _ _
setfacl -m m:r-- /tmp/acltest
lesen? schreiben?
test1 _ _
test2 _ _
test3 _ _
setfacl -m g:group3:- /tmp/acltest
lesen? schreiben?
test1 _ _

Dateien mit ACLs finden

getfacl --recursive --skip-base startVerzeichnis | awk '/^# file:/ { print substr($0, 9) }'

--recursive oder -R arbeitet rekursiv, --skip-base oder -s lässt Dateien weg, die lediglich die Standardeinträge haben (von chmod).

Fallen/Todos

  • gelöschte Benutzer/Gruppen in File-ACLs: wie finde ich die?

Doku

ACLs werden grundsätzlich in zwei Klassen eingeteilt. Eine minimale ACL besteht ausschließlich aus den Einträgen vom Typ owner (Besitzer), owning group (Besitzergruppe) und other (Andere), und entspricht den herkömmlichen Berechtigungsbits für Dateien und Verzeichnisse. Eine erweiterte (engl. extended) ACL geht über dieses Konzept hinaus. Sie muss einen mask (Maske) Eintrag enthalten und darf mehrere Einträge des Typs named user (namentlich gekennzeichneter Benutzer) und named group (namentlich gekennzeichnete Gruppe) enthalten. Die Tabelle fasst die verschiedenen verfügbaren Typen von ACL-Einträgen zusammen:

Typ Textform
owner user::rwx
named user user:name:rwx
owning group group::rwx
named group group:name:rwx
mask mask::rwx
other other::rwx

In den Einträgen owner und other festgelegte Rechte sind immer wirksam. Vom mask Eintrag abgesehen, können alle übrigen Einträge (named user, owning group und named group) entweder wirksam oder maskiert werden. Sind Rechte sowohl in einem der oben genannten Einträge als auch in der Maske vorhanden, werden sie wirksam. Rechte, die nur in der Maske oder nur im eigentlichen Eintrag vorhanden sind, sind nicht wirksam.

Typ Textform Rechte
named user user:jane:r-x r-x
mask mask::rw- rw-
Wirksame Berechtigungen: r–

Grundsätzlich werden ACL-Einträge in folgender Reihenfolge untersucht: owner, named user, owning group oder named group und other. Über den Eintrag, der am besten auf den Prozess passt, wird schließlich der Zugang geregelt. Komplizierter werden die Verhältnisse, wenn ein Prozess zu mehr als einer Gruppe gehört, also potenziell auch mehrere group Einträge passen könnten. Aus den passenden Einträgen mit den erforderlichen Rechten wird ein beliebiger ausgesucht. Für das Endresultat „Zugriff gewährt“ ist es unerheblich, welcher dieser Einträge den Ausschlag gegeben hat. Enthält keiner der passenden group Einträge die korrekten Rechten, gibt wiederum ein beliebiger von ihnen den Ausschlag für das Endresultat „Zugriff verweigert“.

admin_grundlagen/file-acl.txt · Zuletzt geändert: 2026/02/19 15:56 von ingo_wichmann