Wie scanne ich mit find nach allen Dateien, für die das Ausführungsbit gesetzt ist?

19

Ich möchte ein Skript zum Korrigieren von Berechtigungen schreiben, das find zum Korrigieren von Berechtigungen für Dateien verwendet.

Was ich hauptsächlich brauche, ist ein Suchbefehl, der in der Lage ist, alle Dateien mit gesetztem Ausführungsbit aufzulisten, unabhängig von den anderen Berechtigungen für die Datei (das ist der Trick).

Sorin
quelle
2
Was hast du schon probiert? Welche Recherchen haben Sie durchgeführt? Wie bereits geschrieben, bitten Sie uns nur, Ihre Arbeit für Sie zu erledigen, und Sie haben keinerlei Anstrengungen unternommen, um dies selbst zu lösen.
EEAA
Außerdem würde ich dringend empfehlen, sich vor dem Posten weiterer Fragen darüber zu informieren, welche Arten von Fragen hier angebracht sind. Sie haben eine ganze Reihe von geschlossenen und abgelehnten Fragen, und wenn Sie nicht aufpassen, werden Sie wahrscheinlich gegen das automatische Fragenverbot verstoßen.
EEAA
@EEAA: Leider bezweifle ich, dass dies in der Nähe des Geschehens liegt. Wenn du überhaupt einen Repräsentanten hast, ist es sehr schwer, Q-Banned zu bekommen.
@Iain - fair genug. Hoffentlich beachtet er den Rat trotzdem.
EEAA
2
@EEAA: Ich hoffe es auch, aber Leute, die sich nicht die Mühe machen, Handbücher zu lesen, beachten im Allgemeinen nicht die Ratschläge - sie finden es einfach einfacher, sich über unsere Einstellung zu ...lustig zu machen;)

Antworten:

24

Auf GNU's Fund:

find /dir -type f -executable

Informationen zu anderen Versionen finden Sie auf der Manpage -perm.

Sven
quelle
11

Ob Sie es glauben oder nicht, ist in der Suchmanpage ausführlich dokumentiert . Auf den CentOS- und Ubuntu-Systemen, die ich zur Hand habe, gibt es sogar Beispiele dafür.

-perm / mode

Jeder der Berechtigungsbit-Modi wird für die Datei festgelegt. Symbolische Modi werden in dieser Form akzeptiert. Sie müssen u',g 'oder' o ' angeben , wenn Sie einen symbolischen Modus verwenden. Im Abschnitt BEISPIELE finden Sie einige veranschaulichende Beispiele. Wenn im Modus keine Berechtigungsbits gesetzt sind, stimmt dieser Test mit einer beliebigen Datei überein (die Idee hier soll mit dem Verhalten von -perm -000 übereinstimmen).

So

find  . -perm /u+x

findet Dateien, bei denen die Ausführungsberechtigung für den Eigentümer festgelegt ist

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

findet Dateien, bei denen die Ausführungsberechtigung für den Eigentümer und andere festgelegt ist, und so weiter.


quelle