У меня есть пользовательский bob
и он является членом группы developers
.
Я хочу, чтобы все разработчики могли читать, писать и выполнять в каталоге /home/testing
и во всех подкаталогах. Каталог /home/testing
принадлежит testing
пользователя и относится к групповому testing
.
Для этого я сделал следующее:
# Create the developers group and add bob to it groupadd developers useradd -G developers bob # Clear out any existing ACLs recursively setfacl -Rb # Give the developers group read, write and execute permissions recursively (and by default) on the selected directory and all subdirectories. setfacl -Rdm g:developers:rwx /home/testing
После внесения этих изменений я вышел из системы и вернулся с помощью пользователя bob
. Однако пользовательский bob
все еще не может записывать файлы, находящиеся в /home/testing
или любой подкаталог. Я получаю отказ в разрешении.
Выполнение getfacl
on /home/testing
выглядит следующим образом:
# file: home/testing # owner: testing # group: testing user::rwx group::rx other::rx default:user::rwx default:group::rx default:group:developers:rwx default:mask::rwx default:other::rx
по# file: home/testing # owner: testing # group: testing user::rwx group::rx other::rx default:user::rwx default:group::rx default:group:developers:rwx default:mask::rwx default:other::rx
по# file: home/testing # owner: testing # group: testing user::rwx group::rx other::rx default:user::rwx default:group::rx default:group:developers:rwx default:mask::rwx default:other::rx
по# file: home/testing # owner: testing # group: testing user::rwx group::rx other::rx default:user::rwx default:group::rx default:group:developers:rwx default:mask::rwx default:other::rx
по# file: home/testing # owner: testing # group: testing user::rwx group::rx other::rx default:user::rwx default:group::rx default:group:developers:rwx default:mask::rwx default:other::rx
Похоже на меня. Кто-нибудь знает, почему я все еще получаю отказ в разрешении при записи в /home/testing
с помощью пользователя bob
?
Выяснил это один сам. Немного ошибочно. Я предположил, что setfacl -Rdm
установит набор значений по умолчанию и активных разрешений ACL. Но вместо этого он устанавливает только значения по умолчанию.
Эта команда также была необходима:
setfacl -Rm g:developers:rwx /home/testing
Выполнение getfacl
on /home/testing
теперь возвращает следующее:
# file: home/testing # owner: testing # group: testing user::rwx group::rx group:developers:rwx mask::rwx other::rx default:user::rwx default:group::rx default:group:developers:rwx default:mask::rwx default:other::rx
по# file: home/testing # owner: testing # group: testing user::rwx group::rx group:developers:rwx mask::rwx other::rx default:user::rwx default:group::rx default:group:developers:rwx default:mask::rwx default:other::rx
по# file: home/testing # owner: testing # group: testing user::rwx group::rx group:developers:rwx mask::rwx other::rx default:user::rwx default:group::rx default:group:developers:rwx default:mask::rwx default:other::rx
по# file: home/testing # owner: testing # group: testing user::rwx group::rx group:developers:rwx mask::rwx other::rx default:user::rwx default:group::rx default:group:developers:rwx default:mask::rwx default:other::rx
по# file: home/testing # owner: testing # group: testing user::rwx group::rx group:developers:rwx mask::rwx other::rx default:user::rwx default:group::rx default:group:developers:rwx default:mask::rwx default:other::rx
И больше не разрешено отклонять ошибки при записи файлов.