Esta es una respuesta que escribí a una pregunta anterior:
Generalmente, si desea saber qué está haciendo un proceso / usuario / archivo sin tener que ejecutar lsof contra él las 24 horas del día, los 7 días de la semana, use auditctl.
Asumir que tiene un control de auditoría de kernel reciente es una operación simple. (Esto está en Debian-fu, si está ejecutando Red Hat translate según corresponda)
# apt-get install auditd
Asegúrese de que se esté ejecutando (/etc/init.d/auditd status).
auditctl -a entry,always -F arch=b64 -S open -F pid=<process id>
Reemplace b64 con b32 si está ejecutando un arco de 32 bits, abrir puede ser reemplazado por cualquier llamada al sistema o la palabra 'todos'
Para más información, lea la página de manual de auditctl.
Puede usar este método y pedirle que observe la llamada al sistema 'desvincular'.
El parámetro -w es útil para ver archivos / directorios, pero como explica la página del manual, hay advertencias.
-w ruta Inserta un reloj para el objeto del sistema de archivos en la ruta. No puede insertar un reloj en el directorio de nivel superior. Esto está prohibido por el núcleo. Los comodines tampoco son compatibles y generarán una advertencia. La forma en que funcionan los relojes es siguiendo el inodo internamente. Esto significa que si pone un reloj en un directorio, verá lo que parecen ser eventos de archivo, pero en realidad es solo la actualización de metadatos. Puede perderse algunos eventos al hacer esto. Si necesita ver todos los archivos en un directorio, se recomienda colocar un reloj individual en cada archivo. A diferencia de las reglas de auditoría de syscall, los relojes no afectan el rendimiento en función del número de reglas enviadas al núcleo.