Как найти файлы / каталоги с определенным списком ACL

Как сделать что-то вроде

find . -acl u:jim:rx find . -acl u:*:r find . -noacl u:jim:r 

и т.п.

Я знаю, что команда find не поддерживает это, но у вас есть идея. Существуют ли какие-либо сценарии, даже для некоторых конкретных сценариев?

Примечание 1 : Я особенно заинтересован в debian, но он применим к любой ОС * nix.

Примечание 2 : Этот вопрос фокусируется на практическом случае, но на самом деле гораздо более общий – какие хорошие инструменты для поиска файлов в связи с ACL.

  • Опция «defaults» включает опцию «acl» в / etc / fstab?
  • Rsyslog и ACL
  • Использование списков ACL для чтения / удаленной файловой системы
  • ACL по умолчанию: файлы и каталоги
  • Проблема с правами доступа к папке
  • Формат ACL для OSX / Darwin
  • setfacl не работает в файлах, созданных Apache
  • Как установить рекурсивные разрешения на реестр (с включенным ACL)?
  • One Solution collect form web for “Как найти файлы / каталоги с определенным списком ACL”

    Вы можете использовать getfacl инструмент с параметром -R ecursive, -s копировать файлы, которые имеют только базовый ACL, и передавать выходные данные в grep .

    Например, следующая команда, запущенная в каталоге /dev дает мне:

     $ getfacl -Rs . | awk -v RS= -v ORS='\n\n' '/\nuser:jimmij:rw-\n/' # file: sg1 # owner: root # group: cdrom user::rw- user:jimmij:rw- group::rw- mask::rw- other::--- # file: sr0 # owner: root # group: cdrom user::rw- user:jimmij:rw- group::rw- mask::rw- other::--- (...) 

    Чтобы напечатать только имена файлов:

     getfacl -Rs . | awk -v RS= '/\nuser:jimmij:rw-\n/ {sub(/\n.*/, ""); sub(/^[^:]*: /, ""); print}' 
    Linux и Unix - лучшая ОС в мире.