
為了監視機器,我希望在每次任何用戶連接到機器或從機器斷開連接時(甚至是根用戶)收到例如電子郵件通知?
它是一台 Linux 機器,但我也很感興趣是否也有適用於 BSD 的通用方法。
我是機器的管理員,但也有其他管理員。
謝謝!
答案1
您可能會使用 and 破解一些複雜的東西tail -F
,awk
但最簡單的方法是使用perl
,因此您可以使用該File::Tail
模組(以監視相應的系統日誌檔案)和許多郵件發送模組之一(例如Mail::Send
或Net::SMTP
)來發送郵件它注意到用戶已登入或登出。或無法成功登入。或您希望收到通知的任何其他事件。
該File::Tail
模組包含的範例腳本已經可以完成您想要的大約 90% 的功能,它們可以輕鬆地進行調整以滿足您的特定需求。
要監視的確切日誌檔案因發行版而異,例如,在 Debian 上您將監視/var/log/auth.log
,在其他發行版上它將是/var/log/syslog
或/var/log/messages
。
請注意,freebsd 預設沒有安裝 perl,但它可以透過例如pkg add perl5.22
.這只安裝基本的 perl 語言,您必須使用 CPAN 來安裝File::Tail
pr等函式庫模組Mail::Send
。