Trova i file creati da un determinato utente


15

Come farei per scoprire tutti i file creati da un determinato utente e visualizzarli sullo schermo?

Ho avviato uno script che richiede all'utente corrente di inserire il nome utente di cui desiderano visualizzare tutti i file. Ho pensato di utilizzare un'istruzione if considerando che vorrei includere il controllo degli errori.

echo -e "Option 11: Display all the Files a Particular User Has Created\n\n"
echo -e "Enter Username below\n"
read username

6
findha -userun'opzione per la ricerca di file di proprietà di un determinato utente. Non sono sicuro di come potresti determinare chi ha creato un file oltre a quello, però. La proprietà può cambiare, quindi non so se è quello che stai veramente desiderando.
Bratchley,

2
L'unico modo in cui vedo per eseguire ciò è avere il controllo del filesystem in atto.
BitsOfNix

Risposte:


22

Non puoi farlo sui soliti filesystem Linux, poiché non tiene traccia del creatorfile, ma solo del proprietario del file. Il creatore e il proprietario sono generalmente, ma non necessariamente gli stessi.

Se vuoi trovare il proprietario del file, puoi, come indicato da Bratchley, usare

find / -type f -user user_name

per trovare quei file e visualizzare i nomi.

Per visualizzare i file è necessario un programma in grado di mostrare il contenuto per qualsiasi tipo di file che potresti trovare in quel modo. Se si dispone di una tale show_fileutility che accetta un singolo nome_file come argomento, è possibile eseguire:

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

0

Utilizzare find:

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

Quindi, nella tua sceneggiatura:

echo “Enter Username:”;  
while read -e;do find / -type f -user $REPLY -print 2>/dev/null;done
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.