Ich versuche, dieses Unix-Verhalten zu verstehen (das ich gerade unter Ubuntu 11.10 teste):
$ touch foo
$ setfacl -m u:nobody:rwx foo
$ getfacl foo
# file: foo
# owner: michael
# group: michael
user::rw-
user:nobody:rwx
group::rw-
mask::rwx
other::r--
$ chmod g-rw foo
$ getfacl foo
# file: foo
# owner: michael
# group: michael
user::rw-
user:nobody:rwx #effective:--x
group::rw- #effective:---
mask::--x
other::r--
Beachten Sie, dass der Befehl chmod (1) die ACL-Maske aktualisiert hat. Warum passiert das?
Die SunOS-Manpage hat Folgendes zu sagen:
Wenn Sie den Befehl chmod (1) verwenden, um die Dateigruppenbesitzerberechtigungen für eine Datei mit ACL-Einträgen zu ändern, werden sowohl die Dateigruppenbesitzerberechtigungen als auch die ACL-Maske in die neuen Berechtigungen geändert. Beachten Sie, dass die neuen ACL-Maskenberechtigungen möglicherweise die effektiven Berechtigungen für zusätzliche Benutzer und Gruppen ändern, für die ACL-Einträge in der Datei vorhanden sind.
Ich frage, weil es für mich praktisch wäre, wenn chmod (1) dieses Verhalten nicht hätte. Ich hoffe, dass ich, wenn ich verstehe, warum es das tut, was es tut, besser gestalten kann, wie ich Dateisystemberechtigungen einrichte.