tìm tập tin với ACL được đặt


15

Làm cách nào tôi có thể tìm thấy tất cả các tệp có một số ACL mở rộng được đặt, tức là những tệp có một chút +ở cuối các cờ cho phép được hiển thị bởi ls -l.

Tôi không thể tìm thấy một lá cờ tương ứng cho find. Cách tiếp cận ngây thơ của tôi sẽ được findkết hợp với ls -lvà a grep. Nhưng tôi không nghĩ rằng điều này là tốt đẹp.

Có ai có ý kiến ​​gì không?

Câu trả lời:


14

getfaclcó thể kết xuất đệ quy ACL và nó có --skip-basetùy chọn bỏ qua các tệp không có ACL.

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

0

Tôi tìm thấy điều này googling ngược lại; để tìm các tệp không có ACL được đặt. Đây là những gì tôi đã kết thúc (trong trường hợp một số nhân viên khác tìm thấy nó)

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

Rõ ràng ls -Rlà nhanh hơn tìm kiếm (tôi có một tệp kagillion và mỗi lệnh find sẽ khiến tôi mất 2 giờ).


0

Phiên bản Perl:

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

0

-R: Liệt kê các ACL của tất cả các tệp và thư mục theo cách đệ quy.

-s: Bỏ qua các tệp chỉ có các mục ACL cơ sở (chủ sở hữu, nhóm, những người khác).

getfacl -Rs .
getfacl --recursive --skip-base .
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.