temukan file dengan ACL yang disetel

15

Bagaimana saya bisa menemukan semua file dengan beberapa set ACL yang diperluas, yaitu file-file dengan sedikit +di akhir tanda izin yang ditunjukkan oleh ls -l.

Saya tidak dapat menemukan bendera yang sesuai untuk find. Pendekatan naif saya akan finddikombinasikan dengan ls -ldan a grep. Tapi saya pikir ini tidak baik.

Apakah ada yang punya ide?

Flecksis Speckinius
sumber

Jawaban:

14

getfacldapat membuang ACL secara rekursif, dan memiliki --skip-baseopsi untuk mengabaikan file tanpa ACL.

getfacl -R -s -p /directory | sed -n 's/^# file: //p'
pengguna1686
sumber
0

Saya menemukan ini sebaliknya; untuk menemukan file tanpa ACL yang ditetapkan. Inilah yang akhirnya saya dapatkan (kalau-kalau beberapa googler lain menemukannya)

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

Rupanya ls -Rlebih cepat daripada menemukan (saya punya file kagillion dan setiap perintah find memakan waktu 2 jam).

matiu
sumber
0

Versi Perl:

getfacl -R -p -s  / | perl -wn -e ' if (/^# file/) { s|^# file: /||; print; }'
Nicola Mingotti
sumber
0

-R: Daftar ACL semua file dan direktori secara rekursif.

-s: Lewati file yang hanya memiliki entri ACL dasar (pemilik, grup, lainnya).

getfacl -Rs .
getfacl --recursive --skip-base .
Steely Wing
sumber