Как установить разрешения acl по умолчанию (не наследовать) при создании файла?

это с коробкой freenas (FreeNAS-9.3-STABLE-201506292130).

в linux на основе debian обычно есть разрешения по умолчанию 644/755 для файлов / каталогов (теперь 664/775?). Насколько я понимаю, это происходит потому, что umask установлен в 022 или 002, который управляет разрешениями по умолчанию для создания новых файлов. Однако в freenas (Windows ACL style permissions) создание файла по умолчанию просто наследует разрешения содержащего каталога. Я вижу из setfacl man page

setfacl (1) man page

что есть флаг наследования. Однако я больше ищу дефолт, а не наследование.
Есть ли способ изменить это, чтобы поведение создания было ближе к тому, что делается в системах на основе debian? То есть, я хочу, чтобы файлы 644 и папки 755. Я не хочу, чтобы вновь созданные файлы просто забирали разрешения 755, потому что каталог как эти разрешения.

Я сломала себе мозг пытается заставить что-то работать. В настоящее время я использую списки ACL NFSv4, и я получаю ошибку "несоответствие брендинга" при попытке использовать списки ACL POSIX, поэтому я придерживался использования того, что могу с командами windows-style, freenas, freebsd, NFSv4, setfacl/getfacl, и я не смог получить вышеупомянутое поведение ни от чего я пытаюсь.

$ mkdir test
$ cd test
$ ls -lat
drwxr-xr-x+  2 user  user   2 Aug  1 12:40 . 
drwxr-xr-x+ 67 user  user  67 Aug  1 12:40 ..
$ touch testfile
$ ls -lat
drwxr-xr-x+  2 user  user   3 Aug  1 12:40 .
-rwxr-xr-x+  1 user  user   0 Aug  1 12:40 testfile
drwxr-xr-x+ 67 user  user  67 Aug  1 12:40 ..
# file: .
# owner: user
# group: user
            owner@:rwxpDdaARWcCos:fd----:allow
            group@:r-x---a-R-c--s:fd----:allow
         everyone@:r-x---a-R-c--s:fd----:allow
$ getfacl testfile
# file: testfile
# owner: user
# group: user
            owner@:rwxpDdaARWcCos:------:allow
            group@:r-x---a-R-c--s:------:allow
         everyone@:r-x---a-R-c--s:------:allow
14
задан Joe
13.04.2023 21:55 Количество просмотров материала 2976
Распечатать страницу

1 ответ

В списках ACL NFSv4 нет "ACL по умолчанию". Тем не менее, у вас есть точный контроль над тем, что наследуется и чем. В частности, можно добавить Ace, которые будут наследоваться файлами, и другой набор, который может наследоваться каталогами. Вот так-первые три будут относиться к директориям, следующие три - к файлам. Обратите внимание, что каталоги будут наследовать оба, но записи "file" будут иметь флаг "i" (inherit_only), поэтому они не будут применяться к самому каталогу - они есть только наследуется файлами в каталогах. Итак, это ACL в Родительском каталоге:

        owner@:rwxp----------:-di----:allow
        group@:r-x-----------:-di----:allow
     everyone@:r-x-----------:-di----:allow
        owner@:rw-p----------:f-i----:allow
        group@:r-------------:f-i----:allow
     everyone@:r-------------:f-i----:allow
        owner@:rwxp--aARWcCos:-------:allow
        group@:r-x---a-R-c--s:-------:allow
     everyone@:r-x---a-R-c--s:-------:allow

это то, что будет унаследовано файлами (флаг 'I' означает, что запись была унаследована; она не существовала до FreeBSD 11-CURRENT):

        owner@:rw-p----------:------I:allow
        group@:r-------------:------I:allow
     everyone@:r-------------:------I:allow

это то, что будет наследоваться каталогами (флаг 'i' означает 'inherit_only' - ACE есть, но он не влияет на фактические разрешения доступа для него; это только наследуется вниз):

        owner@:rwxp----------:-d----I:allow
        group@:r-x-----------:-d----I:allow
     everyone@:r-x-----------:-d----I:allow
        owner@:rw-p----------:f-i---I:allow
        group@:r-------------:f-i---I:allow
     everyone@:r-------------:f-i---I:allow
1
отвечен Edward Tomasz Napierala 2023-04-15 05:43

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх