3

Я хочу найти файлы в некоторой папке, например /home/mike/www/test где только root имеет права на чтение, а не какой-либо другой пользователь.

РЕДАКТИРОВАТЬ: У меня есть sudo и разрешение, но я хочу перечислить все файлы, где только root имеет разрешение на чтение, но не какой-либо группы или общественности?

3 ответа3

6
find /home/mike/www/test -user root -perm +400 ! -perm +044 -print

-perm +400 соответствует файлам, для которых установлен хотя бы режим чтения владельца. -perm +044 соответствует файлам, для которых установлены режимы группового или другого чтения, но ! инвертирует тест, поэтому эти файлы исключаются из результата.

1

Вам нужно использовать команду find чтобы определить, какие каталоги и файлы доступны для чтения только пользователю root. Нечто подобное может делать то, что вы хотите:

sudo find / -uid 0 -perm 600

Это создаст список всех файлов, принадлежащих UID 0 (root) с правами только на чтение для root. В списке будут указаны абсолютные пути.

Вы можете перенаправить вывод в файл или передать его другой программе.

У man find полный список поддерживаемых опций.

-1

Попробуйте использовать команду sudo для повышения ваших прав.

sudo ls /home/mike/www/test

или же

sudo find /home/mike/www/test -name "foo" -print

Если вы не можете этого сделать, вам потребуется, чтобы системный администратор добавил ваш логин в файл /etc/sudoers .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .