diff options
Diffstat (limited to 'pam_script_ses_open')
-rwxr-xr-x | pam_script_ses_open | 5 |
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 |