So suchen Sie nach Dateien mit einer bestimmten Berechtigung

8

Wie kann ich nach Dateien suchen, die eine bestimmte Berechtigung haben? Zum Beispiel habe ich 10000 Dateien und möchte diejenigen finden, die das Flag NUR LESEN haben. In einem anderen Fall möchte ich nach einem anderen suchen, der einen bestimmten Eigentümer hat. Oder in einem anderen, um die Dateien zu sehen, die NUR LESEN und AUSFÜHRBAR sind.

Luis Alvarado
quelle

Antworten:

9

Es ist wahrscheinlich am einfachsten, den findBefehl zu verwenden, mit dem Sie den Verzeichnisbaum rekursiv durchsuchen können. Wenn Sie beispielsweise besonders schreibgeschützte Dateien suchen möchten, können Sie Folgendes eingeben

find <specify location> -type f -perm -444

Für Dateien, die einem bestimmten Benutzer gehören, können Sie verwenden

find <location> -type f -user mike

Für ausführbare Dateien (für alle), die Sie verwenden können

find <location> -type f -perm -777

Für diejenigen, die ausführbar und schreibgeschützt sind, würden Sie im obigen Beispiel 555 anstelle von 777 verwenden. Sie können auch nach Dateien suchen , die durch Substitution zu einer Gruppe gehören , -user mikefür -group mike.

Um die Suchbegriffe zu negieren und so nach dem genauen Gegenteil zu suchen, können Sie ein Ausrufezeichen wie das folgende verwenden:

find <location> -type f ! -perm -444 

Hinweis: Wenn Sie vor den Berechtigungen einen Bindestrich angeben (z. B. -perm -444), werden alle Dateien mit einem schreibgeschützten Flag gefunden und nicht nur die Dateien 444. Um genau und nur danach nach 444 zu suchen, entfernen Sie einfach den Bindestrich (z -perm 444. B. ).

Anmerkung 2: Kombinationen von Berechtigungen können auch mit -aund -ofür und für oder gesucht werden . Geben Sie beispielsweise Folgendes ein, um genau diese Berechtigungen zu finden:

find <location> -type f -perm 744 -o -perm 666

Verzeichnisse können mit gesucht werden -type d.

Siehe man findfür die anderen verfügbaren Permutationen.


quelle
+1 für die Erwähnung über den Unterschied zwischen -444und444
Fr0zenFyr
-perm -444Findet für mich Dateien, die die readBerechtigung haben, nicht solche, die schreibgeschützt sind (dh nur read und keine anderen Berechtigungen haben).
Jānis Elmeris