Email Notification on Login On Linux Machines
It’s a good idea to set email notification on login on your servers.
You can set it by adding a script to your /etc/profile file.
vi /etc/profile
At the bottom add
/path/to/your/script
Now put the script in that path :
!/bin/bash #Author : Amit Nepal #Email : amit@amitnepal.com #This script is free to use as long as you have these lines in the #script. Logging=true; #true/false LOG_FILE=/var/log/amit.log #path to log file SUBJECT="Root Login Alert:
hostname
" ADMIN="amit@amitnepal.com" #admin email #known ips if you dont want to receive email for login from known ips KNOWN_IPS="192.168.100.10 10.10.20.3 172.16.5.1" loginip=echo $SSH_CLIENT | awk '{print $1}'
authorized=false; function message { echo "${msgheader}hostname
" echo "-----------------------------------------" echo "Login IP : $loginip" echo "Login User:whoami
" echo "Date-Time:date
" echo "-----------------------------------------" } for ip in $KNOWN_IPS; do if [ "$loginip" == "$ip" ]; then authorized=true; msgheader="Authorized Login to Server:" fi done if [ ! "$authorized" == "true" ];then msgheader="Unauthorized Login to Server:" #message|mail -s "$SUBJECT" "$ADMIN" #Unauthorized #person logged in.. fi if [ "$Logging" == "true" ]; then message >> $LOG_FILE fi
This way you will get notification whenever someone logs
into your machine.