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
|
|||
|
|