Solusi 1:
Solusi 1 :ketuk sistem
Anda dapat menggunakan systemtap untuk menampilkan semua PID yang mencoba menggunakan unlink() pada inode .bashrc
dan .bash_profile
file.
Instal systemtap dan simbol debug untuk kernel Anda.
Buat file dengan nama unlink.stap
dengan konten berikut:
probe syscall.unlink
{
printf ("%s(%d) unlink (%s) userID(%d)\n", execname(), pid(), argstr, uid())
}
Kemudian jalankan dengan sudo stap unlink.stap
Solusi 2 :beri tahu
Anda juga dapat menggunakan inotify untuk melihat kapan file dihapus.
Solusi 3 :ftrace
Solusi lain adalah dengan menggunakan ftrace:
trace-cmd record -e \*unlink\*
Tunggu hingga file dihapus, tekan CTRL+C untuk menghentikan trace-cmd record ...
, lalu jalankan:
trace-cmd report
Solusi 4 :bpfrace
Instal bpftrace
, lalu jalankan:
bpftrace -e 'tracepoint:syscalls:sys_enter_unlink* { printf("%s %s\n", comm, str(args->pathname)); }'
Solusi 2:
selain jawaban micea, Anda dapat chattr +i file sebagai root dan lihat apakah ada yang mencatat kesalahan saat mencoba menghapusnya.
Solusi 3:
Apakah Anda benar-benar yakin bahwa pengguna itu sendiri tidak (secara tidak sengaja) menghapusnya ?
Saya memiliki beberapa pengguna (Windows) yang tidak mengerti dengan masalah yang sama. Ternyata mereka menghapus file-file itu sendiri setiap kali mereka mengunjungi home-dir mereka dengan klien ftp. Mereka memperhatikan file .xxxx (klien ftp tidak menyembunyikannya) dan menghapus "kekacauan".
Tidak pernah terpikir oleh saya bahwa mereka melakukannya sendiri sampai salah satu dari mereka mengeluh tentang file yang muncul kembali secara spontan yang telah dia hapus beberapa hari sebelumnya.
Solusi 4:
Kami menggunakan skrip logout bash (~/.bash_logout) untuk membersihkan file tertentu setelah logout - Anda dapat memeriksa untuk melihat apakah Anda memiliki penyiapan itu, mungkin dengan gumpalan jari gemuk di dalamnya.
Solusi 5:
Sepertinya penyusup, yang melakukan find /home/user -name filename -exec rm -f {} \; setelah semua dia menyelinap :). Hanya menebak, karena Anda menyebutkan bahwa file cadangan juga dihapus.