Linux – Envoyer un mail à la connexion d’un utilisateur

Pour savoir qui a réussi à ouvrir une session (et quand) sur un serveur Linux sans avoir à parser les logs, l’une des solution est tout simplement d’envoyer un mail à une adresse lors de la connexion d’un utilisateur.
Pour cela, on peu ajouter une commande au script .bachrc de chaque profil (ce script étant exécuté à chaque connexion de la session utilisateur, que ce dernier l’ouvre sur le serveur, ou via SSH). On peut également ajouter une seule fois la commande dans le fichier /etc/bashrc, puisque ce script est appelé par le .bashrc de tous les utilisateurs. Voici la commande que j’utilise:

echo 'ALERT - '`whoami`' Shell Access ('`hostname`') on:' `date` `who` | 
mail -s "Alert: Shell Access from `who | cut -d'(' -f2 | cut -d')' -f1`"
 informational-alert@coradi.fr

On reçoit un mail de ce type:
ALERT – root Shell Access (blog.coradi.fr) on: ven. avril 15 14:30:17 CEST 2016 leseb pts/0 2016-04-15 14:29 (xxx.xxx.xxx.xxx)

Donc root s’est connecté sur le serveur blog.coradi.fr le 15 avril à 14:30 depuis la session existante pts/0 (ouverte par leseb) depuis une machine portant l’adresse IP xxx.xxx.xxx.xxx. C’est bon à savoir 🙂