Как «найти» все файлы и папки с 0 ** разрешений?

попробуйте проверить / media,

в моей системе (я использую Kubuntu 11.04) все дискеты, CDROM и USB монтируются в / media так что вы хотите проверить там

3
27.08.2018, 16:42
3 ответа

Я бы использовал что-то вроде этого:

find. ! -perm -u=r ! -perm -u=w ! -perm -u=x -ls

Или, если вы предпочитаете восьмеричное представление:

find. ! -perm -400 ! -perm -200 ! -perm -100 -ls

К сожалению, понятия не имею, как принять это за один из -permвариантов.

Приведенный выше синтаксис является стандартным, за исключением части -ls(, распространенной, но не соответствующей POSIX ), которую можно заменить на -exec ls -disl {} +в системах, где findне поддерживает -ls, чтобы получить аналогичный выход.

9
27.01.2020, 21:08

Если вы используете sfindили любую программу, использующую libfind, или если вы используете BSD find, вы можете использовать:

find path -perm +0xxx

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

find. ! -perm +0700

должно работать в вашем случае. Кстати, :это также поддерживается GNU find.

Обратите внимание, что это расширение не упоминается в POSIX и не реализовано в SVr4 на основе find.

1
27.01.2020, 21:08

С помощью GNUfindвы можете сделать это, ища файлы, которые не соответствуют «ни одному биту, установленному для владельца»:

find. ! -perm /700

То же самое, например, в. FreeBSDfind— это

find. ! -perm +700

Оба они работают одинаково. -perm /700или -perm +700совпадают, если установлен какой-либо из битов разрешения владельца; !отрицает это, поэтому ! -perm /700или ! -perm +700совпадают, если ни один из битов разрешения владельца не установлен. Остальные биты игнорируются.

8
27.01.2020, 21:08

Теги

Похожие вопросы