Linux shell: Dateien in einem Verzeichnis zu finden, die keinen owner besitzen?

... komplette Frage anzeigen

2 Antworten

in deinem für Linux geeigneten Filesystem ist immer ein Platz für eine User-ID vorgesehen. Keine Datei (Verzeichnisse eingeschlossen) kann also "keine Owner" haben, irgendein Zahlenwert steht da immer drin, auch wenn zu dieser Zahl dann kein User in der Datei /etc/passwd existiert.

Vielleicht gibt es ein Tool, dass alle diese Dateien auflisten kann. Ich kenne es aber nicht.
Daher würde ich zuerst alle User-ID's ermitteln, zu denen kein User-Name bekannt ist.

stat * |grep UNKNOWN > unknown-user-ids

in dieser Datei ( unknown-user-ids ) findet man die Zahlenwerte, leider aber nicht den Dateinamen.

eine Zeile könnte lauten:

Access: (0644/-rw-r--r--) Uid: ( 1055/ UNKNOWN) Gid: ( 100/ users)

die 1055 ist hier die ID des Owners ( der im System nicht existiert) 

ls -l | grep <die-user-id>

wird dann auch der Dateiname angezeigt.

Ob es sich lohnt, bei den wenigen "unbekannten Usern" ein Script zu schreiben, das dann gleich die Datei-Namen ausgibt, möchte ich bezweifeln.
Zum Üben, aber keine schlechte Aufgabe.



Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von flollie
29.02.2016, 12:25

Vielen Dank, guenterhalt! Ich habe es jetzt mit ls -lR | grep -v "root" geloest, da alle user (nicht root) so ausgefiltert werden. In dem Verzeichnis soll ich rekursiv arbeiten und es sind ca 800 Dateien "ohne owner".
Deine Vorschlaege haben geholfen!

0

Mit Windows Grep finde ich eigentlich alles, hast du das ausprobiert?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von flollie
29.02.2016, 10:34

Es muss in der Linux shell laufen. Ich bin neu bei Linux unterwegs und kennen leider noch lange nicht alle Moeglichkeiten :/

0

Was möchtest Du wissen?