В среде Windows вы можете запустить Procmon (Process Monitor) из Sysinternals, который покажет вам каждый доступ к файлу, запрос реестра и т. Д. В масштабе всей системы (скриншот прилагается). Затем вы можете вернуться назад, чтобы узнать, какие процессы касаются / обращаются к определенному файлу (или запросу реестра).
В мире Linux мне иногда нужно выяснить, какие процессы обращаются к определенному файлу в системе - но я понятия не имею, на какой процесс начать смотреть. Мне известно о strace, и я знаю, что могу присоединить его к нескольким процессам, но есть ли способ вывести каждый доступ к файлам глобально под Linux?
Sysdig сделает то, что вы ищете. Однако для этого требуется root-доступ и модуль sysdig-probe.
Конечно, это Linux, есть несколько способов сделать это.
Метод трассировки. Скрипты , использующие ftrace или eBPF для трассировки всего, что есть в ядре. В этом примере open () см. opensnoop . Вы можете фильтровать по PID или имени файла. Очень мощный, и его можно использовать по отдельности, но не всем пока удобно писать сценарии проверки ядра.
Метод аудита. Настройте правила auditd для регистрации определенных обращений к файлам или системных вызовов. Следуйте примерам отслеживания пути «Подсистема аудита Linux использовалась в корпоративных средах для обеспечения соответствия требованиям. Документирована, хорошо ведет журнал, но не может контролировать все на лету.