He analizado el script y mi entendimiento no llega para mucho, pero veo
que sacas la info desde mail.log y lo que haces es tomar lo que quieres,
luego lo armas y lo guardas en el csv no? Lo que quiero preguntarte es
si eso solo pincha cuando tus users se comunican con tu dovecot via
cualquier cliente de correo que no sea web.. Pues via webmail (squirrel,
world...etc) la ip siempre va a ser 127.0.0.1 no??????
----------------------------
Eduardo Piña Fonseca
Netadmin Fac. Matemática-Computación
Universidad de Oriente
El 17/05/13 08:31, låzaro escribió:
Siempre me ha parecido que loguear ip+username en dovecot puede ser muy uitl.
Además siempre he querido tener un scv sato y bien parciable para tener a mano
todos estos datos. Asique sería bueno escribir un script crease un csv y
mantuviese dicha lista actualizada. El csv me quedó asi:
ip,macaddres,nombre_netbios,usuario
lazaro@magnox:~$ curl http://mail.lex-sa.cu/usuarios.csv
192.168.1.24,70:71:bc:56:eb:36,DOMINIO1,patente6
192.168.1.25,00:27:0e:1a:ff:a0,MEXTRANJERA2,juridico4
192.168.1.26,00:27:0e:1a:ff:b3,DIANA,mcubana1
192.168.1.32,00:0f:b5:09:8a:fb,CONTABILIDAD2,ytoledano
192.168.1.33,00:40:f4:9c:7d:7d,NINA,mcubana
192.168.1.34,00:1e:8c:a1:ed:74,VIVIANA-JURIDIC,juridico3
192.168.1.35,00:1e:8c:a2:0d:7c,MCUBANA1,mcubana2
192.168.1.39,00:13:d4:41:3d:1c,JURIDICO-TEMP,juridico5
192.168.1.41,00:1e:8c:74:68:98,RENOVACION1,mextranjera
192.168.1.42,90:e6:ba:80:40:f9,FACTURACION,factura
192.168.1.45,00:24:8c:a4:b7:eb,REINIERN,juridico1
root@mail:~# crontab -l|grep usurios
# el csv con los usuarios
00 11 * * * /usr/local/bin/usuarios.sh
y este es el script
root@mail:~# cat /usr/local/bin/usuarios.sh
#!/bin/bash
tempo=$(mktemp)
cat /var/log/mail.log |grep -v '192.168.1.1'|grep dovecot|grep pam|grep
'192.168.1'|sort|uniq|while read mes dia hora usuario servicio id ip resto; do
username=$(echo $ip|cut -d ',' -f 1|cut -d '(' -f 2)
ip=$(echo $ip|cut -d ',' -f 2|cut -d ')' -f 1)
maquina=$(timeout 1 nmblookup -A $ip|grep '<00>'|head -1|awk {'print $1'})
test -z $maquina && maquina=$(echo '[DESCONCIDO]')
mac=''
timeout 1 ping -c 1 $ip 2> /dev/null > /dev/null
mac=$(timeout 1 /usr/sbin/arp $ip|awk {'print $3'}|tail -1)
test -z "$mac" && mac='??:??:??:??:??:??'
echo $ip,$mac,$maquina,$username >> $tempo
done
cat $tempo|sort|uniq > /var/www/usuarios.csv
cat /var/www/usuarios.csv
rm $tempo
chmod a+r /var/www/usuarios.csv
--
Sigue la UO en Facebook y en Twitter:
www.facebook.com/UO.Cuba
www.twitter.com/UOCuba
Proximos eventos:
*- I Taller Internacional del Oriente Cubano de Agricultura Sostenible. Junio
2013
http://eventos.uo.edu.cu/?p=290
*- V Congreso Internacional de Psicologia Bienal. Julio 2013
http://eventos.uo.edu.cu/?p=260
--
--
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que está limpio.
______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l