controlla quale processo ha modificato un file in FreeBSD / Linux
Domanda
Di tanto in tanto, un file che mi interessa è modificato da un processo. Devo scoprire quale processo sta modificando questo file. L'uso di lsof non funzionerà, né kqueue. È possibile con FreeBSD e Linux?
Soluzione
Su Linux, c'è una patch del kernel che fluttua intorno a inotify . Tuttavia, alcuni hanno affermato che ciò è raramente utile e che può costituire un rischio per la sicurezza. In ogni caso, ecco la patch .
A parte questo, non sono sicuro che ci sia un modo per ottenere il PID, sia con inotify o dnotify . Potresti indagare ulteriormente (ad es. Ricerca di pid dnotify o pid inotify ), ma credo che non sia probabile.
Altri suggerimenti
Su FreeBSD, forse dovrebbe essere meglio se controlla le sue funzioni di controllo .
Linux ha un demone di controllo http://www.cyberciti.biz/tips/linux-audit-files-to-see-who-made-changes-to-a-file.html
Vedi anche homepage di auditd
Puoi vedere quali processi hanno aperto un file semplicemente installando e usando il comando lsof (LiSt Open Files).