From f52275cf7886e71053c709cb71bc2a65cb2b5910 Mon Sep 17 00:00:00 2001 From: Emre Akkaya Date: Mon, 27 Jun 2016 12:37:12 +0300 Subject: [PATCH] Update pam_script_ses_close --- usr/share/libpam-script/pam_script_ses_close | 28 ++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/usr/share/libpam-script/pam_script_ses_close b/usr/share/libpam-script/pam_script_ses_close index b2b7ddb..344d77f 100755 --- a/usr/share/libpam-script/pam_script_ses_close +++ b/usr/share/libpam-script/pam_script_ses_close @@ -1,6 +1,30 @@ #!/bin/bash -if [ -n $PAM_USER ]; then - if [ $PAM_USER != "root" ]; then + +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 == *"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 + log "logout: $PAM_USER service: $SERVICE tty: $TTY_DISPLAY" sudo python3 /opt/ahenk/ahenkd.py logout $PAM_USER fi fi