У меня свежая установка Scientific Linux 6, и я немного играю с acls. Все файловые системы - ext4.
В этом конкретном случае я думаю, что настроил acl так, чтобы любой пользователь в группе администратора имел доступ rwx к / usr / src.
# setfacl -R -m d:g:admin:rwx /usr/src
# exit
exit
[~]$ getfacl /usr/src
getfacl: Removing leading '/' from absolute path names
# file: usr/src
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:admin:rwx
default:mask::rwx
default:other::r-x
Однако при выходе из системы и обратно:
[~]$ touch /usr/src/test
touch: cannot touch `/usr/src/test': Permission denied
Этот пользователь находится в группе администраторов:
[~]$ id
uid=500(xx) gid=500(xx) groups=500(xx),997(admin)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Теперь я вижу, что "группа" r-x
, но я понимаю, что это относится только к собственному гиду (в данном случае 500).
Итак, что я здесь делаю не так или по другим причинам упускаю?
У вас есть контекст SELinux, поэтому я не исключаю, что SELinux блокирует вам запись в /usr/src
(проверьте соответствующие сообщения в audit.log).
Однако для самого ACL default:
ACL в каталоге используются для объектов, которые вы создаете в этом каталоге, поэтому d:g:admin:rwx
означает, что вещи, созданные в каталоге, будут доступны для записи администратору, а не то, что сам каталог доступен для записи группе администраторов. Просто попробуй g:admin:rwx