Tìm tệp dựa trên sự cho phép


15

Làm cách nào tôi có thể tìm thấy danh sách các tệp có một số quyền cụ thể?

Tôi muốn tìm các tập tin thuộc sở hữu của rootngười dùng có rwxquyền cho chủ sở hữu.

Có cách nào để tìm một danh sách các tập tin như vậy không? Tôi đang sử dụng Ubuntu 16.04.


Điều này có hữu ích không: Askubfox.com/questions/786347/ Khăn
NonSt ChuẩnModel

Câu trả lời:


23

Có, GNU findcó thể làm điều đó:

-user uname

Tệp được sở hữu bởi người dùng uname (cho phép ID người dùng số).

-perm -mode

Tất cả các chế độ bit cho phép được đặt cho tệp. Các chế độ tượng trưng được chấp nhận ở dạng này và đây thường là cách bạn muốn sử dụng chúng. Bạn phải chỉ định 'u', 'g' hoặc 'o' nếu bạn sử dụng chế độ tượng trưng. Xem phần EXAMPLES để biết một số ví dụ minh họa.

Vậy bạn muốn:

find /path/to/directory -user root -perm -u+rwx

5

Nếu bạn muốn tìm tất cả các tệp, người dùng có quyền nhất định (bất kể anh ta là chủ sở hữu (và thậm chí được đặt qua ACL)), bạn có thể sử dụng findvới -readable, -writable-executable.

Để tìm tất cả các tệp mà người dùng sam có quyền đọc

sudo -u sam find /path/to/directory -readable -ls
  • sudo -u samlà cần thiết bởi vì ba công tắc được đề cập hoạt động với quyền của người dùng được gọi find- vì vậy bạn cần sudo để chạy findnhư người dùng sam .
  • -ls hiển thị mục nhập đầy đủ cho mỗi tập tin được tìm thấy

ví dụ khác
Để tìm tất cả các tệp mà samexecute hoặc write quyền

sudo -u sam find /path/to/directory -writable -or -executable -ls

Để tìm tất cả các tệp mà samexecute read quyền

sudo -u sam find /path/to/directory -readable -and -executable -ls

ghi được không sai chính tả!

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.