Quem alterou o arquivo realmente n�o tem como saber.
Eu fiz um pequeno escript que pode lhe ajudar daqui para frente.
Aten��o!
Eu disse P O D E.
Muito bem, chame o comando abaixo abrindo um arquivo e cole o script abaixo:
#vi monitora.sh
#!/bin/bash
#
# monitora.sh
#
# O objetivo deste script � tentar detectar usu�rios que estejam alterando algum arquivo.
# Digo tentar, porque h� um intervalo entre as checagens. Caso o usu�rio abra e feche um
# determinado arquivo entre uma checagem e outra, este script n�o conseguir� registrar a
# abertura do arquivo.
#
# Mas caso vc informe um intervalo de 2 segundos por exemplo, um usu�rio que esteja fazendo
# um altera��o manual em algum arquivo, h� uma grande chance deste script registrar o arquivo. ;-)
#
# Ent�o, voc� j� est� avisado. N�o h� garantias de que todos os arquivos abertos sejam registrados.
# Apenas aqueles que estiverem abertos no momento da checagem ser�o registrados.
#
# O arquivo definido para os registros � o /var/log/monitoramento.log.
# Resolvi escrever este script por que vi um administrador enviar uma mensagem para uma lista de
# discuss�o perguntando se havia uma maneira de o Linux registrar log de todos arquivos que fossem
# abertos. Como n�o conhe�o tal recurso que j� esteja dispon�vel, isso aqui pode ser um ponta p� para tal.
# Se vc descubrir alguma alternativa, ficaria agradecido se me informasse.
#
# Se vc est� utilizando ou pretende utilizar este script envie uma mensagem para
# [EMAIL PROTECTED] e fa�a uma avalia��o.
#
# Se vc tem alguma sugest�o ou fizer alguma altera��o neste script ficaria agradecido se enviasse
# um email com as altera��es para [EMAIL PROTECTED]
#
clear
tput cup 10 5
read -p "Intervalo, em segundos, que deseja verificar o sistema por aquivos abertos: " intervalo
tput cup 13 5
read -p "Quais diret�rios deseja monitorar? (use espa�o para separ�-los): " diretorios
touch /var/log/monitoramento.log
tput cup 20 5
echo "o monitoramento pode ser acompanhado em tempo real. Use: "
tput cup 21 5
echo "tail -f /var/log/monitoramento.log"
tput cup 24 0
lsof +D $diretorios | tee acesso1 | tee acesso2 > /var/log/monitoramento.log
echo "-----------------------------------------------------------------" >> /var/log/monitoramento.log
echo "Os arquivos listados acima j� estavam A B E R T O S " >> /var/log/monitoramento.log
echo "quando o monitoramento foi iniciado em: `date`" >> /var/log/monitoramento.log
echo "-----------------------------------------------------------------" >> /var/log/monitoramento.log
while true; do
lsof +D $diretorios > acesso2;
if [ "`diff acesso1 acesso2`" ]
then
echo "-----------------------------------------------------------------"
if [ "`diff acesso1 acesso2 | egrep '^>'`" ] ; then/var/log/monitoramento.log
diff acesso1 acesso2 | egrep '^>' >> /var/log/monitoramento.log
echo "O arquivo A B E R T O aproximadamente em: `date`" >> /var/log/monitoramento.log
echo "-----------------------------------------------------------------" >> /var/log/monitoramento.log
fi
if [ "`diff acesso1 acesso2 | egrep '^<'`" ] ; then
diff acesso1 acesso2 | egrep '^<' >> /var/log/monitoramento.log
echo "O arquivo F E C H A D O aproximadamente em: `date`" >> /var/log/monitoramento.log
echo "-----------------------------------------------------------------" >> /var/log/monitoramento.log
fi
cat acesso2 > acesso1
fi;
sleep $intervalo
done
# FIM DO SCRITP
Bom, agora de permiss�o de execu��o para o script
#chmod u+x monitora.sh
e depois execute:
#./monitora.sh
QQ d�vida email-me.
Andr� Mariano --------------------------------------------------------------------------- Esta lista � patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br
Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br Regras de utiliza��o da lista: http://linux-br.conectiva.com.br FAQ: http://www.zago.eti.br/menu.html
