====== A nice way of configuring linux system-wide login notifications using PAM ====== There are several ways to have a linux box email you when someone logs in to it. Most of these use a script in either the local profile files (for individual users) or the system-wide profile (and/or in sshrc). Another nice way is to use the pam authentication system to do the job. A setup is given at: http://blog.stalkr.net/2010/11/login-notifications-pamexec-scripting.html ===== Brief setup ===== Assuming Debian here. Make sure the system is set up to [[it:linux_mail_setup|talk to an email server]] and has some way of sending emails from the command line. The script here assumes the mailx package is installed. Quick test: echo "test" | mail -s "test" user@example.com Create a script somewhere sensible (e.g. /usr/local/bin) and make it executable. #!/bin/sh [ "$PAM_TYPE" = "open_session" ] || exit 0 { echo "User: $PAM_USER" echo "Ruser: $PAM_RUSER" echo "Rhost: $PAM_RHOST" echo "Service: $PAM_SERVICE" echo "TTY: $PAM_TTY" echo "Date: `date`" echo "Server: `uname -a`" } | mail -s "`hostname -s` $PAM_SERVICE login: $PAM_USER" user@example.com replacing user@example.com with the required email address. Note that you could send the email to root or another local account if you have that aliased to an external address. edit /etc/pam.d/common-session to add at the end: session optional pam_exec.so /usr/local/bin/login_notify and test it by logging in with an ssh session (terminal or winscp etc.) Sudo uses common-session-noninteractive - not sure whether it would be best to put this in /etc/pam.d/sudo as well...