Você pode fazer isso de forma rudimentar fazendo strace -e open <cmd>
; existe também a opção -f
para seguir processos filhos; o método strace
não é muito fácil de usar (você precisa basicamente entender alguns C, syscalls, etc) e não funciona a longo prazo. Existem outras ferramentas como sysdig
que podem funcionar (não foram usadas para esse propósito). Você pode executar auditd
ou um IDS baseado em arquivo, como o AIDE, e detectá-lo quando determinados arquivos estiverem sendo alterados.
Em sua pergunta, não sei dizer se você está perguntando como descobrir quais arquivos um programa acessa (por exemplo, uma auditoria) ou se está tentando alertar com base em determinados arquivos que estão sendo acessados (um IDS). Se você está tentando descobrir quais arquivos um programa acessa, a melhor maneira de fazer isso é ler a origem; ferramentas como strace
são de baixo nível.