como registrar informações quando um arquivo é executado

1

Eu quero registrar informações quando um arquivo é executado e espero seguir essa informação. Qual é a melhor maneira de registrar, por exemplo, um registro de data e hora e endereço IP quando um arquivo está sendo executado via terminal ssh, em oposição a escrever um script php dentro do arquivo para registrá-lo no arquivo de texto ou no banco de dados.

    
por user2155214 05.06.2015 / 01:38

2 respostas

0

Depende do seu propósito, mas é fácil criar um script wrapper - por exemplo, no BASH para registrar o tempo de execução.

Você pode ter dificuldade em obter o endereço IP, uma vez que o usuário esteja logado, o BASH não mantém um registro do endereço IP. Você pode conseguir isso - depois de um modo - analisando "quem" e obtendo o endereço IP associado ao usuário, mas isso faz suposições possivelmente incorretas sobre o usuário.

Você também pode configurar um usuário ou shell especial que registra o que um usuário está fazendo e os limita. Alternativamente, você pode modificar o script "prompt" (variável $ PS1) para registrar quando os comandos são emitidos.

Por último, dependendo da sua distro (e tolerância à dor), você pode usar o SELinux ou o Apparmour para registrar quando determinados arquivos são executados.

    
por 05.06.2015 / 09:38
0

Existe o sistema auditoria , no Linux. Primeiro baixe e instale o pacote auditd , certifique-se de que o daemon auditd tenha iniciado, então você pode configurar as operações a serem realizadas por meio do comando auditctl , que vem com o pacote auditd . Um comando típico seria

auditctl -a exit,always -w /path/to/file

A opção -a exit, always instrui o kernel a examinar, no final (em exit ) de cada syscal ( sempre ) se uma modificação de qualquer tipo para o arquivo em questão ocorreu. Os eventos de auditoria são então registrados em /var/log/audit/audit.log (pelo menos para as distros que eu uso, YMMV).

    
por 05.06.2015 / 10:54