From 3e68e96c8a5541f55b1c2e96210c91e7a16aacc7 Mon Sep 17 00:00:00 2001 From: wpanda Date: Wed, 25 Mar 2026 10:18:00 +0100 Subject: [PATCH] script de verzio --- Dev/APS-SFTP01/sftp-notify_de.sh | 45 ++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Dev/APS-SFTP01/sftp-notify_de.sh diff --git a/Dev/APS-SFTP01/sftp-notify_de.sh b/Dev/APS-SFTP01/sftp-notify_de.sh new file mode 100644 index 0000000..4055365 --- /dev/null +++ b/Dev/APS-SFTP01/sftp-notify_de.sh @@ -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