13 lines
608 B
Bash
13 lines
608 B
Bash
#!/usr/bin/env bash
|
|
|
|
# multiple groups can be configured to switch to diffrent set of users
|
|
while IFS='=' read -r _ confGroup; do
|
|
# options not in specific Order -> cut of
|
|
group="$(echo $confGroup | awk '{print $1}')"
|
|
membercount=$(grep -Pi "^$group:" /etc/group | awk -F ':' '{print $NF}' | awk -F ',' '{print NF}')
|
|
# groups should have no members
|
|
[[ $membercount -gt 0 ]] && exit 1
|
|
done < <(grep -Pi '^\h*auth\h+(?:required|requisite)\h+pam_wheel\.so\h+(?:[^#\n\r]+\h+)?((?!\2)(use_uid\b|group=\H+\b))\h+(?:[^#\n\r]+\h+)?((?!\1)(use_uid\b|group=\H+\b))(\h+.*)?$' /etc/pam.d/su)
|
|
|
|
exit 0
|