Как я могу найти список файлов, которые имеют определенные разрешения?
Я хочу найти файлы, принадлежащие root
пользователю, которые имеют rwx
разрешение для владельца.
Есть ли способ найти список таких файлов? Я использую Ubuntu 16.04.
Как я могу найти список файлов, которые имеют определенные разрешения?
Я хочу найти файлы, принадлежащие root
пользователю, которые имеют rwx
разрешение для владельца.
Есть ли способ найти список таких файлов? Я использую Ubuntu 16.04.
Ответы:
Да, GNU find
может сделать это:
пользователь uname
Файл принадлежит пользователю uname (допускается числовой идентификатор пользователя).
режим
Все режимы битов разрешений установлены для файла. Символьные режимы принимаются в этой форме, и это обычно способ, которым вы хотели бы использовать их. Вы должны указать 'u', 'g' или 'o', если вы используете символический режим. В разделе ПРИМЕРЫ приведены некоторые иллюстративные примеры.
Итак, вы хотите:
find /path/to/directory -user root -perm -u+rwx
Если вы хотите найти все файлы, для которых у пользователя есть определенные разрешения (независимо от того, является ли он владельцем (и даже установлен через 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
Писать не с ошибками!