diff options
Diffstat (limited to 'src/os-plugins/plugins/eduroam/files/usr/share/libpam-script/pam_script_ses_open')
-rwxr-xr-x | src/os-plugins/plugins/eduroam/files/usr/share/libpam-script/pam_script_ses_open | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/os-plugins/plugins/eduroam/files/usr/share/libpam-script/pam_script_ses_open b/src/os-plugins/plugins/eduroam/files/usr/share/libpam-script/pam_script_ses_open new file mode 100755 index 00000000..4ca474b9 --- /dev/null +++ b/src/os-plugins/plugins/eduroam/files/usr/share/libpam-script/pam_script_ses_open @@ -0,0 +1,20 @@ +#!/bin/bash +# pam_script session open script. +# This script is executed by root when a new session is opened. +echo "[$PAM_TYPE] Creating new session for $PAM_USER." + +min_uid=234299000 +[ $(id -u $PAM_USER) -gt $min_uid ] || exit 0 + +session_counter=/tmp/$PAM_USER.sessioncount +num_user_proc=$(ps aux|grep $PAM_USER -c|grep -v grep) + +if [ $num_user_proc -eq 0 ] +then + # no running session, write 1 since we are creating a new session. + echo "1" > $session_counter +else + # running session, increment + current_count=$(cat $session_counter) + echo "$(($current_count+1))" > $session_counter +fi |