Я хочу сбросить ACL в дереве каталогов, чтобы ACL корневого каталога заменял ACL для всех файлов и папок, находящихся ниже. Как я могу этого добиться?
Изменить: этот вопрос плохо сформулирован? Может ли кто-нибудь дать мне отзыв, даже если вы не знаете ответа?
Вам просто нужно узнать ACL, запустив ls -V
в каталоге (в этом примере я запускаю его в root
каталог из /
:
drwx------ 4 root root 10 Feb 25 2011 root
owner@:rwxp--aARWcCos:-------:allow
group@:------a-R-c--s:-------:allow
everyone@:------a-R-c--s:-------:allow
Затем вы можете запустить chmod -R A=<<INSERT ACL HERE>> *
в каталоге, где <<INSERT ACL HERE>>
заменяется на acl, как указано в ls
команда.
В этом случае я бы cd root
а затем выпустить chmod -R A=owner@:rwxp--aARWcCos:-------:allow\ group@:------a-R-c--s:-------:allow\ everyone@:------a-R-c--s:-------:allow *
У меня это обычно работает.
Иногда вам может потребоваться назначить разные разрешения для Dir и Files, например 2755 и 0644, в этом случае
$ cd $ find . -t d -exec chmod 2755 {} \; # update ACL on dirs $ find . -t f -exec chmod 0644 {} \; # update ACL on files
OB