znajdź pliki z ustawionymi listami ACL

15

Jak mogę znaleźć wszystkie pliki z niektórymi ustawionymi rozszerzonymi listami ACL, tj. Tymi, które mają trochę +na końcu flag uprawnień pokazanych przez ls -l.

Nie mogłem znaleźć odpowiedniej flagi dla find. Moje naiwne podejście byłoby findpołączone z ls -la grep. Ale nie sądzę, żeby to było miłe.

Czy ktoś ma pomysł?

Speckinius Flecksis
źródło

Odpowiedzi:

15

getfaclmoże zrzucać listy ACL rekurencyjnie i ma --skip-baseopcję ignorowania plików bez list ACL.

getfacl -R -s -p /directory | sed -n 's/^# file: //p'
użytkownik1686
źródło
0

Znalazłem googlowanie odwrotnie; znaleźć pliki bez ustawionych list ACL. Właśnie z tym skończyłem (na wypadek, gdyby jakiś inny googler go znalazł)

ls --color=auto -lR | grep -v "\+ " | grep -v "^[.,a-z,1-9]" | grep -v "^$"

Najwyraźniej ls -Rjest szybszy niż find (mam pliki kagillion i każda komenda find zajmuje mi 2 godziny).

matiu
źródło
0

Wersja Perla:

getfacl -R -p -s  / | perl -wn -e ' if (/^# file/) { s|^# file: /||; print; }'
Nicola Mingotti
źródło
0

-R: Lista ACL wszystkich plików i katalogów rekurencyjnie.

-s: Pomiń pliki, które mają tylko podstawowe wpisy ACL (właściciel, grupa, inne).

getfacl -Rs .
getfacl --recursive --skip-base .
Steely Wing
źródło