FreeBSD+samba+ACL+zfs

FreeBSD, NetBSD, OpenBSD, DragonFly и т. д.

Модератор: arachnid

Demolitionman
Сообщения: 78

FreeBSD+samba+ACL+zfs

Сообщение Demolitionman »

Здравствуйте. хочу поднять файлопомойку на фре и использовать для этого ACL списки доступа. Идея такая дать права на шару всем через самбу, а в этой шаре списками ACL уже разграничивать кому на чтение кому на запись во вложенные папки,
FreeBSD 8.2
Samba 3.5
шара на Raid-z система ZFS
ДЛя работы с ACL списками требуются две команды
setfacl
getfacl
пытаюсь командой getfacl -k сбросить все права на папку как написанно в хэндбуке но выходит такая ошибка

/infra: there are no default entries in NFSv4 ACLs; cannot remove

А если пробую добавить кого то в эти списки командой setfacl -m u::rwx,g:mail:rw /infra то получаю вот такой вывод
setfacl: /infra: branding mismatch; existing ACL is NFSv4, entry to be merged is POSIX.1e
в чем проблема? И еще смогу ли я давать права разным группам на одну и туже папку?
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 971
ОС: BSD/LINUX

Re: FreeBSD+samba+ACL+zfs

Сообщение bars »

mount показывайте!
что то предчувствие у меня что вы на эту шару не добавили acl функционал.
Вы пытаетесь подключить асл на ашру раздоваемую nfs-serverom?
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
lastpriot
Сообщения: 218
ОС: FreeBSD

Re: FreeBSD+samba+ACL+zfs

Сообщение lastpriot »

ZFS во фре наследует ACL от NFSv4, и согласно man setfacl опция -k на ZFS не работает

сброс ACL - setfacl -b

примеры синтаксиса setfacl:

Код: Выделить всё

 setfacl -m owner@:rwx:allow /home/pool
 setfacl -m user:vasja:modify_set:allow /home/vasja
 setfacl -m user:mpd:rwx:allow,group:hommer:rwx:deny /home/pool/music
 setfacl -x group:omni::allow /home/pool/test
Спасибо сказали:
Аватара пользователя
nops
Сообщения: 5

Re: FreeBSD+samba+ACL+zfs

Сообщение nops »

lastpriot писал(а):
28.11.2011 23:35
ZFS во фре наследует ACL от NFSv4, и согласно man setfacl опция -k на ZFS не работает

сброс ACL - setfacl -b

примеры синтаксиса setfacl:

Код: Выделить всё

 setfacl -m owner@:rwx:allow /home/pool
 setfacl -m user:vasja:modify_set:allow /home/vasja
 setfacl -m user:mpd:rwx:allow,group:hommer:rwx:deny /home/pool/music
 setfacl -x group:omni::allow /home/pool/test

Да, так оно так, но вот как быть с файлами?
Дело в том, что на каталоги права назначаются, а вот на файлы нет.
Пытаюсь назначить права файлу, вот так:

Код: Выделить всё

# setfacl -m owner@:rwxpDdaARWcCos:fd----:allow Checkcfg.exe

и получаю ответ
setfacl: Checkcfg.exe: acl_set_file() failed: Invalid argument

Мне нужно сделать это рекурсивно и я делаю так:

Код: Выделить всё

find /path/to/share -type f -exec setfacl -d -m owner@:rwxpDdaARWcCos:fd----:allow {} \;

И витоге получаю кучу ошибок: acl_set_file() failed: Invalid argument

Подскажите, как быть в данном случае?
Спасибо сказали:
lazhu
Сообщения: 70
ОС: FreeBSD 9-STABLE / clang 3.3

Re: FreeBSD+samba+ACL+zfs

Сообщение lazhu »

nops писал(а):
03.04.2013 10:54
lastpriot писал(а):
28.11.2011 23:35
ZFS во фре наследует ACL от NFSv4, и согласно man setfacl опция -k на ZFS не работает

сброс ACL - setfacl -b

примеры синтаксиса setfacl:

Код: Выделить всё

 setfacl -m owner@:rwx:allow /home/pool
 setfacl -m user:vasja:modify_set:allow /home/vasja
 setfacl -m user:mpd:rwx:allow,group:hommer:rwx:deny /home/pool/music
 setfacl -x group:omni::allow /home/pool/test

Да, так оно так, но вот как быть с файлами?
Дело в том, что на каталоги права назначаются, а вот на файлы нет.
Пытаюсь назначить права файлу, вот так:

Код: Выделить всё

# setfacl -m owner@:rwxpDdaARWcCos:fd----:allow Checkcfg.exe

и получаю ответ
setfacl: Checkcfg.exe: acl_set_file() failed: Invalid argument

Мне нужно сделать это рекурсивно и я делаю так:

Код: Выделить всё

find /path/to/share -type f -exec setfacl -d -m owner@:rwxpDdaARWcCos:fd----:allow {} \;

И витоге получаю кучу ошибок: acl_set_file() failed: Invalid argument

Подскажите, как быть в данном случае?


# man setfacl
Inheritance flags may be only set on directories.
Спасибо сказали:
Аватара пользователя
nops
Сообщения: 5

Re: FreeBSD+samba+ACL+zfs

Сообщение nops »

lazhu писал(а):
03.04.2013 23:33
# man setfacl
Inheritance flags may be only set on directories.


Спасибо что ткнули. Но как тогда быть в файлами? Получается что на каталоги я назначил, все ок, а вот с файлами возникает затык?!
Что же делать?
Спасибо сказали:
lazhu
Сообщения: 70
ОС: FreeBSD 9-STABLE / clang 3.3

Re: FreeBSD+samba+ACL+zfs

Сообщение lazhu »

nops писал(а):
05.04.2013 10:30
lazhu писал(а):
03.04.2013 23:33
# man setfacl
Inheritance flags may be only set on directories.


Спасибо что ткнули. Но как тогда быть в файлами? Получается что на каталоги я назначил, все ок, а вот с файлами возникает затык?!
Что же делать?

Ничего. Файлы наследуют права от каталогов, если наследование задано. Можно назначить и вручную, например вот так: setfacl -m owner@:rwxpdDaARWcCoS::allow /path/to/file
Спасибо сказали:
Аватара пользователя
nops
Сообщения: 5

Re: FreeBSD+samba+ACL+zfs

Сообщение nops »

Хочу задать еще такой вопрос.
Виндовые галочки работают, все нормально, но вот проблема. Когда пользователь создает файл у него не назначаются права владельца на чтение. Т.е. права назначаются -wx а должны rwx(так из консоли видно)
Вот как быть...
Пробовал в smb.conf убрать/поставить inherit acl = yes но результат неутешительный. Если убрать то вообще не назначаются права, а если поставить они хоть как-то назначаются.
Как быть не знаю даже:(
Спасибо сказали:
lazhu
Сообщения: 70
ОС: FreeBSD 9-STABLE / clang 3.3

Re: FreeBSD+samba+ACL+zfs

Сообщение lazhu »

nops писал(а):
11.04.2013 07:19
Хочу задать еще такой вопрос.
Виндовые галочки работают, все нормально, но вот проблема. Когда пользователь создает файл у него не назначаются права владельца на чтение. Т.е. права назначаются -wx а должны rwx(так из консоли видно)
Вот как быть...
Пробовал в smb.conf убрать/поставить inherit acl = yes но результат неутешительный. Если убрать то вообще не назначаются права, а если поставить они хоть как-то назначаются.
Как быть не знаю даже:(

man smb.conf
/create mask
/directory mask
Спасибо сказали: