summaryrefslogtreecommitdiff
path: root/pam_script_ses_open
diff options
context:
space:
mode:
Diffstat (limited to 'pam_script_ses_open')
-rwxr-xr-xpam_script_ses_open5
1 files changed, 4 insertions, 1 deletions
diff --git a/pam_script_ses_open b/pam_script_ses_open
index 6bdf57e..731e250 100755
--- a/pam_script_ses_open
+++ b/pam_script_ses_open
@@ -54,7 +54,10 @@ fi
hdir=$(eval echo ~$PAM_USER)
[ -d "$hdir" ] || /sbin/mkhomedir_helper $PAM_USER
-date +"%FT%T.%N%nuser=$PAM_USER%npid=$$%nauid=$auid%nsession=$sess%nhome=$hdir" \
+# don't overwrite if it already exists. Happens when sudo or su
+# is run from an existing mapped session.
+[ -s $dbdir/$sess ] || \
+ date +"%FT%T.%N%nuser=$PAM_USER%npid=$$%nauid=$auid%nsession=$sess%nhome=$hdir" \
> $dbdir/$sess
# always succeed, this should not block sessions on errors