
Um eine Maschine zu überwachen, möchte ich beispielsweise per E-Mail jedes Mal benachrichtigt werden, wenn sich ein Benutzer (auch Root) mit der Maschine verbindet oder die Verbindung trennt?
Es ist eine Linux-Maschine, aber mich interessiert auch, ob es auch eine allgemeine Möglichkeit für BSDs gibt.
Ich bin der Administrator der Maschine, aber es gibt auch andere Administratoren.
Danke!
Antwort1
tail -F
Sie könnten möglicherweise mit und etwas Kompliziertes zusammenbasteln , awk
aber am einfachsten geht das mit . perl
So können Sie das File::Tail
Modul (zum Überwachen der entsprechenden Systemprotokolldatei) und eines der vielen E-Mail-Sendemodule (wie Mail::Send
oder Net::SMTP
) verwenden, um E-Mails zu senden, wenn es erkennt, dass sich ein Benutzer angemeldet hat, oder abgemeldet hat, oder die Anmeldung fehlgeschlagen ist, oder bei jedem anderen Ereignis, über das Sie benachrichtigt werden möchten.
Das File::Tail
Modul enthält Beispielskripte, die bereits etwa 90 % Ihrer Wünsche erfüllen und problemlos an Ihre genauen Anforderungen angepasst werden können.
Die genaue zu überwachende Protokolldatei variiert von Distribution zu Distribution, unter Debian würden Sie beispielsweise überwachen /var/log/auth.log
, unter anderen Distributionen wäre es /var/log/syslog
oder /var/log/messages
.
Beachten Sie, dass Perl bei FreeBSD nicht standardmäßig installiert ist, es aber beispielsweise mit verfügbar ist. pkg add perl5.22
Dadurch wird nur die grundlegende Perl-Sprache installiert. Sie müssen CPAN verwenden, um Bibliotheksmodule wie File::Tail
pr zu installieren Mail::Send
.