只要用户一登录成功,系统就会向系统管理发一份邮件进行提醒。由于没有找到,最后利用了在/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
|
本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/2072348
,如需转载请自行联系原作者