Доброго времени суток!
Есть сетевая шара на samba4. Задача - установить права так, чтобы владелец папки мог делать в ней что угодно, а пользователи группы только просматривать имеющуюся и добавлять новую информацию(создавать новые каталоги и файлы), без права изменять или удалять имеющиеся. Сетевая папка располагается на ФС zfs со следующими опциями наследования:
aclmode=passthrough, aclinherit=passthrough
Что есть сейчас: на каталог пользователя выставляем права 770. Заходим по самбе - все видно, можем записывать и удалять любым пользователем из группы. Добавляем нужные права командой serfacl. По прежнему всё работает так, как будто мы никаких прав не добавляли. Создаем новую папку(неважно - через консоль или самбу). На папку по правилам ФС наследуются только те права, которые мы установили командой setfacl. В свежесозданной папке действуют те права, которые нам необходимы, т.е. пользователи из группы могут добавлять информацию, но не могут изменять или удалять имеющуюся. Теперь самое интересное. Это права доступа, установленные командой chmod+setfacl:
ls -l ./
drwxr-x---+ 6 LENCOR\test staff 6 15 янв 18:19 test
getfacl test/
# file: test/
# owner: LENCOR\test
# group: staff
owner@:rwxpDdaARWcCos:fdi---:allow
group@:----Dd-A-W-Cos:fdi---:deny
group@:rwxp--a-R-c---:fdi---:allow
everyone@:------a-R-c---:fdi---:allow
owner@:rwxp--aARWcCos:------:allow
group@:r-x---a-R-c--s:------:allow
everyone@:------a-R-c--s:------:allow
Это права доступа, которые автоматически наследовались на подкаталог при создании (в котором всё работает так, как нужно):
ls -l test/
drwxrwx---+ 2 LENCOR\test staff 2 15 янв 18:19 222
getfacl test/222/
# file: test/222/
# owner: LENCOR\test
# group: staff
owner@:rwxpDdaARWcCos:fd----:allow
group@:----Dd-A-W-Cos:fdi---:deny
group@:rwxp--a-R-c---:fd----:allow
everyone@:------a-R-c---:fd----:allow
Если я пытаюсь командами выставить права доступа, как во втором варианте, убирая лишние права командой
setfack -x4 (5, 6), то получается следующее:
ls -l ./
d---------+ 2 LENCOR\test staff 2 15 янв 18:19 test
getfacl test/
# file: test/
# owner: LENCOR\test
# group: staff
owner@:rwxpDdaARWcCos:fd----:allow
group@:----Dd-A-W-Cos:fdi---:deny
group@:rwxp--a-R-c---:fd----:allow
everyone@:------a-R-c---:fd----:allow
При обнулении всех прав командой
setfacl -b и применении только нужных четырех - результат тот же. В данном случае в каталог не может попасть даже владелец.
Вопрос: как правильно выставить права доступа, как во втором варианте и где я мог накосячить? Возможно есть какие-нибудь подробные маны по установке NFSv4ACL на фряхе?(man setfacl и handbook не предлагать - там на эту тему не очень то и написано) Есть ли альтернативы утилите setfacl?