Saya mencobanya tracefile
. Bagi saya itu memberi jauh lebih sedikit pertandingan daripada saya sendiri strace ... | sed ... | sort -u
. Saya bahkan menambahkan -s256
ke strace(1)
baris perintah tetapi tidak banyak membantu ...
Kemudian saya mencobanya loggedfs
. Pertama gagal karena saya tidak punya akses baca / tulis ke direktori saya mencoba login dengannya. Setelah melakukan chmod 755 sementara saya mendapatkan beberapa hit ...
Tetapi, bagi saya, melakukan hal berikut tampaknya bekerja paling baik:
inotifywait -m -r -e OPEN /path/to/traced/directory
Dan kemudian postprocess output setelah menjalankan proses yang menarik.
Ini tidak menangkap file proses akses luar
direktori dilacak atau ini tidak tahu apakah beberapa proses lain mengakses pohon direktori yang sama, tetapi dalam banyak kasus ini adalah alat yang cukup baik untuk menyelesaikan pekerjaan.
EDIT: inotifywait tidak menangkap akses symlink (hanya target setelah symlink diselesaikan). Saya terpana oleh hal ini ketika saya mengarsipkan perpustakaan yang diakses oleh sebuah program untuk digunakan di masa depan. Menggunakan beberapa peretasan perl perl tambahan untuk memilih symlink di sepanjang perpustakaan yang diberitahukan untuk menyelesaikan pekerjaan dalam satu kasus tertentu.
EDIT2: setidaknya ketika inotifying file dan symlinks sendiri dari inotifywait baris perintah (misalnya inotifywait -m file symlink
atau inotifywait symlink file
) output akan menunjukkan akses ke mana yang pertama di baris perintah (terlepas dari mana, file
dari symlink
diakses). inotifywait tidak mendukung IN_DONT_FOLLOW - yang, ketika saya coba secara terprogram hanya membuat orang melihat akses ke file
(yang mungkin, atau mungkin tidak, menjadi apa yang diharapkan ...) terlepas dari pesanan dalam baris perintah
strace
, saya menganggap Anda secara khusus tertarik pada Linux. Benar?