Script usado junto com o squid para dedurar usuários.
Publicado por Gleisson Marin Bissa 22/03/2007
[ Hits: 11.351 ]
Homepage: http://www.gleisson.com.br
Este script varre diariamente o log do squid, procurando acessos à internet e seus respectivos usuários, enviando para os mesmos e para a gerência um e-mail contendo o nome do usuário, as URL's que ele acessou e o IP/IP's das estações que ele usou.
Basta colocá-lo no cron para rodar de preferência à noite.
#!/bin/bash
# Script de monitoramento de log do squid.
# Faz a varredura do usuario no fim do dia, verifica seus acessos, e manda um e-mail para o proprio usuario e sua gerencia.
# Obs.: Colocar no cron.
# Gleisson Marin Bissa
# ----------------------------------------------------------------------------
dia_cur=$(LC_ALL=C date "+%d/%b")
usuarios=(joao maria jose)
for usuario in "${usuarios[@]}" ; do
ip=$(grep "$usuario \[$dia_cur" /var/log/squid/access.log | tr -s [' ','/'] '\t' | cut -f1 | sort |uniq)
url=$(grep "$usuario \[$dia_cur" /var/log/squid/access.log | tr -s [' ','/'] '\t' | cut -f10 | sort |uniq)
if [ -n "$ip" ] ; then
usuariold=$usuario
## Este case e necessario apenas para adequacao do nome do usuario de internet ao e-mail do caboco, se o nome do usuario for diferente do e-mail.
case $usuario in
joao) usuario=expedicao ;;
maria) usuario=mariams ;;
jose) usuario=josesp
esac
domain="seudominio.com.br"
to="$usuario"
subject="relatorio diario de acessos a internet"
data=`date "+%a %d %b %Y - %k:%M:%S"`
echo -ne "Usuario: $usuariold \nData: $data \n\nEstacoes usadas pelo usuario:\n$ip \n\nURL's:\n$url \n\nEste e um e-mail automatico...Favor nao responder!!! Duvidas entre em contato com o setor de TI" > /tmp/teller
mail -s "$subject" gerencia.ti@$domain encarregado.ti@domain $to@$domain < /tmp/teller
if [ -f /tmp/teller ] ; then
rm -rf /tmp/teller
fi
fi
done
Localizador não interativo do Mozilla Thunderbird para Slackware
DioPSI - Script multidistro para instalar programas
Front-end utilizando o Xdialog para o comando whereis
librePods: liberte seus AirPods em 2026
Bluefin - A nova geração de ambientes de trabalho Linux
Como atualizar sua versão estável do Debian
Configurar aviso da temperatura da CPU no Conky
Pós-instalação do elementary OS 8.1
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Conky não mostra temperaturas da CPU no notebook (14)
Registro do 'last&qu... errado [RESOLVIDO] (9)
O WiFi não reconhece minha rede depois que o processo de suspensão é r... (2)









