GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Menentukan Proses Yang Membuat File??

Pertanyaan ini sudah memiliki jawaban di sini :Apakah mungkin untuk mengetahui program atau skrip apa yang membuat file tertentu?

(6 jawaban)
Tutup 4 tahun yang lalu.

Diberikan jalur file, bagaimana saya bisa menentukan proses mana yang membuatnya (dan/atau membaca/menulisnya)?

Jawaban yang Diterima:

lsof perintah (sudah disebutkan dalam beberapa jawaban) akan memberi tahu Anda proses apa yang membuka file saat Anda menjalankannya. lsof tersedia untuk hampir semua varian unix.

lsof /path/to/file

lsof tidak akan memberi tahu Anda tentang file yang dibuka dua mikrodetik yang lalu dan ditutup satu mikrodetik yang lalu. Jika Anda perlu melihat file tertentu dan bereaksi saat diakses, Anda memerlukan alat yang berbeda.

Jika Anda dapat merencanakan sedikit sebelumnya, Anda dapat meletakkan file di LoggedFS berkas sistem. LoggedFS adalah sistem file bertumpuk FUSE yang mencatat semua akses ke file dalam hierarki. Parameter logging sangat dapat dikonfigurasi. FUSE tersedia di semua unice utama. Anda ingin mencatat akses ke direktori tempat file dibuat. Mulailah dengan contoh file konfigurasi yang disediakan dan sesuaikan dengan panduan ini.

loggedfs -l /path/to/log_file -c /path/to/config.xml /path/to/directory
tail -f /path/to/log_file

Banyak serikat pekerja menawarkan fasilitas pemantauan lainnya. Di Linux, Anda dapat menggunakan subsistem audit yang relatif baru. Tidak banyak literatur tentang itu (tetapi lebih dari tentang logfs); Anda dapat memulai dengan tutorial ini atau beberapa contoh atau hanya dengan auditctl halaman manual. Di sini, itu harus cukup untuk memastikan daemon dimulai, lalu jalankan auditctl :

auditctl -w /path/to/file

(Saya pikir sistem yang lebih lama membutuhkan auditctl -a exit,always -w /path/to/file ) dan lihat log di /var/log/audit/audit.log .


Linux
  1. Cara Menentukan Proses Yang Menulis ke Disk di Linux

  2. Bagaimana cara menentukan apakah sistem file peka terhadap huruf besar-kecil di .net?

  3. Bagaimana cara menentukan apakah suatu proses berjalan di dalam lxc/Docker?

  1. Bagaimana saya bisa tahu proses mana yang menggunakan swap?

  2. Bagaimana saya bisa menentukan proses apa yang membuka file di Linux?

  3. Bagaimana cara menentukan apakah file biner linux 32-bit atau 64-bit?

  1. Bagaimana Cara Menghapus File Yang Nama Filenya Memiliki Karakter Non-cetak?

  2. Linux – Bagaimana Cara Menentukan Modul Yang Menodai Kernel?

  3. Tentukan di grup mana proses berjalan berada?