Fix USERADD_SYNC and GROUPADD_SYNC

master v2.112
Dmitry Razumov 4 months ago
parent f38a8dd721
commit 354d32a80b
Signed by: asmeron
GPG Key ID: 50BC1DB583B79706

@ -1512,10 +1512,10 @@ ubconfig_exec_system(){
USERADD\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.preinit/10-accounts exec_06_useradd "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;; USERADD\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.preinit/10-accounts exec_06_useradd "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
USERSHADOW\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.preinit/10-accounts exec_07_usershadow "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;; USERSHADOW\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.preinit/10-accounts exec_07_usershadow "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
GROUPADD\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.preinit/10-accounts exec_04_groupadd "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;; GROUPADD\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.preinit/10-accounts exec_04_groupadd "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
USERADD_SYNC) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/25-accounts-sync exec_useradd_sync "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;; USERADD_SYNC) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/25-accounts-sync exec_01_useradd_sync "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
USERADD_SYNC\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/25-accounts-sync exec_useradd_sync "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;; USERADD_SYNC\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/25-accounts-sync exec_01_useradd_sync "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
GROUPADD_SYNC) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/25-accounts-sync exec_groupadd_sync "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;; GROUPADD_SYNC) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/25-accounts-sync exec_02_groupadd_sync "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
GROUPADD_SYNC\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/25-accounts-sync exec_groupadd_sync "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;; GROUPADD_SYNC\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/25-accounts-sync exec_02_groupadd_sync "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
*) NO_FIND_EXCUTE=1 ;; *) NO_FIND_EXCUTE=1 ;;
esac esac
;; ;;

@ -35,7 +35,7 @@ SOURCE=${SYSCONF}/users; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
## boot # При загрузке системы принудительно применить глобальную конфигурацию на пользователя ## boot # При загрузке системы принудительно применить глобальную конфигурацию на пользователя
## shutdown # При завершении работы системы синхронизировать указанного пользователя в системе с глобальной конфигурацией ## shutdown # При завершении работы системы синхронизировать указанного пользователя в системе с глобальной конфигурацией
## USERADD_SYNC[superadmin]=boot,shutdown ## USERADD_SYNC[superadmin]=boot,shutdown
exec_useradd_sync(){ exec_01_useradd_sync(){
remove_ubconfig(){ remove_ubconfig(){
# Удалить пользователей из глобальной конфигурации # Удалить пользователей из глобальной конфигурации
local PARAM="$1" local PARAM="$1"
@ -95,6 +95,10 @@ exec_useradd_sync(){
local GET_USERADD=$(get_conf_useradd_from_system "${PARAM}") local GET_USERADD=$(get_conf_useradd_from_system "${PARAM}")
if [[ ${GET_USERADD} != "" ]]; then if [[ ${GET_USERADD} != "" ]]; then
eval ${ROOTFS}/usr/bin/ubconfig --quiet --target global set [users] ${GET_USERADD} eval ${ROOTFS}/usr/bin/ubconfig --quiet --target global set [users] ${GET_USERADD}
# Если в системной конфигурации заданы USERADD_SYNC= USERADD_SYNC[${PARAM}]= то установить в глобальной конфигурации
[[ -n ${USERADD_SYNC} ]] && ${ROOTFS}/usr/bin/ubconfig --quiet --target global set [users] USERADD_SYNC="${USERADD_SYNC}"
[[ -n ${PARAM} && "$(declare -p USERADD_SYNC 2>/dev/null)" == "declare -A"* && -n ${USERADD_SYNC[${PARAM}]} ]] \
&& ${ROOTFS}/usr/bin/ubconfig --quiet --target global set [users] USERADD_SYNC["${PARAM}"]="${USERADD_SYNC[${PARAM}]}"
local GET_USERSHADOW=$(get_conf_usershadow_from_system ${PARAM}) local GET_USERSHADOW=$(get_conf_usershadow_from_system ${PARAM})
# TODO: Если задан диапазон пользователей, пример 0-999, то GET_USERSHADOW будет содержать всех пользователей в этом диапазоте # TODO: Если задан диапазон пользователей, пример 0-999, то GET_USERSHADOW будет содержать всех пользователей в этом диапазоте
# А нужно выбрать только пользователей которые содержатся в GET_USERADD # А нужно выбрать только пользователей которые содержатся в GET_USERADD
@ -157,13 +161,17 @@ exec_useradd_sync(){
## group_name # Имя группы, необязательное поле. Если не указано, то применяется для всех групп ## group_name # Имя группы, необязательное поле. Если не указано, то применяется для всех групп
## shutdown # При завершении работы системы синхронизировать указанную группу в системе с глобальной конфигурацией ## shutdown # При завершении работы системы синхронизировать указанную группу в системе с глобальной конфигурацией
## GROUPADD_SYNC[users]='shutdown' ## GROUPADD_SYNC[users]='shutdown'
exec_groupadd_sync(){ exec_02_groupadd_sync(){
set_ubconfig(){ set_ubconfig(){
local PARAM="$1" local PARAM="$1"
local GET_GROUPADD=$(get_conf_groupadd_from_system "${PARAM}") local GET_GROUPADD=$(get_conf_groupadd_from_system "${PARAM}")
if [[ ${GET_GROUPADD} != "" ]]; then if [[ ${GET_GROUPADD} != "" ]]; then
eval ${ROOTFS}/usr/bin/ubconfig --quiet --target global remove [users] ${GET_GROUPADD} eval ${ROOTFS}/usr/bin/ubconfig --quiet --target global remove [users] ${GET_GROUPADD}
eval ${ROOTFS}/usr/bin/ubconfig --quiet --target global set [users] ${GET_GROUPADD} eval ${ROOTFS}/usr/bin/ubconfig --quiet --target global set [users] ${GET_GROUPADD}
# Если в системной конфигурации заданы GROUPADD_SYNC= GROUPADD_SYNC[${PARAM}]= то установить в глобальной конфигурации
[[ -n ${GROUPADD_SYNC} ]] && ${ROOTFS}/usr/bin/ubconfig --quiet --target global set [users] GROUPADD_SYNC="${GROUPADD_SYNC}"
[[ -n ${PARAM} && "$(declare -p GROUPADD_SYNC 2>/dev/null)" == "declare -A"* && -n ${GROUPADD_SYNC[${PARAM}]} ]] \
&& ${ROOTFS}/usr/bin/ubconfig --quiet --target global set [users] GROUPADD_SYNC["${PARAM}"]="${GROUPADD_SYNC[${PARAM}]}"
fi fi
} }
[[ $1 == @("set="|"set+="|"set++="|"set-="|"set--="|"remove") ]] && COMMAND=$1 && shift [[ $1 == @("set="|"set+="|"set++="|"set-="|"set--="|"remove") ]] && COMMAND=$1 && shift
@ -201,7 +209,6 @@ exec_groupadd_sync(){
fi fi
} }
################ ################
##### MAIN ##### ##### MAIN #####
################ ################
@ -220,4 +227,3 @@ exec_groupadd_sync(){
done done
eval ${FUNCTION#*; } eval ${FUNCTION#*; }
fi fi

Loading…
Cancel
Save