Suchen Sie nach Dateien, die von einem bestimmten Benutzer erstellt wurden

15

Wie kann ich alle von einem bestimmten Benutzer erstellten Dateien ermitteln und auf dem Bildschirm anzeigen?

Ich habe ein Skript gestartet, das den aktuellen Benutzer auffordert, den Benutzernamen einzugeben, von dem er alle Dateien anzeigen möchte. Ich habe darüber nachgedacht, eine if-Anweisung zu verwenden, da ich die Fehlerprüfung einbeziehen möchte.

echo -e "Option 11: Display all the Files a Particular User Has Created\n\n"
echo -e "Enter Username below\n"
read username
Nathan Rampado
quelle
6
findhat eine -userOption zum Suchen nach Dateien, die einem bestimmten Benutzer gehören. Nicht sicher, wie Sie feststellen können, wer darüber hinaus eine Datei erstellt hat. Die Eigentümerschaft kann sich ändern, sodass ich nicht weiß, ob Sie das wirklich wollen.
Bratchley
2
Die einzige Möglichkeit, dies zu tun, besteht darin, ein Dateisystem-Audit durchzuführen.
BitsOfNix

Antworten:

21

Dies ist auf den üblichen Linux-Dateisystemen nicht möglich, da nicht creatordie Datei, sondern nur der Eigentümer der Datei überwacht wird. Der Schöpfer und der Besitzer sind normalerweise, aber nicht notwendigerweise gleich.

Wenn Sie den Eigentümer der Datei suchen möchten, können Sie, wie von Bratchley angegeben, verwenden

find / -type f -user user_name

um diese Dateien zu finden und die Namen anzuzeigen.

Zum Anzeigen der Dateien benötigen Sie ein Programm, mit dem der Inhalt für jeden Dateityp angezeigt werden kann, den Sie möglicherweise auf diese Weise finden. Wenn Sie ein solches show_fileDienstprogramm haben, das einen einzelnen Dateinamen als Argument verwendet, können Sie Folgendes tun:

find / -type f -user user_name -exec show_file {} \;
Anthon
quelle
0

Verwendung find:

find / -type f -user “<SHORTUSERNAME>" -print 2>/dev/null

Also, in Ihrem Skript:

echo “Enter Username:”;  
while read -e;do find / -type f -user $REPLY -print 2>/dev/null;done
njboot
quelle