Esto es una forma de hacerlo utilizando swaks. Evidentemente existen muchas otras.
Swaks es para probar si chuta bien un server SMTP pero igualmente lo podemos usar para enviar notificaciones por correo.
Supongamos por ejemplo que queremos que cuando se hace login en uno de nuestros ordenadores o servidores … pues nos llegue un correo indicando que a tal hora en tal fecha se ha realizado login en la máquina con éxito.
El script es este:
#!/bin/bash maquina="terminator1" to="fanta@56k.es" from="terminator1@56k.es" server="smtp.servidor.com" login="user@servidor.com" passwd="laPassword" ip=$(hostname -I) fecha=$(date "+%Y/%m/%d") hora=$(date "+%H:%M:%S") swaks --to "$to" --from "$from" --server "$server" --auth LOGIN --auth-user "$login" --auth-password "$passwd" -tls --add-header "IPLocal: $ip" --data "Date: %DATE%\nTo: %TO_ADDRESS%\nFrom: %FROM_ADDRESS%\nSubject: Acceso en $maquina el $fecha a las $hora \nX-Mailer: swaks v$p_versionjetmore.org/john/code/swaks/\n%NEW_HEADERS%\n Acceso a $maquina el $fecha a las $hora. IP Local: $ip\n"
De esta forma tendríamos ya el script ideal para ejecutarse cuando se haga login.
Por ejemplo en un server se puede simplemente añadir a .profile de los users con shell bash.
Y eso es todo amigo. Espero que te gustase el script, que te sirva y que tengas notificaciones de cuando haces login en diferentes máquinas
Para que funcione el script es necesario instalar swaks. En Debian 10 está en los repos y supongo que en Debian 11 sigue estando.
Saludos cordiales.