25 lines
662 B
Bash
25 lines
662 B
Bash
#!/bin/bash
|
||
|
||
domaingroup="domain users"
|
||
localgroups="pulse pulse-access"
|
||
|
||
baseusers="bglug"
|
||
domainusers=$(getent group '${domaingroup}' | awk 'BEGIN { FS = ":" }; { print $4 }' | sed -e 's/,/ /')
|
||
|
||
users="${baseusers} ${domainusers}"
|
||
|
||
for group in "${localgroups}"; do
|
||
actualusers=$(getent group '${group}' | awk 'BEGIN { FS = ":" }; { print $4 }' | sed -e 's/,/ /g')
|
||
|
||
# Removing users not in the group
|
||
for user in "${actualusers}"; do
|
||
[[ "${users}" =~ "${user}" ]] || gpasswd -d "${user}" "${group}"
|
||
done
|
||
|
||
# Adding users to group
|
||
for user in "${users}"; do
|
||
[[ "${actualusers}" =~ "${user}" ]] || gpasswd -a "${user}" "${group}"
|
||
done
|
||
done
|
||
|