Finden Sie alle Dateien auf dem Server mit 777 Berechtigungen

48

Ich suche nach einem Linux-Befehl, um alle Verzeichnisse auf meinem Server zu durchsuchen und alle Dateien mit 777-Berechtigung zu finden. Die Ausgabe wäre eine Liste aller Dateien mit vollständigem Pfad.

Quacksalber
quelle

Antworten:

61

Verwendung find:

find / -type f -perm 0777
Hochzeiten
quelle
16

Und wenn Sie alle Dateien ohne Berechtigung 0777 finden möchten, geben Sie einfach ein! vor der dauerwelle, zb

find / -type f ! -perm 0777

Kai
quelle
9

Sie können auch die Berechtigungen oder den Besitz aller dieser Dateien ändern, die sich aus der findAusführung ergeben, indem Sie die -execOption verwenden, um zu vermeiden, dass sie manuell geändert werden. Beispielhafter Grund: Auf einem Webserver müssen Sie der Gruppe möglicherweise das Recht erteilen, Dateien zu schreiben:

find / -type f -perm 0777 -exec chmod 775 {} \; -exec chgrp -R www {} \;
altmas5
quelle
1
Seien Sie dabei sehr vorsichtig - es lohnt sich immer, zuerst -exec ls zu verwenden, um zu sehen, wie sich Ihr Befehl auswirkt. Find ist sehr leistungsfähig und findet oft Dinge, die Sie nicht erwartet haben.
John Hunt
Das ist wahr. Mein Befehl sollte verwendet werden, sobald Sie wissen, welche Dateien aus der Suche resultieren.
Altmas5
8

es ist so einfach wie:

find / -perm 0777

Wenn Sie nur Dateien abgleichen möchten, verwenden Sie stattdessen Folgendes:

find / -type f -perm 0777
stricken
quelle