天天看点

linux用户登录检测发送邮件提醒

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

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

1

2

3

4

5

6

7

<code>#!/bin/bash</code>

<code>user=`</code><code>whoami</code><code>`</code>

<code>logon=</code><code>"$(who)"</code>

<code>#msg=`echo -e "#################### $user is login ok ##################\n$logon"`</code>

<code>#wall "${msg}"</code>

<code>#echo  ${msg} | mail -s " login $(hostname) alter " [email protected]</code>

<code>`</code><code>echo</code> <code>-e </code><code>"#################### $user is login at $(date) ##################\n\n\n$logon"</code> <code>| mail -s </code><code>"someone want login your service: login on $(hostname) alter"</code> <code>[email protected]  2&gt; </code><code>/dev/null</code><code>`</code>

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

8

<code># ~/.bash_logout</code>

<code>`</code><code>echo</code> <code>-e </code><code>"#################### $user is login at $(date) ##################\n\n\n$logon"</code> <code>| mail -s </code><code>"someone want loginout your service: login on $(hostname) alter"</code> <code>[email protected]  2&gt; </code><code>/dev/null</code>

本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/2072348,如需转载请自行联系原作者

继续阅读