Nas4Free ZFS and ACL
Сначала user case - хочу иметь доступ к определённому каталогу в Nextcloud по SMB.
Идём в web-interface Nas4free и в нём - Диски -> ZFS -> Dataset, где редактируем требуемый датасет. Из необходимого - выставляем в Passthrough "Наследование ACL" и "Режим ACL". Сохранить и применить.
Далее в консольку ))) Можно и из вэбморды, но это не мой путь!
setfacl -m u:ftp:rwxp--aARWcCos:fd:allow,u:www-data:rwxp--aARWcCos:fd:allow /DIR
Что же делает данная команда?! Она модифицирует (ключ -m) ACL права на каталог DIR. Для пользователей ftp и www-data задаются права rwxp--aARWcCos, за расшифровкой отправлю в MAN, и собственно ключики f (для файлов) и d (для каталогов) задают наследование прав, что описано в том же мане.
По поводу пользователей, почему их 2?! Samba работает от имени пользователя ftp с минимальными правами в системе, а nextcloud работает с каталогом по NFS от имени пользователя www-data. При создании файла/каталога в nextcloud owner будет www-data, а при создании через samba - ftp. Для того, чтобы доступ не ломался был прописан доступ для двух пользователей.
Ну и для рекурсивного назначения прав:
find /DIR -type d -exec setfacl -m u:ftp:full_set:fd:allow {} \; find /DIR -type f -exec setfacl -m u:ftp:full_set:allow {} \;
Обращаю внимание, что для файлов ключи f и d не указываются, т.к. иначе получите ошибки.