只要用户一登陆成功,系统就会向系统管理发一份邮件进行提醒。因为没有找到,最后利用了在/etc/profile.d/目录的文件属性:只要用户登陆,就会执行此目录下的全部shell脚原本初始化变量和用户环境。
shell
因此决定在这里作为突破口,写一个脚本,关于当前用户登陆时,就自动记录当前用户信息,以及当前系统登陆的用户数,并自动发邮件,简而言之,就是在/etc/profile.d/目录里加上一个脚本,我命名为logincheck.sh,下面就是内容:bash
#!/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 来在这个文件里添加下面的脚本内容就行:ide
# ~/.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