Como monitoro o arquivo bash_history para modificações manuais?

0

Estou tentando criar um daemon para monitorar o arquivo bash_history de um usuário para modificações manuais. Em outras palavras, se um usuário abrir o arquivo e modificá-lo, o daemon notificará essa ação por medidas de segurança, mas quando o histórico se atualizar, nada acontecerá.

A solução que tentei está usando inotifywait :

while true; do
    inotifywait -e close_write,move,delete ~/.bash_history && notify
done

onde notificar é um script que fará um procedimento de notificação específico.

Eu acredito que isso funcionaria bem para a maioria dos arquivos, mas neste caso não funciona, já que notificar é executado toda vez que o histórico é atualizado.

É possível assim, ou devo usar outro aplicativo?

    
por dellief 10.05.2016 / 16:01

1 resposta

1

Isso não é possível com inotify . Não há nenhuma configuração que possa investigar se um arquivo é alterado por um usuário ou por um processo, nem se ele monitorará apenas "anexar arquivos".

E MESMO se houver um evento inotify "anexar ao arquivo", um usuário poderá injetar bash_history dados com echo >> criando entradas falsas e perdendo todos os significado do seu monitoramento.

Você pode proteger seus arquivos de histórico seguindo este conselho, e acho que isso é o melhor que você pode fazer:

por 10.05.2016 / 16:22