diff options
| author | Christian Rößler | 2013-10-31 14:57:26 +0100 |
|---|---|---|
| committer | Christian Rößler | 2013-10-31 14:57:26 +0100 |
| commit | e68b69bea5ec8ab1b36719c14e1dfa71a2eabd0d (patch) | |
| tree | dc68e13132ec72447cb6f8cd7c5b8f28fdf61cf8 /scripts | |
| parent | [doc] Module documentation printergui translated. Please comment/elaborate! (diff) | |
| parent | added pam session closing scripts with home directory unmounting. For referen... (diff) | |
| download | tm-scripts-e68b69bea5ec8ab1b36719c14e1dfa71a2eabd0d.tar.gz tm-scripts-e68b69bea5ec8ab1b36719c14e1dfa71a2eabd0d.tar.xz tm-scripts-e68b69bea5ec8ab1b36719c14e1dfa71a2eabd0d.zip | |
Merge branch 'master' of git.openslx.org:openslx-ng/tm-scripts
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/pam_scripts_ses_close.ugly_ses_close | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/scripts/pam_scripts_ses_close.ugly_ses_close b/scripts/pam_scripts_ses_close.ugly_ses_close new file mode 100755 index 00000000..eedb40ed --- /dev/null +++ b/scripts/pam_scripts_ses_close.ugly_ses_close @@ -0,0 +1,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 |
