Ubuntu: Login-Notify

Från Täpp-Anders
Version från den 26 februari 2025 kl. 13.09 av Anders (diskussion | bidrag) (Skapade sidan med '=Bakgrund= Om man t.ex. kör en VPS kan det vara pra att få en notifiering när någon användare loggar in, eleverar status till root och liknande. Detta kan man göra enkelt genom att lägga till ett skript som skickar ett mail via PAM-modulen som sköter login. =Förberedelser= Du behöver ha ett fungerande mail-subsystem på maskinen. Om du inte har en full postfix kan ssmtp-paketet vara användbart. Följande har fungerat bar på Ubuntu 22.04 och sena...')
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigeringHoppa till sök

Bakgrund

Om man t.ex. kör en VPS kan det vara pra att få en notifiering när någon användare loggar in, eleverar status till root och liknande. Detta kan man göra enkelt genom att lägga till ett skript som skickar ett mail via PAM-modulen som sköter login.

Förberedelser

Du behöver ha ett fungerande mail-subsystem på maskinen. Om du inte har en full postfix kan ssmtp-paketet vara användbart.

Följande har fungerat bar på Ubuntu 22.04 och senare versioner.

Procedur

Ändra PAM konfigurationen

Öppna filen

/etc/pam.d/common-session

och på slutet lägger du till följande rad:

session optiona pam_exec.so /root/script/login-notify

Skapa katalog och skript

$ sudo su
# cd
# mkdir script
# cd script
# touch login-notify
# chmod 700 login-notify
# nano login-notify

Fyll i följande rader i filen:

#!/bin/bash                                                                                
                                                                                           
#                                                                                          
# This script is run by PAM from /etc/pam.d/common-session by adding the following         
# line to the bottom of the configuration file:                                            
#                                                                                          
# session optional pam_exec.so /root/script/login-notify                                   
#                                                                                          
# Make sure the script is executeable                                                      
#                                                                                          
# ichi@ichimusai.org                                                                       
# Revision 1.0.0                                                                           
#                                                                                          
                                                                                           
                                                                                           
[ "$PAM_TYPE" = "open_session" ] || exit 0                                                 
{                                                                                          
    echo "User:    $PAM_USER"                                                              
    echo "Ruser:   $PAM_RUSER"                                                             
    echo "Rhost:   $PAM_RHOST"                                                             
    echo "Service: $PAM_SERVICE"                                                           
    echo "TTY:     $PAM_TTY"                                                               
    echo "Date:    `date +"%y%m%d-%H%M%S"`"                                                
    echo "Server:  `hostname -s`"                                                          
} | mail -s "[`hostname -s`] $PAM_SERVICE login: $PAM_USER" EMAIL@ADDRESS &                  

Byt ut EMAIL@ADDRESS till den epostadress du vill skicka mailet till.

Spara filen.

Testa

Logga ut och logga in igen. Om allt fungerar ska då få ett mail kort därefter.