ACL несколько групп по умолчанию?
С Linux ACL, вы можете иметь несколько групп с доступом по умолчанию к папке? Я хочу это для совместного использования хранилищ кода между различными группами кодирования + несколькими процессами. Я думаю, что если пользователь из одной группы создает содержимое в общем хранилище, даже если владельцем является этот пользователь, разрешения по умолчанию распространяются на этот новый файл, и другие пользователи все еще могут получить доступ к содержимому.
Вот что я попробовал как root:
mkdir / tmp / temp CHMOD 770 / тм / темп setfacl -dm g: www-data: rx,g:sambashare:rx / tmp / temp getfacl / tmp / temp # file: temp # владелец: root # группа: корень Пользователь:: RWX группа:: RWX Другой::--- по умолчанию: пользователь:: RWX по умолчанию: группа:: RWX по умолчанию: Группа: WWW-данные: гх по умолчанию: Группа: sambashare: гх по умолчанию: маска:: RWX по умолчанию: другие:: ---
Как тестируемый
Я бы uid=1004(testuser) gid=1007(testuser) группы =1007(testuser),110(sambashare) cd /tmp/temp bash: cd: temp: в доступе отказано
Так явно не работает, как я ожидал. Может кто-нибудь помочь мне понять, почему это не работает и как я могу это исправить?
PS Я устанавливаю групповые разрешения по умолчанию вместо обычных разрешений группы, потому что они должны распространяться на детей.
setfacl -mg: sambashare: rx / tmp / tempКажется, работает, чтобы предоставить доступ.
Благодарю.
1 ответ
Попробуйте запустить setfacl -Rdm g:www-data:r-x,g:sambashare:r-x /tmp/temp
а также setfacl -Rm g:www-data:r-x,g:sambashare:r-x /tmp/temp
, Опция d устанавливает значения по умолчанию для новых файлов и каталогов, но не изменяет существующие настройки, поскольку видно, что только root:root имеет доступ. -R будет удобно рекурсивно перемещаться по существующим каталогам, внося необходимые изменения.