Bunun eski bir soru olduğunu biliyorum, ancak birisinin yararlı bulması durumunda başka bir yaklaşım önereceğim. Aslında bunu, buna cevap verilmiş bir soruya cevap olarak göndermiştim.
Bir seçenek kullanmaktır sysdig
: açık kaynaklı bir sistem izleme uygulaması. Kullanarak, bir dosyadaki etkinliği isme göre izleyebilirsiniz. Hangi işlemin bir dosya oluşturduğunu görmek istediğinizi varsayalım /tmp/example.txt
:
# sysdig fd.name=/tmp/example.txt
567335 16:18:39.654437223 0 touch (5470) < openat fd=3(<f>/tmp/example.txt) dirfd=-100(AT_FDCWD) name=/tmp/example.txt flags=70(O_NONBLOCK|O_CREAT|O_WRONLY) mode=0666
567336 16:18:39.654438248 0 touch (5470) > dup fd=3(<f>/tmp/example.txt)
567337 16:18:39.654438592 0 touch (5470) < dup res=0(<f>/tmp/example.txt)
567338 16:18:39.654439629 0 touch (5470) > close fd=3(<f>/tmp/example.txt)
567339 16:18:39.654439764 0 touch (5470) < close res=0
567342 16:18:39.654441958 0 touch (5470) > close fd=0(<f>/tmp/example.txt)
567343 16:18:39.654442111 0 touch (5470) < close res=0
Bu çıktıdan, touch
pid 5470 adlı bir işlemin dosyayı açtığını görebilirsiniz.
Daha fazla bilgi istiyorsanız, sistem çağrısı izlemesinin toplandığı "yakalama modunda" çalışabilirsiniz:
# sysdig -w /tmp/dumpfile.scap
Sonra dosyanın oluşturulmasını bekleyin, ardından durdurun sysdig
ve çalıştırın:
# csysdig -r /tmp/dumpfile.scap
Bu olanları keşfetmene izin verir. Düğmesine basıp <F2>
seçebilir Files
, <F4>
dosya <F6>
adını aramak için basabilir, sonra "kazmak" için basabilirsiniz (bu, yukarıdaki komuta benzer çıktılar gösterecektir). Bununla, dosyayı gerçekten oluşturan süreçle ilgili bilgileri bulmak için aynı yaklaşımı kullanabilirsiniz.
Daha çok çay içiyorsanız, GUI csysdig
adı verilen bir sürümü sysdig-inspect
var.