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.


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


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

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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.