Я переношу структуру каталогов из файловой системы UFS в ZFS. В старом месте у меня были POSIX ACL, настроенные для принудительного создания всех новых файлов / каталогов в структуре с разрешениями на запись группы -
group::rwx
default:group::rwx
В новой файловой системе ZFS я попытался воспроизвести это с помощью списков ACL NFSv4 с установленными флагами "file_inherit / dir_inherit", но обнаружил, что они удалены (или, в случае каталогов, заменены ACE с установленным "inherit_only"), поэтому другие пользователи в группе не иметь права на запись в новый каталог. Например:
$ chmod A+group@:rwxp:fd:allow .
$ ls -Vd .
drwxrws---+ 6 user1 grp1 13 Nov 8 12:55 .
group@:rwxp----------:fd----:allow
owner@:--------------:------:deny
owner@:rwxp---A-W-Co-:------:allow
group@:--------------:------:deny
group@:rwxp----------:------:allow
everyone@:rwxp---A-W-Co-:------:deny
everyone@:------a-R-c--s:------:allow
$ mkdir test
$ ls -Vd test
drwxr-sr-x+ 2 user1 grp1 2 Dec 1 14:24 test
group@:rwxp----------:fdi---:allow
group@:--------------:------: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
$ touch afile
$ ls -V afile
-rw-r--r--+ 1 user1 grp1 0 Dec 1 14:40 afile
group@:--------------:------:allow
owner@:--x-----------:------:deny
owner@:rw-p---A-W-Co-:------:allow
group@:-wxp----------:------:deny
group@:r-------------:------:allow
everyone@:-wxp---A-W-Co-:------:deny
everyone@:r-----a-R-c--s:------:allow
Я могу исправить это, установив umask на 002, но я хотел бы знать, есть ли чистый способ ACL (поскольку в настоящее время установленные версии FTP и SSH не позволяют устанавливать umask для каждого пользователя).
Я использую что-то вроде нижеприведенного для своего беспарольного хранилища NAS. Я не очень хорошо разбираюсь во всех детализированных разрешениях, поэтому, вероятно, это перебор с разрешениями владельца / группы и недопустимостью для всех, но вот оно:
setfacl -m owner@:full_set:fd:allow /zfs/raid1/storage
setfacl -m group@:full_set:fd:allow /zfs/raid1/storage
setfacl -m everyone@:rx:fd:allow /zfs/raid1/storage
Это на FreeBSD, поэтому списки ACL ZFS NFSv4 встроены в setfacl. Я думаю, они также могут быть в nfs4_setfacl и chmod в некоторых ОС. Я новичок в ACL и даже новичок во FreeBSD, так что все это может заставить системных администраторов плакать. Он также действует как chmod 2774
и устанавливает новые группы файлов / каталогов в группу набора данных.
Отредактируйте, чтобы немного уточнить: /zfs/raid1
это фактическое крепление ZFS, storage
это набор данных внутри него.