Linux中國
在系統創建新用戶時發送郵件的 Bash 腳本
目前市場上有許多開源監測工具可用於監控 Linux 系統的性能。當系統到達指定的閾值時,它將發送郵件提醒。
它會監控 CPU 利用率、內存利用率、交換內存利用率、磁碟空間利用率等所有內容。但我不認為它們可以選擇監控新用戶創建活動,並發送提醒。
如果沒有,這並不重要,因為我們可以編寫自己的 bash 腳本來實現這一點。
我們過去寫了許多有用的 shell 腳本。如果要查看它們,請點擊以下鏈接。
這個腳本做了什麼?它監測 /var/log/secure
文件,並在系統創建新帳戶時提醒管理員。
我們不會經常運行此腳本,因為創建用戶不經常發生。但是,我打算一天運行一次這個腳本。因此,我們可以獲得有關用戶創建的綜合報告。
如果在昨天的 /var/log/secure
中找到了 「useradd」 字元串,那麼該腳本將向指定的郵箱發送郵件提醒,其中包含了新用戶的詳細信息。
注意:你需要更改郵箱而不是使用我們的郵箱。
# vi /opt/scripts/new-user.sh
#!/bin/bash
#Set the variable which equal to zero
prev_count=0
count=$(grep -i "`date --date='yesterday' '+%b %e'`" /var/log/secure | egrep -wi 'useradd' | wc -l)
if [ "$prev_count" -lt "$count" ] ; then
# Send a mail to given email id when errors found in log
SUBJECT="ATTENTION: New User Account is created on server : `date --date='yesterday' '+%b %e'`"
# This is a temp file, which is created to store the email message.
MESSAGE="/tmp/new-user-logs.txt"
TO="2daygeek@gmail.com"
echo "Hostname: `hostname`" >> $MESSAGE
echo -e "n" >> $MESSAGE
echo "The New User Details are below." >> $MESSAGE
echo "+------------------------------+" >> $MESSAGE
grep -i "`date --date='yesterday' '+%b %e'`" /var/log/secure | egrep -wi 'useradd' | grep -v 'failed adding'| awk '{print $4,$8}' | uniq | sed 's/,/ /' >> $MESSAGE
echo "+------------------------------+" >> $MESSAGE
mail -s "$SUBJECT" "$TO" < $MESSAGE
rm $MESSAGE
fi
給 new-user.sh
添加可執行許可權。
$ chmod +x /opt/scripts/new-user.sh
最後添加一個 cron 任務來自動化執行它。它會在每天 7 點運行。
# crontab -e
0 7 * * * /bin/bash /opt/scripts/new-user.sh
注意:你將在每天 7 點收到一封郵件提醒,但這是昨天的日誌。
你將會看到類似下面的郵件提醒。
# cat /tmp/logs.txt
Hostname: 2g.server10.com
The New User Details are below.
+------------------------------+
2g.server10.com name=magesh
2g.server10.com name=daygeek
+------------------------------+
via: https://www.2daygeek.com/linux-bash-script-to-monitor-user-creation-send-email/
作者:Magesh Maruthamuthu 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive
對這篇文章感覺如何?
太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
More in:Linux中國
如何通過 VLC 使用字幕
使用 VLC 媒體播放器播放和管理字幕的新手指南。
Unix 桌面:在 Linux 問世之前
僅僅開源還不足以實現開放,還需開放標準和建立共識。
Valve 對於 Ubuntu 的 Snap 版本的 Steam 並不滿意:原因何在
你可能會發現,Snap 版本的 Steam 並不如你期待的那樣好,你怎麼看?
Wine 9.0 發布,實驗性地加入了 Wayland 驅動
Wine 的這個新版本正在為未來做好準備!