Найти файлы на основе разрешения

15

Как я могу найти список файлов, которые имеют определенные разрешения?

Я хочу найти файлы, принадлежащие rootпользователю, которые имеют rwxразрешение для владельца.

Есть ли способ найти список таких файлов? Я использую Ubuntu 16.04.

Авани Бадхека
источник
Является ли это полезным: askubuntu.com/questions/786347/…
NonStandardModel

Ответы:

23

Да, GNU findможет сделать это:

пользователь uname

Файл принадлежит пользователю uname (допускается числовой идентификатор пользователя).

режим

Все режимы битов разрешений установлены для файла. Символьные режимы принимаются в этой форме, и это обычно способ, которым вы хотели бы использовать их. Вы должны указать 'u', 'g' или 'o', если вы используете символический режим. В разделе ПРИМЕРЫ приведены некоторые иллюстративные примеры.

Итак, вы хотите:

find /path/to/directory -user root -perm -u+rwx
terdon
источник
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

Чтобы найти все файлы , для которых сэм имеет execute и read разрешение

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

Писать не с ошибками!

guntbert
источник