supervisar qué proceso modificó un archivo en FreeBSD / Linux
Pregunta
De vez en cuando, un archivo que me interesa es modificado por algún proceso. Necesito averiguar qué proceso está modificando este archivo. Usar lsof no funcionará, ni kqueue. ¿Es esto posible bajo FreeBSD y Linux?
Solución
En Linux, hay un parche de kernel flotando para inotify . Sin embargo, algunos han dicho que esto rara vez es útil y que puede ser un riesgo para la seguridad. En cualquier caso, aquí está el parche .
Aparte de eso, no estoy seguro de que haya alguna forma de obtener el PID, ya sea con inotify o dnotify . Puede investigar más a fondo (por ejemplo, buscar pid dnotify o pid inotify ), pero creo que no es probable.
Otros consejos
En FreeBSD, quizás debería ser mejor si verifica sus funciones de auditoría .
Linux tiene un demonio de auditoría http://www.cyberciti.biz/tips/linux-audit-files-to-see-who-made-changes-to-a-file.html
Consulte también página de inicio auditada
Puede ver qué procesos abrieron un archivo simplemente instalando y usando el comando lsof (LiSt Open Files).