Files
WPanda/Dev/APS-SFTP01/sftp-notify.sh
2026-03-23 10:00:50 +01:00

45 lines
1.4 KiB
Bash

#!/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