установка полномочий по умолчанию с setfacl

Ну, Вы могли иметь find должностное лицо mkdir.

cd /A/
find -type d -exec mkdir -p /C/{} \;

Или если структура является плоской как показано в Вашем примере, без find

cd /A/
for dir in */
do
    mkdir -p /C/"$dir"
done

и в обоих случаях то же снова для cd /B/.

3
11.05.2014, 13:55
2 ответа
[1120345] Linux/Solaris ACL не поддерживают это. Вы не можете установить разные ACL по умолчанию для файлов и каталогов.[12162]Иметь каталоги, которые можно обходить, но содержимое которых не может быть перечислено (исполняемые, но не читаемые), редко бывает полезно. То, что это вообще работает, является немного исторической случайностью. Да, иногда это может быть полезно - но действительно ли это необходимо? (Возможно, вы захотите задать этот вопрос отдельно)[12163]Если вам действительно нужны каталоги и файлы с разными правами, вот несколько возможностей, которые вы можете рассмотреть:[12164]Пусть ваше приложение изменит права собственности на файлы, которые оно создает, вместо того, чтобы полагаться на свойства имманентной файловой системы. [12165]Сделайте все приватным по умолчанию ([1121404]setfacl -d -m group:mygroup:X[1121405]) и используйте одно из предложений в [1121406]Разрешения Group+rx только в каталогах, использующих ACL?[1121407]:[12166]Разоблачайте файлы group-public через привязку mounts, а не напрямую. [12167]Посмотрите на дерево с inotify и запустите [1121446]setfacl[1121447] на новых обычных файлах.[12168]
4
27.01.2020, 21:12

Похоже, вы не можете сделать это ни с setfacl , ни с umask , поскольку они оба не похоже, что разрешены отдельные значения по умолчанию для файлов и каталогов. См. Этот аналогичный вопрос для других вариантов .Если вы хотите заставить какое-то приложение создавать каталоги без разрешения на чтение и файлы, вы можете либо изменить его, либо попробовать LD_PRELOAD, учитывая только двоичный файл (хотя написание библиотеки для этого может быть немного излишним).

3
27.01.2020, 21:12

Теги

Похожие вопросы