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 будет удобно рекурсивно перемещаться по существующим каталогам, внося необходимые изменения.

Другие вопросы по тегам