天天看點

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,如需轉載請自行聯系原作者

繼續閱讀