summaryrefslogtreecommitdiffstats
path: root/src/os-plugins/plugins/eduroam/files/usr/share/libpam-script/pam_script_ses_open
diff options
context:
space:
mode:
Diffstat (limited to 'src/os-plugins/plugins/eduroam/files/usr/share/libpam-script/pam_script_ses_open')
-rwxr-xr-xsrc/os-plugins/plugins/eduroam/files/usr/share/libpam-script/pam_script_ses_open20
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