У меня есть пользователь bob
и он член группы разработчиков
.
Я хочу, чтобы все разработчики могли читать, писать и выполнять в каталоге / 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
на / home / testing
выглядит следующим образом:
# file: home/testing
# owner: testing
# group: testing
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:developers:rwx
default:mask::rwx
default:other::r-x
Мне кажется правильным. Кто-нибудь знает, почему я до сих пор получаю ошибку отказа в разрешении при записи в / home / testing
с пользователем bob
?
С этим я разобрался сам. Какая-то глупая ошибка. Я предположил, что setfacl -Rdm
установит набор значений по умолчанию и активных разрешений ACL. Но вместо этого он устанавливает только значения по умолчанию.
Эта команда также была необходима:
setfacl -Rm g:developers:rwx /home/testing
Запуск getfacl
на /home/testing
теперь возвращает следующее:
# file: home/testing
# owner: testing
# group: testing
user::rwx
group::r-x
group:developers:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:developers:rwx
default:mask::rwx
default:other::r-x
Больше никаких ошибок отказа в доступе при записи файлов.