#!/bin/bash source /usr/local/bin/libs/common.sh source /etc/serverconfig/.env INSTALLED=$1 if [[ "--install" == $INSTALLED ]]; then info_print "\n\ ==================================================\n\ sshd-login Installation\n\ --------------------------------------------------" login='session optional pam_exec.so /usr/local/bin/scripts/sshd-login.sh' file='/etc/pam.d/common-session' if [[ ! -f "$file" ]]; then info_print "$file doesn't found." $ERROR_FLAG exit 1 fi if ! grep -Fxq "$login" "$file"; then echo "$login" >> "$file" info_print "login command added to $file." $SUCCESS_FLAG else info_print "login command already added to $file." $WARN_FLAG fi exit 0; fi source /usr/local/bin/libs/notifications.sh case "$PAM_TYPE" in open_session) PAYLOAD=$(printf "🚨 Login Event 🚨\nUser %s logged in from %s at %s." "$PAM_USER" "$PAM_RHOST" "$(date)") ;; close_session) PAYLOAD=$(printf "🚨 Logout Event 🚨\nUser %s logged out from %s at %s." "$PAM_USER" "$PAM_RHOST" "$(date)") ;; esac if [ -n "$PAYLOAD" ] ; then send_notification "$PAYLOAD" fi