Как сканировать, используя поиск для всех файлов, для которых установлен бит выполнения?


19

Я хочу написать сценарий исправления прав доступа, который использует поиск для исправления прав доступа к файлам.

Главным образом, мне нужна команда find, которая может вывести список всех файлов с установленным битом выполнения независимо от других прав доступа к файлу (это хитрость).


2
Что ты уже пробовал? Какие исследования вы провели? Как написано прямо сейчас, вы просто просите нас сделать вашу работу за вас, и вы не приложили никаких усилий для решения этой проблемы самостоятельно.
EEAA

Кроме того, я настоятельно рекомендую ознакомиться с типами вопросов, которые здесь уместны, прежде чем публиковать дополнительные вопросы. У вас есть целая серия закрытых и проголосовавших вопросов, и если вы не будете осторожны, вы, вероятно, столкнетесь с автоматическим запретом вопросов.
EEAA

@EEAA: К сожалению, я сомневаюсь, что это близко к тому, чтобы это произошло. Если у вас есть какие-либо повторы, очень сложно получить q-бан.

@Iain - достаточно честно. Надеюсь, он все равно прислушается к совету.
EEAA

2
@EEAA: Я тоже на это надеюсь, но люди, которые не могут прочесть руководства, как правило, не прислушиваются к советам - им просто легче отмахнуться от нашего отношения ...iyswim;)

Ответы:


24

На GNU найти:

find /dir -type f -executable

В других версиях см. Справочную страницу -perm.


11

Верьте или нет , это хорошо документировано в находит человек страницу. В системах CentOS и Ubuntu, которые я должен передать, есть даже примеры этого.

-период / режим

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

Так

find  . -perm /u+x

найдет файлы, в которых для владельца установлено разрешение на выполнение

find . -perm /u+x,o+x

найдет файлы, в которых для владельца установлено разрешение на выполнение и т. д. и т. д.


1

найти / путь / из / каталога / -тип f -executable


@ Не могли бы вы объяснить, как это будет работать?
vfbsilva

Исследовал это: man7.org/linux/man-pages/man1/find.1.html - флаг -executable: сопоставляет исполняемые файлы и каталоги, доступные для поиска (в смысле разрешения имен файлов).
RayJ
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.