自分以外のユーザのログインを検知したらメールで知らせる

#!/bin/sh

##Send e-mail when the other user logged in

(

myuser= [your username]

while true #無限ループ
do
unknown_usr=$(who | grep -v $myuser | wc -l)
if [ $unknown_usr -gt 0 ]; then
who | grep -v $myuser | mail -s "Some one logged in!" example@mail.com
sleep 10
fi
done

) &

自分以外のユーザがログインしたらメールで通知してくれるスクリプトです。メールにはwhoコマンドによるログインしたユーザの情報が記載されます。
※自分と同一のユーザ名でログインされた場合は検知されません。

以上

2015年4月1日 追記
日時も取得するよう地味に改良

#!/bin/sh

##Send e-mail when the other user logged in

(
myuser= [username you want to exclude]

while true
do
unknown_usr=$(who | grep -v $myuser | wc -l)
if [ $unknown_usr -gt 0 ]; then
(echo `date`; who) | mail -s "Some one logged in!" example@mail.com
sleep 3600
fi
done

) &

Leave a Reply

Your email address will not be published. Required fields are marked *