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