Приветствую всех
Возникла необходимость в разграничении прав доступа на файловом сервере (Debian, Samba) виндовым пользователям.
Стало ясно, что лучше раскурить это дело с помощью acl Разобрался, прописал в самбе необходимые параметры для работы с acl
inherit acls = Yes inherit permissions = Yes inherit owner = Yes map acl inherit = Yes
все пользователи в группе aclUsers
Есть личные папки пользователей, куда писать могут только они, а остальные пользователи (из группы aclUsers, у всех пользователей это основная группа) - только читать. Владельцы личных папок - сами пользователи
/storage/share - расшаренная папка
сделал так
chown user1:aclUsers -R /storage/share/folder1 chmod 6750 -R /storage/share/folder1 setfacl -Rdm u::rwx,g::rx,o:- /storage/share/folder1
есть и такие папки, куда необходим доступ сразу 2 пользователям
chown user2:aclUsers -R /storage/share/folder2 chmod 6750 -R /storage/share/folder2 setfacl -Rdm u::rwx,g::rx,o:-,u:user1:rwx /storage/share/folder2 setfacl -Rm u:user1:rwx /storage/share/folder2
т.е. понятно, что мне необходимо наследование прав в таких папках если там создает папку или файл тот, кто имеет на это право, то у папки бы устанавливались следующие права owner: rwx group: rx other: -
если 2 пользователя имеют право, то такие права (просто добавляется ещё 1 пользователь с полными правами) owner: rwx group: rx other: - user:user1:rwx
Казалось бы, всё просто, но не тут-то было. После добавления в acl еще одного пользователя папки и файлы создаются с полными правами для группы, хотя в acl явно указано, что только чтение и выполнение что за ересь?
Не очень хочется из-за этого заводить Windows, а разграничение доступа нормальное ой как нужно
Надеюсь на помощь гуру
Как сделать правильное наследование? пока всё держится на костылях, скрипт в кроне, который подправляет права на вновь создаваемые файлы и каталоги