Shell Unix Scipt: alerta na mudança de arquivos específicos

0

Poderia alguém me ajudar com o script

Estou tentando criar um shell de script que avisará / enviará um e-mail para a raiz se algum desses arquivos tiver sido modificado e o script tiver que ser automaticamente rotulado, portanto, o script deve estar em execução a qualquer momento

Eu estou tentando fazer algo para começar, mas preciso de alguém para me corrigir ou me dar ideias

#!/bin/bash
#
#
if ['find . -mtime -0' -eq date];then
    mail -s "modified files" root

    find  /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/sudoers /etc/hosts /etc/sysconfig/network /etc/resolv.conf /etc/bashrc /etc/fstab -type f -mtime -50

else
    mail -s "nothing" root
fi
    
por mKay 17.04.2014 / 00:40

1 resposta

0

Eu ficaria strongmente tentado a instalar o monit e usar a verificação do timestamp. Sua configuração para verificar um arquivo seria tão simples quanto isso. Embora isso apenas observe o timestamp do tempo.

check file passwd with path /etc/passwd
  if changed timestamp then alert
  if changed checksum then alert

Outra coisa que você pode querer fazer é instalar o etckeeper , que coloca o seu / etc no git ou nos seus vcs preferidos. Configurar confirmações diárias para liberar quaisquer alterações. Com / etc em um VCS você pode ver o que foi alterado quando.

Se você usa etckeeper e git como seu vcs, você também pode configurar um post-commit hook que envia um email quando os arquivos que você está interessado são modificados, isso pode até incluir uma diferença exata de qual alteração foi feita. / p>     

por 17.04.2014 / 01:22