You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ublinux-init/ublinux/rc.domain.d/30-usershwaccess

25 lines
944 B

#!/usr/bin/bash
#
# Author: Dmitry Razumov <asmeron@ublinux.com>
# Copyright (c) 2021-2025 UBLinux <support@ublinux.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
#
ENABLED=no
[[ ${ENABLED} == "yes" ]] || { return 0 2>/dev/null && return 0 || exit 0; }
. /usr/lib/ublinux/default
SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
[[ -n ${DOMAIN_USERGROUPS} ]] && { DOMAIN_USERGROUPS=${DOMAIN_USERGROUPS//,/ }; DOMAIN_USERGROUPS=${DOMAIN_USERGROUPS//;/ }; } || exit 0
[[ -n ${DOMAIN_USERSHWACCESS} ]] && { DOMAIN_USERSHWACCESS=${DOMAIN_USERSHWACCESS//,/ }; DOMAIN_USERSHWACCESS=${DOMAIN_USERSHWACCESS//;/ }; } || exit 0
DATA_GROUPS=(< /etc/groups)
for SELECT_USER in ${DOMAIN_USERSHWACCESS}; do
for SELECT_GROUP in ${DOMAIN_USERGROUPS}; do
[[ ${DATA_GROUPS} =~ (^|$'\n')"${SELECT_GROUP}:"($'\n'|$) ]] && usermod -a -G "${SELECT_GROUP}" "${SELECT_USER}"
done
done