Zuerst erstelle ich eine Datei und überprüfe deren Standardberechtigungen und ACL-Einträge:
$ touch file; ls -l file; getfacl file
-rw-r--r-- 1 user user 0 Jul 30 16:26 file
# file: file
# owner: user
# group: user
user::rw-
group::r--
other::r--
Dann lege ich die ACL-Maske für die Datei fest und überprüfe erneut die Standardberechtigungen und ACL-Einträge:
$ setfacl -m mask:rwx file
$ ls -l file; getfacl file
-rw-rwxr--+ 1 user user 0 Jul 30 16:26 file
# file: file
# owner: user
# group: user
user::rw-
group::r--
mask::rwx
other::r--
Beachten Sie, dass sich zusammen mit der ACL-Maske auch die Standardgruppenberechtigung für die Datei geändert hat.
- Welche Verbindung besteht zwischen ACL-Maske und Standardgruppenberechtigung?
- Was ist der Grund für das Koppeln von ACL-Masken- und Dateigruppenberechtigungen? Welche Logik steckt dahinter?
Die fraglichen Distributionen sind Debian Linux 7.6 und CentOS 7
BEARBEITEN
An dieser Stelle wollte ich nur einige meiner Erkenntnisse mitteilen, die ich bei der Untersuchung der Beziehungen zwischen Standarddateigruppenberechtigungen und ACL-Maske gewonnen habe. Hier sind die empirischen Beobachtungen, die ich gefunden habe:
Die ACL-Maske kann geändert werden:
- durch direktes Setzen mit
setfacl -m m:<perms>
Befehl; - durch Ändern der Dateigruppenberechtigungen mit dem
chmod
Befehl (wenn die ACL-Maske bereits vorhanden ist; sie ist möglicherweise nicht vorhanden, da sie optional ist, wenn für die Datei keine benannten Benutzer- oder Gruppen-ACL-Berechtigungen vorhanden sind); - durch Hinzufügen eines benannten Benutzer- oder Gruppen-ACL-Eintrags (Maske wird automatisch neu berechnet).
- durch direktes Setzen mit
Die Maske erzwingt maximale Zugriffsrechte (wenn ACL-Einträge mit Berechtigungen vorhanden sind, die die ACL-Maskenberechtigungen überschreiten) nur, wenn die Maske direkt von setfacl oder durch Ändern der Dateigruppenberechtigung mit chmod festgelegt wird (nicht automatisch berechnet). Alle Änderungen an ACL-Einträgen lösen die automatische Neuberechnung der ACL-Maske aus und deaktivieren den "Durchsetzungsmodus".
Bei der Verwendung von ACLs treten einige Nebenwirkungen auf, die sich implizit auf die Standardberechtigungen für Dateigruppen auswirken:
- Ein benannter Benutzer- oder Gruppen-ACL-Eintrag, der auf eine Datei angewendet wird, kann die ACL-Maske und damit die effektiven Dateigruppenberechtigungen ändern (die Berechtigungen erhöhen). Wenn Sie als Dateieigentümer beispielsweise die Berechtigung "rw-r - r-- jim students" haben und dem Benutzer "jack" die Berechtigung "rw" erteilen, erteilen Sie implizit auch jedem Benutzer die Berechtigung "rw" aus der Gruppe "Studenten".
- Strengere (weniger Berechtigungen) ACL-Maske kann die entsprechenden Standarddateigruppenberechtigungen dauerhaft entfernen. Wenn Sie beispielsweise eine Datei mit RW-Standarddateigruppenberechtigungen haben und eine schreibgeschützte ACL-Maske auf die Datei anwenden, werden die Gruppenberechtigungen auf schreibgeschützt reduziert. Wenn Sie dann alle erweiterten ACL-Einträge (mit dem
setfacl -b
Befehl) entfernen , bleiben die Gruppenberechtigungen schreibgeschützt. Dies gilt nur für eine strengere ACL-Maske. Eine weichere ACL-Maske (mehr Berechtigungen) ändert die ursprüngliche Dateigruppenberechtigung nach dem Entfernen nicht dauerhaft.