出于某些原因,你可能需要跟蹤?Linux?上的新用戶創(chuàng)建信息。同時,你可能需要通過郵件發(fā)送詳細信息。這或許是審計目標的一部分,或者安全團隊出于跟蹤目的可能希望對此進行監(jiān)控。 |
我們可以通過其他方式進行此操作,正如我們在上一篇文章中已經(jīng)描述的那樣。
成都網(wǎng)站設計、網(wǎng)站建設介紹好的網(wǎng)站是理念、設計和技術(shù)的結(jié)合。成都創(chuàng)新互聯(lián)公司擁有的網(wǎng)站設計理念、多方位的設計風格、經(jīng)驗豐富的設計團隊。提供PC端+手機端網(wǎng)站建設,用營銷思維進行網(wǎng)站設計、采用先進技術(shù)開源代碼、注重用戶體驗與SEO基礎,將技術(shù)與創(chuàng)意整合到網(wǎng)站之中,以契合客戶的方式做到創(chuà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)于昨日詳情的郵件提醒。
輸出:輸出與下面的輸出相同。
/tupian/20230521/ppre>#?cat?/tmp/new-user-logs.txt Hostname:?CentOS.2daygeek.com The?New?User?Details?are?below. +------------------------------+ tuser3 +------------------------------+