Ahenk/libpam-script/pam_script_ses_open

45 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
function error_exit() {
log "$1:$2 failed, exit status $?"
exit 1
}
trap 'error_exit "${BASH_SOURCE}" "${LINENO}"' ERR
LOG=/var/log/pam_script.log
function log() {
logger --priority auth.info --tag "$0" "$@"
echo "$(date) $0: $@" >> $LOG
}
if [ -n $PAM_USER ] && [ $PAM_USER != "root" ]; then
if ([ -n $PAM_SERVICE ] && [[ ( $PAM_SERVICE == "gdm"* || $PAM_SERVICE == *"dm" )]]) || ([ -n $PAM_TTY ] && [[ $PAM_TTY == ":"* ]]); then
SERVICE="none"
if [ -n $PAM_SERVICE ]; then
SERVICE="$PAM_SERVICE"
fi
TTY_DISPLAY="none"
if [ -n $PAM_TTY ]; then
TTY_DISPLAY="$PAM_TTY"
fi
domain="none"
if [[ $PAM_USER = *'\'* ]]; then
IFS='\' read -ra NAMES <<< "$PAM_USER"
log "login: \ ile geldi"
for i in "${NAMES[@]}"; do
domain="${NAMES[0]}"
PAM_USER="${NAMES[1]}"
done
fi
if [[ $domain != "none" ]]; then
log "login: $PAM_USER service: $SERVICE tty: $TTY_DISPLAY domain: $domain"
sudo python3 /usr/share/ahenk/ahenkd.py login $PAM_USER $SERVICE $TTY_DISPLAY $domain
else
log "login: $PAM_USER service: $SERVICE tty: $TTY_DISPLAY domain: none"
sudo python3 /usr/share/ahenk/ahenkd.py login $PAM_USER $SERVICE $TTY_DISPLAY
fi
fi
fi