Открытие трассы по определенному файлу
Я знаю, как связать определенную программу, чтобы увидеть все файлы, которые она читает. Я знаю, как увидеть, какие процессы используют определенный файл в данный момент.
Но есть ли способ, чтобы войти все файлы открываются. Я хочу что-то вроде tail -f some/log/file
но вместо этого lsof -f /file/someone/might/open/soon
который выводит информацию каждый раз, когда что-то открывает этот файл.
Спасибо
2 ответа
Это можно сделать с помощью системы аудита. Вы не указали свою ОС, я полагаю, 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