отслеживать, какой процесс изменил файл под FreeBSD/Linux
Вопрос
Время от времени файл, который меня интересует, изменяется каким-либо процессом.Мне нужно выяснить, какой процесс изменяет этот файл.Использование lsof не будет работать, как и kqueue.Возможно ли это под FreeBSD и Linux?
Решение
В Linux есть плавающий патч ядра для инициализировать.Однако некоторые говорят, что это редко бывает полезно и что это может представлять угрозу безопасности.В любом случае, вот патч.
Кроме того, я не уверен, что есть какой-либо способ получить PID, либо с инициализировать или днотифицировать.Вы могли бы продолжить расследование (напримерпоиск для идентификатор идентификатора или инициализировать pid), но я считаю, что это маловероятно.
Другие советы
Во FreeBSD, возможно, было бы лучше, если бы вы проверьте его функции аудита.
В Linux есть демон аудита http://www.cyberciti.biz/tips/linux-audit-files-to-see-who-made-changes-to-a-file.html
Смотрите также домашняя страница auditd
Вы можете увидеть, какие процессы открыли файл, просто установив и используя команду lsof (список открытых файлов).