summaryrefslogblamecommitdiffstats
path: root/remote/modules/pam/data/opt/openslx/scripts/pam_script_ses_close
blob: 3a617d491cbfd8c5526cc9090aa4193a1b64ec51 (plain) (tree)
1
2
3
4
5
6
7
8
9

           

                                                                                                                                                        
 



                                                         













                                                               
                                                                        

                                       
                                                             


      
 
#!/bin/bash

# Needed as pam_script clears PATH
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/openslx/usr/sbin:/opt/openslx/usr/bin:/opt/openslx/sbin:/opt/openslx/bin"

# NSA needs to know
slxlog "session-close" "$PAM_USER logged out on $PAM_TTY"

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

if [ "x${OPENSESSIONS}" == "x1" ]; then
	# last sessions, close all ghost user processes
	pkill -u "${PAM_USER}"

	# check if it worker
	while ps aux | grep -v grep | grep -q "${PAM_USER}"; do
		sleep 1
	done
	# all done, kill it again to be sure
	pkill -9 -u "${PAM_USER}" 

	# unmount the home directory structure
	umount "/home/${PAM_USER}/PERSISTENT" || \
		echo "Could not unmount '/home/${PAM_USER}/PERSISTENT'."
        
	umount "/home/${PAM_USER}" || \
		echo "Could not unmount '/home/${PAM_USER}'."
fi

exit 0