Tiga file tiba-tiba muncul di direktori home saya, yang disebut "client_state.xml", "lockfile", dan "time_stats_log". Dua yang terakhir kosong. Saya ingin tahu bagaimana mereka sampai di sana. Ini bukan pertama kalinya hal itu terjadi, tetapi yang terakhir adalah beberapa minggu yang lalu; Saya menghapus file dan tidak ada yang rusak atau mengeluh. Saya belum bisa memikirkan apa yang saya lakukan pada saat itu dilaporkan oleh stat $filename
. Apakah ada cara saya bisa mengetahui dari mana mereka berasal?
Atau, apakah ada cara untuk memantau direktori home (tetapi tidak sub-direktori) untuk pembuatan file?
files
monitoring
Serigala
sumber
sumber
Jawaban:
Saya tidak percaya ada cara untuk menentukan program mana yang membuat file.
Untuk pertanyaan alternatif Anda: Anda dapat menonton file yang akan dibuat kembali, menggunakan
inotify
.inotifywait
adalah antarmuka baris perintah untukinotify
subsistem; Anda dapat memerintahkannya untuk mencaricreate
acara di direktori home Anda:Anda mungkin ingin menjalankannya dengan
-m
(monitor), yang memberitahukannya untuk tidak keluar setelah melihat acara pertamasumber
inotify
? Ini tidak diinstal (kernel 2.6.34) dan tidak ada/dev/inotify
.CONFIG_INOTIFY_USER
(Filesystems
->Inotify support for userspace
).inotifywait
mungkin dalam paket bernama sesuatu sepertiinotify-tools
inotify-tools
paket, jadi sekarang saya punyainotifywait
(daninotifywatch
). Saya mengujinya dan tampaknya berhasil.Anda dapat menonton semua yang terjadi pada sistem file dengan mengaksesnya melalui LoggedFS . Ini adalah sistem file bertumpuk yang mencatat setiap akses di pohon direktori.
Log seluruh direktori rumah Anda mungkin memperlambat sistem Anda. Anda setidaknya ingin menulis file konfigurasi dengan filter yang ketat.
Jika Anda memiliki akses root, di Linux, Anda dapat menggunakan subsistem audit untuk mencatat banyak hal, termasuk akses filesystem. Pastikan
auditd
daemon dimulai, kemudian konfigurasikan dengan apa Anda ingin loginauditctl
. Setiap operasi yang dicatat dicatat dalam/var/log/audit/audit.log
(pada distribusi tipikal). Untuk mulai menonton file tertentu:atau dalam bentuk panjang
Jika Anda menaruh arloji di direktori (dengan
-w
atau-F dir=
), file di dalamnya dan subdirektori secara berulang juga ditonton.sumber
Anda mungkin ingin melihatnya
auditd
, paket ini memungkinkan Anda untuk melakukan audit keamanan, dan mendapatkan banyak informasi tentang siapa yang mengubah apa yang ada di sistem file.sumber
Saya tahu ini adalah pertanyaan lama, tetapi saya akan menyarankan pendekatan lain untuk berjaga-jaga seandainya seseorang menemukan itu berguna. Saya awalnya memposting ini sebagai jawaban untuk pertanyaan yang ditipu untuk yang satu ini.
Satu pilihan adalah menggunakan
sysdig
: aplikasi pemantauan sistem sumber terbuka. Dengan menggunakannya, Anda dapat memantau aktivitas pada file dengan nama. Misalkan Anda ingin melihat proses apa yang membuat file bernama/tmp/example.txt
:Dari output itu, Anda dapat melihat proses yang dinamai
touch
dengan pid 5470 membuka file.Jika Anda menginginkan informasi lebih lanjut, Anda dapat menjalankan dalam "mode pengambilan" tempat jejak panggilan sistem dikumpulkan:
Kemudian tunggu file dibuat, lalu berhenti
sysdig
dan jalankan:Itu akan membiarkan Anda menjelajahi semua yang terjadi. Anda dapat menekan
<F2>
dan memilihFiles
, tekan<F4>
untuk mencari nama file, lalu tekan<F6>
untuk "menggali" (yang akan menunjukkan kepada Anda keluaran yang mirip dengan perintah di atas). Dengan itu, Anda kemudian dapat menggunakan pendekatan yang sama untuk menemukan informasi tentang proses yang sebenarnya membuat file.Ada versi GUI yang
csysdig
disebutsysdig-inspect
, jika itu lebih dari secangkir teh Anda.sumber
Anda belum dapat
inotify
sehingga Anda dapat menulis skrip yang memeriksa file dalam satu lingkaran:sumber