系統管理員收到有關每個使用者連接和斷開連接的通知的正確方法是什麼?

系統管理員收到有關每個使用者連接和斷開連接的通知的正確方法是什麼?

為了監視機器,我希望在每次任何用戶連接到機器或從機器斷開連接時(甚至是根用戶)收到例如電子郵件通知?

它是一台 Linux 機器,但我也很感興趣是否也有適用於 BSD 的通用方法。

我是機器的管理員,但也有其他管理員。

謝謝!

答案1

您可能會使用 and 破解一些複雜的東西tail -Fawk但最簡單的方法是使用perl,因此您可以使用該File::Tail模組(以監視相應的系統日誌檔案)和許多郵件發送模組之一(例如Mail::SendNet::SMTP)來發送郵件它注意到用戶已登入或登出。或無法成功登入。或您希望收到通知的任何其他事件。

File::Tail模組包含的範例腳本已經可以完成您想要的大約 90% 的功能,它們可以輕鬆地進行調整以滿足您的特定需求。

要監視的確切日誌檔案因發行版而異,例如,在 Debian 上您將監視/var/log/auth.log,在其他發行版上它將是/var/log/syslog/var/log/messages

請注意,freebsd 預設沒有安裝 perl,但它可以透過例如pkg add perl5.22.這只安裝基本的 perl 語言,您必須使用 CPAN 來安裝File::Tailpr等函式庫模組Mail::Send

相關內容