Назад | Перейти на главную страницу

открытие трассировки определенного файла

Я знаю, как настроить определенную программу, чтобы увидеть все файлы, которые она читает. Я знаю, как узнать, какие процессы в данный момент используют определенный файл.

Но есть ли способ протоколировать открытие всех файлов. Я хочу что-то вроде tail -f some/log/file но вместо того, чтобы lsof -f /file/someone/might/open/soon который выводит информацию каждый раз, когда что-то открывает этот файл.

Спасибо

Это можно сделать с помощью системы аудита. Вы не указали свою ОС, я полагаю, Linux. Проверьте http://linux.die.net/man/8/auditd и See also страницы внизу.

Вы можете использовать inotify для запуска lsof при доступе к файлу. Например, в incrontab:

/etc/passwd IN_ACCESS /tmp/lsof.sh $@

Incrontab, похоже, не использует оболочку, поэтому перенаправления использовать нельзя. Вместо этого можно использовать обертку:

lsof -f -- $1 >> /tmp/lsof.log