Recentemente precisei escrever um script simples para apagar logs de acesso de um sistema debian. Não é nada comparado com qualquer log cleaner, mas, deu pro gasto.
Segue código:
#!/bin/bash
USUARIO=$1
IP=$2
MESSAGES=/var/log/messages
FTP=/var/log/vsftpd.log
LOGIN=/var/log/wtmp
AUTH=/var/log/auth.log
if [ $# -lt 1 ] ; then
echo "uso: clean usuario [arquivo]"
exit;
fi
if [ $USUARIO == root ] ; then
echo "deletando /root/.bash_history"
rm -f /root/.bash_history
else
echo "deletando /home/"$USUARIO"/.bash_history"
rm -f /home/$USUARIO/.bash_history
fi
echo "Limpando entradas em" $MESSAGES "que correspondem ao usuario" $USUARIO
cat $MESSAGES | grep -v $USUARIO > $MESSAGES
echo "Limpando entradas em" $FTP "que correspondem ao usuario" $USUARIO
cat $FTP | grep -v $USUARIO > $FTP
echo "Limpando entradas em" $LOGIN "que correspondem ao usuario" $USUARIO
cat $LOGIN | grep -v $USUARIO > $LOGIN
echo "Limpando entradas em" $AUTH "que correspondem ao usuario" $USUARIO
cat $AUTH | grep -v $USUARIO > $AUTH
if [ $# == 2 ] ; then
echo "Limpando linhas em "$AUTH "que correspondem a" $2
cat $AUTH | grep -v $2 > $AUTH
O que o script faz é o seguinte:
primeiro ele apaga .bash_history no diretório:
/root - caso o usuário especificado como parametro seja root.
/home/usuario - caso usuário passado como parametro seja diferente de root.
Após isso, o script faz uma busca em alguns arquivos e apaga todas as linhas que combinam com o usuário passado com parâmetro. Os arquivos procurados são os seguintes:
/var/log/messages - registrar todas as operações do sistema ou de programas do mesmo.
/var/log/vsftpd.log - registrar todas as operações logon/logoff realizadas pelo daemon de ftp.
/var/log/wtmp - registrar os logons de usuários. É um arquivo binário que trabalha em conjunto com a função who para a identificação do usuário.
/var/log/auth.log - Registra operações de autenticações.
Lembrando que você ainda pode especificar, no lugar do usuário, qualquer string que deseja retirar dos arquivos mencionados a cima. Se você desejar adicionar um outro arquivo para realizar a limpeza é só passar o diretório como segundo parâmetro, assim:
giorge#: clean root /var/log/dmesg
O script é bem básico mesmo e só faz o feijão com arroz. Se você precisar de algo mais elaborado melhor procurar pelo ZAP ou pelo hideme.c.
Abraços
Giorge Henrique Abdala
Nenhum comentário:
Postar um comentário