Время от времени интересующий меня файл модифицируется каким-то процессом. Мне нужно выяснить, какой процесс изменяет этот файл. Использование lsof не будет работать, равно как и kqueue. Возможно ли это во FreeBSD и Linux?
отслеживать, какой процесс изменил файл под FreeBSD/Linux
comment
Это похоже на вопрос системного администратора, а не на вопрос программиста.
- person fuentesjr   schedule 31.01.2009
Ответы (4)
В Linux существует патч ядра для inotify. Однако некоторые говорят, что это редко бывает полезно и может представлять угрозу безопасности. В любом случае, вот исправление.
Кроме того, я не уверен, что есть какой-либо способ получить PID с помощью inotify или dnotify. Вы можете продолжить расследование (например, выполнить поиск по запросу pid dnotify или pid inotify), но я считаю, что это маловероятно.
person
Eduard - Gabriel Munteanu
schedule
30.01.2009
Во FreeBSD, возможно, будет лучше, если вы проверите его функции аудита. а>.
person
aldrinleal
schedule
02.02.2009
В Linux есть демон аудита http://www.cyberciti.biz/tips/linux-audit-files-to-see-who-made-changes-to-a-file.html
См. также главную страницу аудита.
person
scytale
schedule
24.05.2012
Вы можете увидеть, какие процессы открыли файл, просто установив и используя команду lsof (LiSt Open Files).
person
sourcerebels
schedule
02.02.2009