Я намагаюся зрозуміти цю поведінку Unix (яку я, здається, тестую на Ubuntu 11.10):
$ 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--
Зауважте, що команда chmod (1) оновила маску ACL. Чому це відбувається?
На сторінці сторінки SunOS слід сказати:
Якщо ви використовуєте команду chmod (1) для зміни дозволів власника групи файлів на файл із записами ACL, і права власника групи файлів, і маска ACL змінюються на нові дозволи. Пам’ятайте, що нові дозволи дозволу на маску ACL можуть змінити ефективні дозволи для додаткових користувачів та груп, які мають у програмі записи ACL.
Я запитую, бо мені було б зручно, якби chmod (1) не мав такої поведінки. Я сподіваюся, що розуміючи, чому він робить те, що робить, я зможу краще спроектувати, як налаштувати дозволи файлової системи.