Bien pero esto de que nos sirve?
Creo que al buscar este tutorial tendrán sus ideas, pero aquí aguas razones por las cuales es bueno aprender a usar notificaciones:
Esto mas que nada es para seguridad informática,ya que las notificaciones mas importantes las tiene definidas el mismo sistema,en la seguridad informática el tiempo de edición es critico,a que me refiero con el tiempo de edición?
A tocar los archivos,en Linux/Unix se le conoce como touch y hay un comando para ello,al tocar un archivo nos esta indicando que lo modificamos,editamos incluso borramos(si no esta),al hacer esto es probable que no se trate de nosotros mismos si no de un intruso,esto lo hace interesante a la hora de escalar privilegios,porque por ejemplo pueden acceder a nuestra cuenta normal pero si quieren acceder a root,deben modificar algún archivo(en un tipo de ataque) y si lo estamos monitoreando no habra problema y podremos detectar al intruso,no solo al ver los archivos modificados si no directamente ver los usuarios,con el comando (who por ejemplo),así que bueno vamos a ver como acceder a las notificaciones.
Tutorial
El comando es simple,solo hay que escribir en la terminal:
notify-send "Mensaje"Tiene argumentos en la linea de ordenes,el que se me hace interesante es:
-i
Que es para icono:
Por ejemplo:
notify-send "Mensaje" -i firefox
Vamos a ver un ejemplo de ver las tty's conectadas al sistema,osea las interfaces que estemos usando:
Veamos que las interfaces que uso son tres dos shells y un tty en modo grafico:
Ahora me voy a conectar por ssh en local a mi mismo host:
Y las conexiones aumentan en dos(una shell mas y la ssh).
Ahora imaginemos que esa conexion no la efectuamos nosotros,vamos a usar el who para ver las interfaces(pero hay mas maneras):
Mas info:
Veamos que las interfaces que uso son tres dos shells y un tty en modo grafico:
Ahora me voy a conectar por ssh en local a mi mismo host:
Y las conexiones aumentan en dos(una shell mas y la ssh).
Ahora imaginemos que esa conexion no la efectuamos nosotros,vamos a usar el who para ver las interfaces(pero hay mas maneras):
#!/bin/bash
num=`who | tee users.log | wc -l`
echo $num > num.log # Esto podria ser un base de datos,etc
while [ 1 ]; do
num=`cat num.log`
n=`who | wc -l`
who > u.log
usuario=`diff u.log users.log | sed -n -e 2p`
if [ $num -eq $n ] # igual: no pasa nada
then
continue
elif [ $num -gt $n ] # mayor: alguien se desconecto
then
echo $n > num.log
`who > u.log && who > users.log`
notify-send echo "Desconectado $usuario"
else # Menor: alguien se conecto
echo $n > num.log
# ^ En cualquier caso recargamos el log o no dejara de mostrar el mensaje
`who > u.log && who > users.log`
notify-send "Conectado $usuario"
fi
sleep 5; # tiempo de intervalos
done
#This library is free software; you can redistribute it and/or modify it under
#the terms of the GNU Library General Public License as published by the Free
#Software Foundation; either version 2.1 of the License, or (at your option) any
#later version.
Eso es todo :D
Mas info:
notify-send --help
Genial tip, pero se me ocurre una pregunta, apagado el sistema, esta notificación se borra o queda pegada como un post-it
ResponderBorrarSi te refieres al script de escaneo de interfaces,así como esta crea el archivo donde guarda los datos automáticamente cada vez que se ejecuta,osea que se borra.
ResponderBorrarPero se podría guardar un seguimiento en una DB,para guardar todas las conexiones.
También recomiendo iniciar este tipo de archivos al iniciar el usuario y no al usar el sistema.
Saludos.