wmde-rp/wmde-rp-check-pam-user.sh

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