溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

教你如何用 Bash 腳本發(fā)送新用戶創(chuàng)建的郵件

發(fā)布時間:2020-07-26 16:18:00 來源:網(wǎng)絡(luò) 閱讀:133 作者:mdadmmeng 欄目:系統(tǒng)運維
出于某些原因,你可能需要跟蹤?Linux?上的新用戶創(chuàng)建信息。同時,你可能需要通過郵件發(fā)送詳細信息。這或許是審計目標的一部分,或者安全團隊出于跟蹤目的可能希望對此進行監(jiān)控。

我們可以通過其他方式進行此操作,正如我們在上一篇文章中已經(jīng)描述的那樣。

在系統(tǒng)中創(chuàng)建新用戶帳戶時發(fā)送郵件的 Bash?腳本
Linux 有許多開源監(jiān)具可以使用。但我不認為他們有辦法跟蹤新用戶創(chuàng)建過程,并在發(fā)生時提醒管理員。

那么我們怎樣才能做到這一點?

我們可以編寫自己的 Bash?腳本來實現(xiàn)這一目標。我們過去寫過許多有用的?shell?腳本。

這個腳本做了什么?

這將每天兩次(一天的開始和結(jié)束)備份 /etc/passwd 文件,這將使你能夠獲取指定日期的新用戶創(chuàng)建詳細信息。

我們需要添加以下兩個 cron 任務來復制 /etc/passwd 文件。

#?crontab?-e
1?0?*?*?*?cp?/etc/passwd?/opt/scripts/passwd-start-$(date?+"%Y-%m-%d")
59?23?*?*?*?cp?/etc/passwd?/opt/scripts/passwd-end-$(date?+"%Y-%m-%d")

它使用 diff?命令來檢測文件之間的差異,如果發(fā)現(xiàn)與昨日有任何差異,腳本將向指定 email 發(fā)送新用戶詳細信息。

我們不用經(jīng)常運行此腳本,因為用戶創(chuàng)建不經(jīng)常發(fā)生。但是,我們計劃每天運行一次此腳本。

這樣,你可以獲得有關(guān)新用戶創(chuàng)建的綜合報告。

注意:我們在腳本中使用了我們的電子郵件地址進行演示。因此,我們要求你用自己的電子郵件地址。

#?vi?/opt/scripts/new-user-detail.sh
#!/bin/bash
mv?/opt/scripts/passwd-start-$(date?--date='yesterday'?'+%Y-%m-%d')?/opt/scripts/passwd-start
mv?/opt/scripts/passwd-end-$(date?--date='yesterday'?'+%Y-%m-%d')?/opt/scripts/passwd-end
ucount=$(diff?/opt/scripts/passwd-start?/opt/scripts/passwd-end?|?grep?">"?|?cut?-d":"?-f6?|?cut?-d"/"?-f3?|?wc?-l)
if?[?$ucount?-gt?0?]
then
??SUBJECT="ATTENTION:?New?User?Account?is?created?on?server?:?`date?--date='yesterday'?'+%b?%e'`"
??MESSAGE="/tmp/new-user-logs.txt"
??TO="2daygeek@gil.m"
??echo??"Hostname:?`hostname`"?>>?$MESSAGE
??echo?-e?"\n"?>>?$MESSAGE
??echo?"The?New?User?Details?are?below."?>>?$MESSAGE
??echo?"+------------------------------+"?>>?$MESSAGE
??diff?/opt/scripts/passwd-start?/opt/scripts/passwd-end?|?grep?">"?|?cut?-d":"?-f6?|?cut?-d"/"?-f3?>>??$MESSAGE
??echo?"+------------------------------+"?>>?$MESSAGE
??mail?-s?"$SUBJECT"?"$TO"?<?$MESSAGE
??rm?$MESSAGE
fi

給 new-user-detail.sh 添加可執(zhí)行權(quán)限。

$?chmod?+x?/opt/scripts/new-user-detail.sh

最后添加一個 cron 任務來動執(zhí)行此作。它在每天早上 7 點運行。

#?crontab?-e
0?7?*?*?*?/bin/bash?/opt/scripts/new-user.sh

注意:你會在每天早上 7 點都會收到一封關(guān)于昨日詳情的郵件提醒。

輸出:輸出與下面的輸出相同。

https://www.51cto.com/it/news/2019/1223/17728.html

#?cat?/tmp/new-user-logs.txt
Hostname:?CentOS.2daygeek.com
The?New?User?Details?are?below.
+------------------------------+
tuser3
+------------------------------+


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI