60 lines
1.0 KiB
Bash
Executable File
60 lines
1.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
|
|
# we want only initialize with unison if session is starting
|
|
if [ "$PAM_TYPE" != "open_session" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
. /etc/wmde-rp.conf
|
|
|
|
USER_UID=$(id -u "$PAM_USER" 2>/dev/null)
|
|
|
|
# do not run for uid < $MIN_USER_ID
|
|
if [ -z "$USER_UID" ] || [ "$USER_UID" -lt $MIN_USER_ID ]; then
|
|
exit 0
|
|
fi
|
|
|
|
# do not run for any admin users
|
|
for user in $ADMIN_USERS; do
|
|
if [ "$PAM_USER" = "$user" ]; then
|
|
exit 0
|
|
fi
|
|
done
|
|
|
|
FQDN=$(hostname -f)
|
|
DOMAIN=$(hostname -d)
|
|
|
|
PRGROUPFOUND=0
|
|
for group in $NETGROUPS; do
|
|
OUTPUT=$(getent netgroup "$group" "$FQDN" "$PAM_USER" "$DOMAIN" 2>/dev/null)
|
|
echo "$OUTPUT" | grep -q "1$"
|
|
if [ $? -eq 0 ]; then
|
|
PRGROUPFOUND=1
|
|
break
|
|
fi
|
|
done
|
|
|
|
if [ $PRGROUPFOUND -ne 1 ]; then
|
|
exit 0
|
|
fi
|
|
|
|
|
|
# Get all users groups
|
|
#USER_GROUPS=$(id -nG "$PAM_USER")
|
|
|
|
#RPGROUPFOUND=0
|
|
#for GROUP in $RPGROUPS; do
|
|
# for USERGROUP in $USER_GROUPS; do
|
|
# if [ "$GROUP" = "$USERGROUP" ]; then
|
|
# RPGROUPFOUND=1
|
|
# fi
|
|
# done
|
|
#done
|
|
|
|
#if [ "$RPGROUPFOUND" -eq 0 ]; then
|
|
# exit 0
|
|
#fi
|
|
|
|
|