script de verzio
This commit is contained in:
45
Dev/APS-SFTP01/sftp-notify_de.sh
Normal file
45
Dev/APS-SFTP01/sftp-notify_de.sh
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Locale-Einstellungen, damit der Mail-Befehl keine Zeichenkodierungsfehler verursacht
|
||||||
|
export LC_ALL=C.UTF-8
|
||||||
|
export LANG=C.UTF-8
|
||||||
|
|
||||||
|
# Logdatei für das Debugging (Schreibrechte setzen: chmod 666 /tmp/sftp-notify.log)
|
||||||
|
LOGFILE="/tmp/sftp-notify.log"
|
||||||
|
|
||||||
|
# Benachrichtigung nur bei erfolgreichen Anmeldungen (open_session)
|
||||||
|
if [ "$PAM_TYPE" = "open_session" ]; then
|
||||||
|
|
||||||
|
# Umgebung in Log speichern
|
||||||
|
echo "--- $(/usr/bin/date): Anmeldeversuch für $PAM_USER von $PAM_RHOST ---" >> "$LOGFILE"
|
||||||
|
|
||||||
|
# Überprüfung der Benutzer-Shell
|
||||||
|
USER_SHELL=$(/usr/bin/getent passwd "$PAM_USER" | /usr/bin/cut -d: -f7)
|
||||||
|
|
||||||
|
# Bestimmung des Typs
|
||||||
|
if [[ "$USER_SHELL" == *"/nologin" ]] || [[ "$USER_SHELL" == *"/false" ]]; then
|
||||||
|
LOGIN_TYPE="SFTP (Eingeschränkt)"
|
||||||
|
else
|
||||||
|
LOGIN_TYPE="SSH (Interaktiv)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
MESSAGE="Anmeldebenachrichtigung ($PAM_SERVICE):
|
||||||
|
Typ: $LOGIN_TYPE
|
||||||
|
Benutzer: $PAM_USER
|
||||||
|
Remote-Host: $PAM_RHOST
|
||||||
|
Shell: $USER_SHELL
|
||||||
|
Zeitpunkt: $(/usr/bin/date)
|
||||||
|
Host: $(/usr/bin/hostname)"
|
||||||
|
|
||||||
|
# E-Mail-Versand (mit absolutem Pfad)
|
||||||
|
# Prüfen, ob der 'mail'-Befehl unter /usr/sbin/mail verfügbar ist!
|
||||||
|
echo "$MESSAGE" | /usr/sbin/mail -s "$LOGIN_TYPE: $PAM_USER" i.meszely@antares-apo.de >> "$LOGFILE" 2>&1
|
||||||
|
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "Erfolg: E-Mail gesendet." >> "$LOGFILE"
|
||||||
|
else
|
||||||
|
echo "FEHLER: E-Mail-Versand fehlgeschlagen! (Exit code: $?)" >> "$LOGFILE"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
Reference in New Issue
Block a user