Як можна отримати setfacl для встановлення дозволів ACL рекурсивно в Linux?


20

Я налаштовую новий сервер і хочу надати ACL постріл над chown: chgrp: chmod.

Сторінка man для setfacl вказує, що параметр '-R' може використовуватися для рекурсивного встановлення ACL у файлах та каталогах.

-R, --рекурсивні Застосовують операції до всіх файлів і каталогів рекурсивно. Цю опцію не можна змішувати з '--restore'.

Якщо макет мого каталогу виглядає приблизно так

test/
   subtest/
   subtest.txt

і я страчу

setfacl -Rm d:u:foo:rwX test

ACL діє на каталог "субтестів", але не на файл subtest.txt.

Я думаю, що я можу використовувати find + exec для її вирішення, але я планую використовувати цей сервер для тренування кількох інших адміністраторів, і я хочу його максимально просто, щоб ми не зависли на деяких більш просунутих конвенції.

Спасибі

Відповіді:


43

Спробуйте:

setfacl -Rm u:foo:rwX,d:u:foo:rwX test

для зміни поточного ACL, а також за замовчуванням. Я вважаю, що "d:" впливає лише на (d) за замовчуванням ACL каталогів і залишає файли недоторканими. Потім, якщо ви створюєте новий файл у каталозі, він успадковує ACL свого батьківського каталогу через типовий.


Це має сенс, навіть якщо він відчуває себе трохи зайвим
Джо Холлоуей

1
Чи працює це і для зняття контролю доступу. Можливо, щось під силу: sudo setfacl -Rx g: gid path

чому зміна місць між прапорами -Rта -mпрапорами порушує команду?
pkaramol

@pkaramol: Оскільки -mопція бере аргумент (специфікація ACL u:foo:rwX,d:u:foo:rwXв цьому випадку), а перемикання порядку параметрів відокремлює опцію від її аргументу. Можливо також, що setfaclзакодовано спочатку очікувати його основних варіантів.
Призупинено до подальшого повідомлення.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.