Sé que esta es una vieja pregunta, pero sugeriré otro enfoque en caso de que alguien lo encuentre útil. Originalmente publiqué esto como respuesta a una pregunta que fue engañada a esta.
Una opción es usar sysdig
: una aplicación de monitoreo de sistema de código abierto. Al usarlo, puede monitorear la actividad en un archivo por nombre. Suponga que desea ver qué proceso estaba creando un archivo llamado /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
De esa salida, puede ver que un proceso llamado touch
con pid 5470 abrió el archivo.
Si desea más información, puede ejecutar en "modo de captura" donde se recopila un seguimiento de llamadas del sistema:
# sysdig -w /tmp/dumpfile.scap
Luego espere a que se cree el archivo, luego pare sysdig
y ejecute:
# csysdig -r /tmp/dumpfile.scap
Eso te permitirá explorar todo lo que sucedió. Puede presionar <F2>
y seleccionar Files
, presionar <F4>
para buscar el nombre del archivo, luego presionar <F6>
para "cavar" (que le mostrará una salida similar al comando anterior). Con eso, puede usar el mismo enfoque para encontrar información sobre el proceso que realmente creó el archivo.
Hay una versión GUI de csysdig
llamado sysdig-inspect
, si esa es más su taza de té.