#!/bin/bash # Surveillance des logs, et envoi d'un SMS quand un utilisateur se connecte ou déconnecte. logger "SMS: Démarrage script SMS connexions." envoie_sms () { chaine="Asus: `date +%Y-%m-%d_%Hh%M` $*" logger "SMS: $chaine" curl -G -d user=UTILISATEUR -d pass=MOTDEPASSE --data-urlencode msg="$chaine" 'https://smsapi.free-mobile.fr/sendmsg' } # Expressions régulières pour détecter certains évènements (ouverture session, fermeture session, mauvais mot de passe) reg_open="pam_unix.*session opened for user (utilisateur1|utilisateur2|utilisateur3|utilisateur4)" reg_close="pam_unix.*session closed for user (utilisateur1|utilisateur2|utilisateur3|utilisateur4)" reg_failure="pam_unix.*authentication failure.*user=(.+)" tail -fn0 /var/log/auth.log | \ while read line ; do if [[ $line =~ $reg_open ]] ; then envoie_sms "Ouverture session ${BASH_REMATCH[1]}" fi if [[ $line =~ $reg_close ]] ; then envoie_sms "Fermeture session ${BASH_REMATCH[1]}" fi if [[ $line =~ $reg_failure ]] ; then envoie_sms "Mauvais mot de passe utilisateur ${BASH_REMATCH[1]}" fi done