Temukan file yang dibuat oleh pengguna tertentu

15

Bagaimana saya bisa menemukan semua file yang dibuat oleh pengguna tertentu dan menampilkannya ke layar?

Saya telah memulai skrip yang meminta pengguna saat ini untuk memasukkan nama pengguna yang ingin mereka lihat semua file. Saya sudah berpikir untuk menggunakan pernyataan if mengingat saya ingin memasukkan pengecekan kesalahan.

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
sumber
6
findmemiliki -useropsi untuk mencari file yang dimiliki oleh pengguna tertentu. Namun, tidak yakin bagaimana Anda dapat menentukan siapa yang membuat file di luar itu. Kepemilikan dapat berubah jadi saya tidak tahu apakah itu yang benar-benar Anda inginkan.
Bratchley
2
Satu-satunya cara saya melihat untuk melakukan itu adalah dengan memiliki audit sistem file di tempat.
BitsOfNix

Jawaban:

22

Anda tidak dapat melakukannya pada sistem file Linux yang biasa, karena ia tidak melacak creatorfile, hanya pemilik file. Pencipta dan pemilik biasanya, tetapi tidak harus sama.

Jika Anda ingin menemukan pemilik file, Anda dapat, seperti yang ditunjukkan Bratchley, gunakan

find / -type f -user user_name

untuk menemukan file-file itu dan menampilkan namanya.

Untuk menampilkan file, Anda memerlukan beberapa program yang dapat menampilkan konten untuk semua jenis file yang mungkin Anda temukan. Jika Anda memiliki show_fileutilitas yang menggunakan satu nama file sebagai argumen, Anda dapat melakukan:

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

Gunakan find:

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

Jadi, dalam skrip Anda:

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