Verwenden Sie `find -perm`, um herauszufinden, wann keine Berechtigung festgelegt ist

70

Ich möchte die nicht lesbaren Dateien in meinem Verzeichnis finden (z. B. die Dateien mit gr). Also habe ich das versucht:

find . -perm -g-r

Es zeigt mir alle Dateien? Also habe ich das versucht:

find . -perm -g+r

Und es zeigte mir nur die lesbaren Dateien. Es scheint, dass -perm -g-ralle Dateien übereinstimmen. Ich benutze CentOS 5.5. Mache ich etwas falsch? Es sieht nicht so aus, als ob -perm -g-rirgendetwas Nützliches funktioniert.

Benutzer1
quelle
1
Ich glaube, dass das -Präfix des Berechtigungsparameters bedeutet, dass Dateien mit "mindestens" diesen Berechtigungen übereinstimmen. Es werden also Dateien verglichen, die nicht für Gruppen lesbar sind , sowie Dateien, die für Gruppen lesbar sind, da für Gruppen lesbare Dateien eine Gruppenberechtigung haben, die als "größer als" betrachtet wirdg-r
osullic

Antworten:

101

Versuchen:

find . ! -perm -g+r

jgr
quelle
3
Das hat funktioniert! Ich bin immer noch verwirrt, wenn ich -perm -g-rnicht arbeite, aber na ja.
User1
Es ist eine offensichtliche Erweiterung, Dateien zu finden, die ebenfalls nicht ausführbar sind. Vielen Dank!
Walter Nissen
Was ist, wenn ich meine Suche auf Dateien und nicht auf Verzeichnisse beschränken möchte und eine -maxdepthvon 2 möchte ? Ich meine, wie negiere ich die Dauerwellen, während ich die anderen Dinge behaupte? EDIT: Nevermind. Sie können jede Option mit! Negieren. Anfangs schien es nicht zu funktionieren, aber es war wirklich so. Ich habe find -maxdepth 2 ! -perm -g+r -type dVerzeichnisse bis zu einer Tiefe von 2 gefunden, die keine Gruppenleseberechtigung hatten.
Buttle Butkus
Ich denke, die -permOption unterstützt nicht g-rwie inchmod g-r <file>
jervtub
25

Wenn Sie Dateien zu finden , die nicht lesbar sind , indem Sie , könnten Sie

find . ! -readable
Charley
quelle
6
Dies funktioniert unter Linux, aber der BSD-Fund auf dem Mac (ab 2008) unterstützt ihn nicht.
Walter Nissen
Guter Punkt. Es gibt wahrscheinlich einige Versionen von Find Out, die -readable nicht unterstützen.
Charley
-3

Sie konnten alle Dateien sehen, als Sie die folgende Anweisung ausgeführt haben, da Sie sie als root ausgeführt haben.

find . -perm -g-r

Versuchen Sie, als normaler Benutzer auszuführen.

seenshee91
quelle
7
Dateiattribute (Berechtigungen, Besitz, Größe usw.) hängen nicht vom Benutzer ab. Ich glaube, deine Antwort ist falsch.
Tommy.carstensen
Außerdem fragte OP, wie man nicht gesetzte Bits findet , was Tim Coopers Antwort tut und Ihre verfehlt.
Mike Diehn