arquivos afetados pelo comando

3

Existe uma maneira de saber quais arquivos são afetados por qualquer comando inserido no terminal? Por exemplo, todos sabemos o que o comando passwd faz e qual arquivo afeta. Mas existe uma maneira definitiva de saber o nome exato do arquivo que qualquer comando afeta?

Eu tenho um comando que adiciona usuário a um arquivo, que implementa algumas políticas nesses usuários. Mas não tenho certeza de qual arquivo é adicionado.

    
por Sollosa 26.07.2017 / 15:44

1 resposta

5

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.

    
por 26.07.2017 / 15:58