#!/bin/bash # Locale beállítása, hogy a mail parancs ne hibázzon karakterkódolás miatt export LC_ALL=C.UTF-8 export LANG=C.UTF-8 # Log fájl a hibakereséshez (adj rá írási jogot: chmod 666 /tmp/sftp-notify.log) LOGFILE="/tmp/sftp-notify.log" # Csak a sikeres bejelentkezésekről (open_session) küldünk értesítést if [ "$PAM_TYPE" = "open_session" ]; then # Környezet mentése logba echo "--- $(/usr/bin/date): Login attempt for $PAM_USER from $PAM_RHOST ---" >> "$LOGFILE" # Felhasználó shelljének ellenőrzése USER_SHELL=$(/usr/bin/getent passwd "$PAM_USER" | /usr/bin/cut -d: -f7) # Típus meghatározása if [[ "$USER_SHELL" == *"/nologin" ]] || [[ "$USER_SHELL" == *"/false" ]]; then LOGIN_TYPE="SFTP (Restricted)" else LOGIN_TYPE="SSH (Interactive)" fi MESSAGE="Login értesítés ($PAM_SERVICE): Típus: $LOGIN_TYPE Felhasználó: $PAM_USER Távoli gép: $PAM_RHOST Shell: $USER_SHELL Időpont: $(/usr/bin/date) Host: $(/usr/bin/hostname)" # Email küldés (abszolút útvonallal) # Ellenőrizd, hogy a 'mail' parancs a /usr/sbin/mail helyen van-e! echo "$MESSAGE" | /usr/sbin/mail -s "$LOGIN_TYPE: $PAM_USER" i.meszely@antares-apo.de >> "$LOGFILE" 2>&1 if [ $? -eq 0 ]; then echo "Siker: Email elküldve." >> "$LOGFILE" else echo "HIBA: Az email küldés sikertelen volt! (Exit code: $?)" >> "$LOGFILE" fi fi exit 0