From 20ce232c145199d32e9ee3b38367023caa2cf0bd Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 12 Dec 2013 19:08:04 +0100 Subject: [pam] Fix session cleanup after last logout: su/sudo would not create a new session with logind, so an active user session could have been killed --- remote/modules/pam/data/opt/openslx/scripts/pam_script_ses_close | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'remote') diff --git a/remote/modules/pam/data/opt/openslx/scripts/pam_script_ses_close b/remote/modules/pam/data/opt/openslx/scripts/pam_script_ses_close index 535cd0d6..198d2efe 100755 --- a/remote/modules/pam/data/opt/openslx/scripts/pam_script_ses_close +++ b/remote/modules/pam/data/opt/openslx/scripts/pam_script_ses_close @@ -13,6 +13,10 @@ slxlog "session-close" "$PAM_USER logged out on $PAM_TTY" OPENSESSION=$(loginctl show-user "$PAM_USER" | grep "Sessions=" | cut -c 10-) SESSIONCOUNT=$(echo "$OPENSESSION" | wc -w) +# When using su/sudo there is no session created, so count up by one +if [ "x$PAM_SERVICE" = "xsu" -o "x$PAM_SERVICE" = "xsudo" ]; then + SESSIONCOUNT=$(( $SESSIONCOUNT + 1 )) +fi if [ "$SESSIONCOUNT" = "1" ]; then # last sessions, close all ghost user processes -- cgit v1.2.3-55-g7522