Dostałem dziś od znajomego zapytanie o najprostszy sposób na wysłanie powiadomienia na adres e-mail o logowaniu się do serwera za pośrednictwem konsoli.

Może komuś się przyda, więc…

E-mail o (za)logowaniu się użytkownika do serwera (SSH)

Podejrzewam, że większość z Was ma przynajmniej 2 użytkowników: „root” i jakiś inny, własny.

Zakładam też, że macie na swoim serwerze skonfigurowane wysyłanie poczty e-mail (własny serwer pocztowy, lub np. MSMTP).

Użytkownik „root”

Pewnie jest duża szansa, że niektórzy z Was mają zablokowane zdalne logowanie jako „root” – więc mogłoby się wydawać że, nie ma potrzeby ustawiać powiadomienia dla tego użytkownika, ale:

  • Zawsze możecie kiedyś włączyć, więc lepiej przyszłościowo…
  • Może jednak macie włączone zdalne logowanie jako „root”
  • Zostaje jeszcze konsola dostępna z panelu zarządzania serwerem (VPS), za pośrednictwem której „root” może się „zdalnie” (no, prawie zdalnie) zalogować

Konfiguracja

Edytujemy plik:

sudo nano /root/.bashrc

I gdzieś na końcu dodajemy:

# E-mail po zalogowaniu
echo `hostname` `date` `who | grep "root"` | mail -s "Root login `hostname`" [email protected]

Lub w przypadku gdy nie korzystacie (lub nie macie zainstalowanego w systemie) polecenia „mail”, bezpośrednio wywołanie aplikacji MSMTP:

TEMAT="Root login "$(hostname)
TRESC=$(echo `hostname` `date` `who | grep "root"`)
echo -e "Subject: "$TEMAT"\r\n\r\n"$TRESC | msmtp --from=profil-domyślny -t [email protected]

Pozostali użytkownicy

Możemy też takie powiadomienie ustawić dla innych użytkowników, zmienia się tylko trochę ścieżka do pliku:

sudo nano /home/[NAZWA_UŻYTKOWNIKA]/.bashrc

Oraz komenda:

# E-mail po zalogowaniu
echo `hostname` `date` `who | grep "[NAZWA UŻYTKOWNIKA]"` | mail -s "[NAZWA UŻYTKOWNIKA] login `hostname`" docelowy_ad[email protected]

Lub w przypadku gdy nie korzystacie (lub nie macie zainstalowanego w systemie) polecenia „mail”, bezpośrednio wywołanie aplikacji MSMTP:

TEMAT="[NAZWA_UŻYTKOWNIKA] login "$(hostname)
TRESC=$(echo `hostname` `date` `who | grep "root"`)
echo -e "Subject: "$TEMAT"\r\n\r\n"$TRESC | msmtp --from=profil-domyślny -t [email protected]

Przykładowy alert/e-mail

Od teraz po zalogowaniu się wybranego użytkownika powinniśmy otrzymać e-mail:

Temat: [NAZWA UŻYTKOWNIKA] login [NAZWA SERWERA]

[NAZWA SERWERA] wto, 15 kwi 2014, 10:33:36 CEST root pts/1 2014-04-15 10:33 [HOST/IP]

Pamiętajcie by zamiast „[email protected]” wpisać swój adres e-mail. I, że jest to relatywnie najprostsza wersja, można go jeszcze rozbudowywać. – ale to już raczej zbyteczne bajery… ;-)

(!) Zgłoś błąd na stronie
Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!
Spodobał Ci się artykuł? Zapisz się do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!
Na podany adres e-mail otrzymasz od nas wiadomość e-mail, w której znajdziesz link do potwierdzenia subskrypcji naszego Newslettera. Dzięki temu mamy pewność, że nikt nie dodał Twojego adresu przez przypadek. Jeśli wiadomość nie przyjdzie w ciągu najbliższej godziny (zazwyczaj jest to maksymalnie kilka minut) sprawdź folder SPAM.
Roztańczona Karolina dzięki motywowi Divi od Elegant Themes właśnie skończyła pierwszą stronę
WebInsider poleca księgowość wFirma
WebInsider korzysta z VPSa w HitMe.pl
WebInsider poleca VPSy DigitalOcean
WebInsider poleca serwis Vindicat
Napisz komentarz
wipl_napisz-komentarz_01Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które – w miarę możliwości – spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. „linki partnerskie”, co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte… :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.
Młody Szymon pomógł tacie zapisać się do Newslettera WebInsider.pl i... teraz idzie popływać