summaryrefslogtreecommitdiffstats
path: root/scripts/pam_scripts_ses_close.ugly_ses_close
blob: eedb40ed2ebff7e720a27a9b2adf51cbe273a423 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash

export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/openslx/bin:/opt/openslx/sbin:/opt/openslx/usr/bin:/opt/openslx/usr/sbin"

[ ! -z "$SLX_DEBUG" ] && echo "[$PAM_TYPE] Closing session for $PAM_USER"

# TODO check if its the last session of the user.

OPENSESSIONS=$(loginctl|grep $PAM_USER|wc -l)

echo "User $PAM_USER has $OPENSESSIONS open sessions."

if [ "x$OPENSESSIONS" == "x1" ]; then
	# assume its last session, start watchdog in background
	echo "Last session beeing closed..."
	( while true; do sleep 1; if [ "x$(loginctl |grep $PAM_USER)" == "x" ]; then [ $(id -g $PAM_USER) -ge 1000 ] && umount /home/s8jobaue; fi; done) &
fi

[ $(id -g $PAM_USER) -ge 1000 ] && umount /home/$PAM_USER