出于某些原因,你可能需要跟蹤?Linux?上的新用戶創(chuàng)建信息。同時,你可能需要通過郵件發(fā)送詳細(xì)信息。這或許是審計目標(biāo)的一部分,或者安全團隊出于跟蹤目的可能希望對此進行監(jiān)控。 |
我們可以通過其他方式進行此操作,正如我們在上一篇文章中已經(jīng)描述的那樣。
成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)服務(wù)團隊是一支充滿著熱情的團隊,執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標(biāo)準(zhǔn)與要求,同時竭誠為客戶提供服務(wù)是我們的理念。創(chuàng)新互聯(lián)公司把每個網(wǎng)站當(dāng)做一個產(chǎn)品來開發(fā),精雕細(xì)琢,追求一名工匠心中的細(xì)致,我們更用心!
在系統(tǒng)中創(chuàng)建新用戶帳戶時發(fā)送郵件的 Bash?腳本
Linux 有許多開源監(jiān)具可以使用。但我不認(rèn)為他們有辦法跟蹤新用戶創(chuàng)建過程,并在發(fā)生時提醒管理員。
那么我們怎樣才能做到這一點?
我們可以編寫自己的 Bash?腳本來實現(xiàn)這一目標(biāo)。我們過去寫過許多有用的?shell?腳本。
這個腳本做了什么?
這將每天兩次(一天的開始和結(jié)束)備份 /etc/passwd 文件,這將使你能夠獲取指定日期的新用戶創(chuàng)建詳細(xì)信息。
我們需要添加以下兩個 cron 任務(wù)來復(fù)制 /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ā)送新用戶詳細(xì)信息。
我們不用經(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 任務(wù)來動執(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 +------------------------------+