Знайдіть файли на основі дозволу


15

Як я можу знайти список файлів із певними дозволами?

Я хочу знайти файли, які належать rootкористувачеві, які мають rwxдозвіл для власника.

Чи є спосіб знайти список таких файлів? Я використовую Ubuntu 16.04.


Відповіді:


23

Так, GNU findможе це зробити:

-користувач unme

Файл належить користувачеві Uname (дозволений числовий ідентифікатор користувача).

-perm -мода

Усі файли дозволу встановлені для файлу. У цій формі приймаються символьні режими, і зазвичай це спосіб, яким ви хотіли б їх використовувати. Ви повинні вказати 'u', 'g' або 'o', якщо ви використовуєте символьний режим. Див. Розділ ПРИКЛАДИ для деяких ілюстративних прикладів.

Отже, ви хочете:

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

5

Якщо ви хочете , щоб знайти всі файли , користувач має певний дозвіл на (незалежно від того , що він є власником (і навіть встановити з допомогою ACL)) , ви можете використовувати findз -readable, -writableі -executable.

Щоб знайти всі файли, для яких користувач sam має дозвіл на читання

sudo -u sam find /path/to/directory -readable -ls
  • sudo -u samпотрібен, тому що три згадані комутатори працюють з дозволами користувача, який викликав, find- тож вам потрібен sudo, щоб запустити себе findяк користувач sam .
  • -ls показує повний запис для кожного знайденого файлу

подальші приклади
Щоб знайти всі файли, для яких sam execute або має writeдозволи

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

Щоб знайти всі файли, для яких sam має execute та read дозволи

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

записується це НЕ помилка!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.