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.