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

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

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

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

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

решение1

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

-имя пользователя

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

-perm -режим

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

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

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

решение2

Если вы хотите найти все файлы, на которые у пользователя есть определенные разрешения (независимо от того, является ли он владельцем (и даже установлены ли они через ACL)), вы можете использовать findwith -readable, -writableи -executable.

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

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

дополнительные примеры
Чтобы найти все файлы, для которыхСэмимеет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

доступен для записинетнеправильно написано!

Связанный контент