只要用户一登录成功,系统就会向系统管理发一份邮件进行提醒。由于没有找到,最后利用了在/etc/profile.d/目录的文件属性:只要用户登录,就会执行此目录下的所有shell脚本来初始化变量和用户环境。


       所以决定在这里做为突破口,写一个脚本,关于当前用户登录时,就自动记录当前用户信息,以及当前系统登录的用户数,并自动发邮件,简而言之,就是在/etc/profile.d/目录里加上一个脚本,我命名为logincheck.sh,下面就是内容:

1
2
3
4
5
6
7
#!/bin/bash
user=`whoami`
logon="$(who)"
#msg=`echo -e "#################### $user is login ok ##################\n$logon"`
#wall "${msg}"
#echo  ${msg} | mail -s " login $(hostname) alter " admin@qq.com
`echo -e "#################### $user is login at $(date) ##################\n\n\n$logon" | mail -s "someone want login your service: login on $(hostname) alter" admin@qq.com  2> /dev/null`


如果想在用户退出的时候也发送邮件提醒就用vi ~/.bash_logout 来在这个文件里添加下面的脚本内容就行:

1
2
3
4
5
6
7
8
# ~/.bash_logout
#!/bin/bash
user=`whoami`
logon="$(who)"
#msg=`echo -e "#################### $user is login ok ##################\n$logon"`
#wall "${msg}"
#echo  ${msg} | mail -s " login $(hostname) alter " admin@qq.com
`echo -e "#################### $user is login at $(date) ##################\n\n\n$logon" | mail -s "someone want loginout your service: login on $(hostname) alter" admin@qq.com  2> /dev/null