
Как найти список файлов, имеющих определенные разрешения?
Я хочу найти файлы, принадлежащие 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)), вы можете использовать find
with -readable
, -writable
и -executable
.
Чтобы найти все файлы, для которых пользовательСэмимеет разрешение на чтение
sudo -u sam find /path/to/directory -readable -ls
sudo -u sam
необходимо, поскольку три упомянутых ключа работают с правами пользователя, который их вызвалfind
, поэтому вам нужно запустить sudofind
от имени пользователяСэм.-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
доступен для записинетнеправильно написано!