URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 88656
[ Назад ]

Исходное сообщение
"ZFS ACL на фре"

Отправлено demchenko , 08-Апр-10 12:33 
Кто-нибудь разбирался с zfs acl-ами во фре?
Поставил freebsd 8.0, накатил патч из этой темы: http://forums.freebsd.org/showthread.php?t=10505 , который добавляет NFSv4 acl-ы. Но никак не получается раздать права так, чтобы две группы могли равноправно редактировать один каталог (и его подкаталоги/файлы).
Делаю так:
 setfacl -m group@:rwxpAW:fd:allow,group@::fd:deny test
# getfacl test
# file: test
# owner: root
# group: admin
            owner@:--------------:------:deny
            owner@:rwxp---A-W-Co-:------:allow
            group@:--------------:fd----:deny
            group@:rwxp---A-W----:fd----:allow
         everyone@:-w-p---A-W-Co-:------:deny
         everyone@:r-x---a-R-c--s:------:allow

Вроде бы то, что нужно: содержимое каталога можно редактировать всем, кто входит в группу. Но в подкаталогах права съезжают:

# getfacl test/a
# file: test/a
# owner: kildushov
# group: admin
            group@:--------------:fdi---:deny
            group@:--------------:------:deny
            group@:rwxp---A-W----:fdi---:allow
            group@:-------A-W----:------:allow
            owner@:--------------:------:deny
            owner@:rwxp---A-W-Co-:------:allow
            group@:-w-p----------:------:deny
            group@:r-x-----------:------:allow
         everyone@:-w-p---A-W-Co-:------:deny
         everyone@:r-x---a-R-c--s:------:allow

Появляются 6 и 7 запись, которые собственно и мешают что-либо делать внутри этого каталога тем, кто входит в группу владельца.

Как быть?
Вообще задача стоит такого плана: каталог и его содержимое нужно редактировать нескольким группам (причем без ограничений), а всем остальным, не входящим в эти группы - запрещено даже читать из него.

ps: в posix-acl-ах это реализуется двумя командами:

 setfacl -d -m u::rwx,g::rwx,o::---,g:group2:rwx,g:group3:rwx folder
setfacl -m u::rwx,g::rwx,o::---,g:group2:rwx,g:group3:rwx folder

pps: пытался сделать zfs set aclmode=passthrough store , на что получаю
property 'aclmode' not supported on FreeBSD: permission denie


Содержание

Сообщения в этом обсуждении
"ZFS ACL на фре"
Отправлено butcher , 08-Апр-10 19:30 
>pps: пытался сделать zfs set aclmode=passthrough store , на что получаю
property 
>'aclmode' not supported on FreeBSD: permission denie

А пул вы обновили до 14-ой версии?


"ZFS ACL на фре"
Отправлено demchenko , 09-Апр-10 05:10 
>>pps: пытался сделать zfs set aclmode=passthrough store , на что получаю
property 
>>'aclmode' not supported on FreeBSD: permission denie

>
>А пул вы обновили до 14-ой версии?

да. Патчем по ссылке, приведенной выше. ядро/мир пересобирал.

$ zpool upgrade -v
This system is currently running ZFS pool version 14.


"ZFS ACL на фре"
Отправлено demchenko , 11-Апр-10 17:18 
Нашел решение: наложить патч отсюда http://lists.freebsd.org/pipermail/svn-src-head/2009-October... и пересобрать мир.
после этого aclmode и aclinherit работают и права нормально наследуются.
Поскольку в stable-ветке этого патча нет, используйте _на свой страх и риск_ (хотя у меня никаких проблем не возникло).

"ZFS ACL на фре"
Отправлено demchenko , 12-Апр-10 10:47 
Блин, появился новый вопрос, из-за которого уже готов повеситься.
Как запретить всем, кроме указанных в ACL групп, читать содержимое файлов/каталогов?
делаю такую конструкцию:

store# setfacl -m owner@::fd:deny,owner@:rwxpaARWcCos:fd:allow,group@:rwxpaARWcCos:fd:allow,group@::fd:deny,everyone@:rwx:fd:deny,everyone@::fd:allow testf
store# getfacl testf
# file: testf
# owner: root
# group: admin
            owner@:--------------:fd----:deny
            owner@:rwxp--aARWcCos:fd----:allow
            group@:--------------:fd----:deny
            group@:rwxp--aARWcCos:fd----:allow
         everyone@:rwx-----------:fd----:deny
         everyone@:--------------:fd----:allow

Из линкуса по смб все работает: все пользователи, входящие в группу admin видят эту папку, могу в нее заходить, редактировать, создавать файлы и т.п.
Из винды под теми же пользователеми - не работает, папку даже не видно, доступа нет. Если убрать everyone@:r:deny - из винды работает, НО - теперь читать из этой папки может вообще любой, даже не входящий в группу админ.

Помогите, что делать?!