Pessoal, esse script gera uma chave md5 de todos os arquivos que forem encontrados com o comando find seguido dos parametros especificados.
Quando o md5 gera uma chave de um determinado arquivo e o mesmo é alterado a chave muda caso tente gerar novamente com o md5sum.
Faça um teste, crie um arquivo e gere a chave dele: #md5sum /caminho/do/arquivo
Altere ele e gere novamente essa chave, você verá que as chaves são diferentes pois o arquivo foi modificado.
Aqui a intenção é coletar essa chave md5 de todos os arquivos ".conf" do /etc/ comparar com a chave do dia anterior e gerar um relatório contendo o caminho completo de todos os arquivos que foram alterados.
Esse relatório poderá ser disponibilizado de acordo com a sua necessidade, nesse script vamos enviar o relatório por e-mail, onde o script é executado do relay local do servidor de e-mail.
Vamos lá:
Esse arquivo é responsavel por procurar os ".conf", gerar a chave, comprar e enviar por e-mail
#touch Coleta
--Inicio--
#!/bin/bash
#Coletando arquivos de configuração
find /etc/ -name *.conf > Confs
#Gerando Chave md5
touch log/`date +%Y-%m-%d`.log ; cat Confs xargs md5sum > log/`date +%Y-%m-%d`.log
#Verificando os arquivos alterados
diff log/`date +%Y-%m-%d --date="1 days ago"`.log log/`date +%Y-%m-%d --date="2 days ago"`.log grep "<" awk -F " " '{print "md5: "$2 " Arquivo: " $3}' > Modificados
#Enviando relatorio por e-mail
telnet 127.0.0.1 25 <<
Subject: Relatorio de confs modificados `date +%e-%m-%Y --date="1 days ago"`
To: thiago@example.com.br
Relatorio de arquivos alterados
`cat Modificados`
.
FIM
--FIM--
#touch Confs
#touch Modificados
#mkdir log
#chmod u+x Coleta
Efetue os testes, lembrando que precisa ter no minimo 3 coletas feitas para que consiga algum resultado, caso queira testa-lo agora mesmo, faça 3 coletas onde em cada uma delas você vai lá na pasta log e altera o nome do arquivo para 2 dias atras e 1 dia atras. alterando qualquer linha dos arquivos gerados.
Qualquer duvida pergunte :)
m4tri_X #
quinta-feira, 18 de junho de 2009