master v2.89
Dmitry Razumov 1 year ago
parent 1c3db657fb
commit 4f3f04f288
Signed by: asmeron
GPG Key ID: 50BC1DB583B79706

@ -21,7 +21,7 @@ declare -A AUTOINSTALL
#rc.desktop/all/placeondesktop
#rc.desktop/deonly/xfce4-ubinstall-trust
UBINSTALL_DESKTOP="ubinstall,ubinstall.cli"
UBINSTALL_DESKTOP="ubinstall-gtk,ubinstall.cli"
#rc.desktop/all/fusion-icon
# timeout to start fusion-icon
@ -267,5 +267,8 @@ UBPILE[web_socket_use_hostnames]="false"
AUTOINSTALL[part_size]="16G"
AUTOINSTALL[part_fs_type]="ext4"
AUTOINSTALL[user_name]="superadmin"
AUTOINSTALL[user_gecos]="Administrator"
AUTOINSTALL[user_password]="ublinux"
AUTOINSTALL[log]=yes

@ -110,8 +110,6 @@ remove_userhome(){
# Если запущенно без параметра, то все пароли зашифровать в переменных USERADD GROUPADD DEFAULTPASSWD DEFAULTROOTPASSWD
globalconf_convert_pass_plain_to_hash(){
[[ -z ${ROOTFS} ]] || return 0
SOURCE=${SYSCONF}/users; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/.users_credential; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
local PARAM="$@"
local -A USERADD
local -A GROUPADD
@ -120,36 +118,39 @@ globalconf_convert_pass_plain_to_hash(){
[[ -n ${HASHPASSWD} ]] || HASHPASSWD=$(/usr/bin/ubconfig --raw --default get users HASHPASSWD)
[[ -n ${HASHPASSWD} && ${HASHPASSWD} != "(null)" ]] || HASHPASSWD='yescrypt'
if [[ -n ${PARAM} ]]; then
[[ ${PARAM%%=*} =~ [!\$%\&()*+,/\;\<\=\>?\^\{|\}~] ]] || eval "${PARAM%%=*}=\${PARAM#*=}"
[[ ${PARAM%%=*} =~ [!\$%\&()*+,/\;\<\=\>?\^\{|\}~] ]] || eval ${PARAM%%=*}=${PARAM#*=}
else
SOURCE=${SYSCONF}/users; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/.users_credential; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
fi
# Проверим DEFAULTPASSWD, если не указан в $1, то подгрузить из глобальной конфигурации
[[ -n ${PARAM} ]] || DEFAULTPASSWD=$(ubconfig --raw --source global get [users] DEFAULTPASSWD)
if [[ -n ${DEFAULTPASSWD} && ${DEFAULTPASSWD} != "(null)" ]]; then
if [[ -n ${PARAM} && $(is_hash_password ${DEFAULTPASSWD}) ]]; then
ubconfig --noexecute --target global set [users] DEFAULTPASSWD="${DEFAULTPASSWD}"
ubconfig set [users] DEFAULTPASSWD="${DEFAULTPASSWD}"
else
#return_hash_password "${DEFAULTPASSWD}"
#[[ -n ${HASH_PASSWORD_NEW} ]] && ubconfig --noexecute --target global set [users] DEFAULTPASSWD="${HASH_PASSWORD_NEW}"
ubconfig --noexecute --target global set [users] DEFAULTPASSWD="$(return_hash_password hash ${HASHPASSWD} ${DEFAULTPASSWD})"
ubconfig set [users] DEFAULTPASSWD="$(return_hash_password hash ${HASHPASSWD} ${DEFAULTPASSWD})"
fi
fi
# Проверим DEFAULTROOTPASSWD, если не указан в $1, то подгрузить из глобальной конфигурации
[[ -n ${PARAM} ]] || DEFAULTROOTPASSWD=$(ubconfig --raw --source global get [users] DEFAULTROOTPASSWD)
if [[ -n ${DEFAULTROOTPASSWD} && ${DEFAULTROOTPASSWD} != "(null)" ]]; then
if [[ -n ${PARAM} && $(is_hash_password ${DEFAULTROOTPASSWD}) ]]; then
ubconfig --noexecute --target global set [users] DEFAULTROOTPASSWD="${DEFAULTROOTPASSWD}"
ubconfig set [users] DEFAULTROOTPASSWD="${DEFAULTROOTPASSWD}"
else
#return_hash_password "${DEFAULTROOTPASSWD}"
#[[ -n ${HASH_PASSWORD_NEW} ]] && ubconfig --noexecute --target global set [users] DEFAULTROOTPASSWD="${HASH_PASSWORD_NEW}"
ubconfig --noexecute --target global set [users] DEFAULTROOTPASSWD="$(return_hash_password hash ${HASHPASSWD} ${DEFAULTROOTPASSWD})"
ubconfig set [users] DEFAULTROOTPASSWD="$(return_hash_password hash ${HASHPASSWD} ${DEFAULTROOTPASSWD})"
fi
fi
# Проверим USERADD, если не указан в $1, то подгрузить из глобальной конфигурации
[[ -n ${PARAM} ]] || while IFS= read -r SELECT_USERADD; do
if [[ ! ${SELECT_USERADD%%=*} =~ [!\$%\&()*+,/\;\<\=\>?\^\{|\}~] ]]; then
VAR_NAME=${SELECT_USERADD%%=*}
VAR_VALUE=${SELECT_USERADD#*=}; VAR_VALUE=${VAR_VALUE//\'/}
eval "${VAR_NAME}=\${VAR_VALUE}"
VAR_VALUE=${SELECT_USERADD#*=}; VAR_VALUE=${VAR_VALUE//(\'|\")/}
eval ${VAR_NAME}=${VAR_VALUE}
fi
done < <(ubconfig --source global get [users] USERADD[*])
if [[ ${#USERADD[@]} != 0 ]]; then
@ -157,11 +158,11 @@ globalconf_convert_pass_plain_to_hash(){
IFS=: read -r SELECT_GECOS SELECT_UID SELECT_GROUP SELECT_EXTRAGROUPS SELECT_OPTIONAL SELECT_PASSWORD NULL <<< "${USERADD[${SELECT_USERNAME}]}"
if [[ ${SELECT_PASSWORD} != "" ]]; then
if [[ -n ${PARAM} && $(is_hash_password ${SELECT_PASSWORD}) ]]; then
ubconfig --noexecute --target global set [users] USERADD[${SELECT_USERNAME}]="${SELECT_GECOS}:${SELECT_UID}:${SELECT_GROUP}:${SELECT_EXTRAGROUPS}:${SELECT_OPTIONAL}:${SELECT_PASSWORD}"
ubconfig set [users] USERADD[${SELECT_USERNAME}]="${SELECT_GECOS}:${SELECT_UID}:${SELECT_GROUP}:${SELECT_EXTRAGROUPS}:${SELECT_OPTIONAL}:${SELECT_PASSWORD}"
else
#return_hash_password "${SELECT_PASSWORD}"
#[[ -n ${HASH_PASSWORD_NEW} ]] && ubconfig --noexecute --target global set [users] USERADD[${SELECT_USERNAME}]="${SELECT_GECOS}:${SELECT_UID}:${SELECT_GROUP}:${SELECT_EXTRAGROUPS}:${SELECT_OPTIONAL}:${HASH_PASSWORD_NEW}"
ubconfig --noexecute --target global set [users] USERADD[${SELECT_USERNAME}]="${SELECT_GECOS}:${SELECT_UID}:${SELECT_GROUP}:${SELECT_EXTRAGROUPS}:${SELECT_OPTIONAL}:$(return_hash_password hash ${HASHPASSWD} ${SELECT_PASSWORD})"
ubconfig set [users] USERADD[${SELECT_USERNAME}]="${SELECT_GECOS}:${SELECT_UID}:${SELECT_GROUP}:${SELECT_EXTRAGROUPS}:${SELECT_OPTIONAL}:$(return_hash_password hash ${HASHPASSWD} ${SELECT_PASSWORD})"
fi
fi
done 3< <(printf "%s\n" "${!USERADD[@]}")
@ -170,8 +171,8 @@ globalconf_convert_pass_plain_to_hash(){
[[ -n ${PARAM} ]] || while IFS= read -r SELECT_GROUPADD; do
if [[ ! ${SELECT_GROUPADD%%=*} =~ [!\$%\&()*+,/\;\<\=\>?\^\{|\}~] ]]; then
VAR_NAME=${SELECT_GROUPADD%%=*}
VAR_VALUE=${SELECT_GROUPADD#*=}; VAR_VALUE=${VAR_VALUE//\'/}
eval "${VAR_NAME}=\${VAR_VALUE}"
VAR_VALUE=${SELECT_GROUPADD#*=}; VAR_VALUE=${VAR_VALUE//(\'|\")/}
eval ${VAR_NAME}=${VAR_VALUE}
fi
done < <(ubconfig --source global get [users] GROUPADD[*])
if [[ ${#GROUPADD[@]} != 0 ]]; then
@ -179,11 +180,11 @@ globalconf_convert_pass_plain_to_hash(){
IFS=: read -r SELECT_USERS SELECT_GID SELECT_OPTIONAL SELECT_ADMINISTRATORS SELECT_PASSWORD NULL <<< "${GROUPADD[${SELECT_GROUP}]}"
if [[ ${SELECT_PASSWORD} != "" ]]; then
if [[ -n ${PARAM} && $(is_hash_password ${SELECT_PASSWORD}) ]]; then
ubconfig --noexecute --target global set [users] GROUPADD[${SELECT_GROUP}]="${SELECT_USERS}:${SELECT_GID}:${SELECT_OPTIONAL}:${SELECT_ADMINISTRATORS}:${SELECT_PASSWORD}"
ubconfig set [users] GROUPADD[${SELECT_GROUP}]="${SELECT_USERS}:${SELECT_GID}:${SELECT_OPTIONAL}:${SELECT_ADMINISTRATORS}:${SELECT_PASSWORD}"
else
#return_hash_password "${SELECT_PASSWORD}"
#[[ -n ${HASH_PASSWORD_NEW} ]] && ubconfig --noexecute --target global set [users] GROUPADD[${SELECT_GROUP}]="${SELECT_USERS}:${SELECT_GID}:${SELECT_OPTIONAL}:${SELECT_ADMINISTRATORS}:${HASH_PASSWORD_NEW}"
ubconfig --noexecute --target global set [users] GROUPADD[${SELECT_GROUP}]="${SELECT_USERS}:${SELECT_GID}:${SELECT_OPTIONAL}:${SELECT_ADMINISTRATORS}:$(return_hash_password hash ${HASHPASSWD} ${SELECT_PASSWORD})"
ubconfig set [users] GROUPADD[${SELECT_GROUP}]="${SELECT_USERS}:${SELECT_GID}:${SELECT_OPTIONAL}:${SELECT_ADMINISTRATORS}:$(return_hash_password hash ${HASHPASSWD} ${SELECT_PASSWORD})"
fi
fi
done 3< <(printf "%s\n" "${!GROUPADD[@]}")

@ -43,7 +43,8 @@ exec_useradd_sync(){
if [[ "$(declare -p USERADD_SYNC 2>/dev/null)" == "declare -A"* ]]; then
while IFS= read -u3 SELECT_USER; do
#[[ ${USERADD_SYNC[${SELECT_USER}]} =~ 'shutdown' ]] && sync_user ${SELECT_USER}
if [[ ${USERADD_SYNC[${SELECT_USER}]} =~ 'shutdown' ]]; then
# В массиве 0 запись игнорируем, т.к. это параметр не ассоциативного массива
if [[ ${SELECT_USER} != 0 && ${USERADD_SYNC[${SELECT_USER}]} =~ 'shutdown' ]]; then
set_ubconfig "${SELECT_USER}"
fi
done 3< <(printf "%s\n" "${!USERADD_SYNC[@]}")
@ -76,7 +77,8 @@ exec_groupadd_sync(){
fi
if [[ "$(declare -p GROUPADD_SYNC 2>/dev/null)" == "declare -A"* ]]; then
while IFS= read -u3 SELECT_GROUP; do
if [[ ${GROUPADD_SYNC[${SELECT_GROUP}]} =~ 'shutdown' ]]; then
# В массиве 0 запись игнорируем, т.к. это параметр не ассоциативного массива
if [[ ${SELECT_GROUP} != 0 && ${GROUPADD_SYNC[${SELECT_GROUP}]} =~ 'shutdown' ]]; then
set_ubconfig "${SELECT_GROUP}"
fi
done 3< <(printf "%s\n" "${!GROUPADD_SYNC[@]}")

@ -256,7 +256,7 @@ SERVICES_ENABLE=dbus-broker,NetworkManager,sshd,swapspace,systemd-timesyncd,cups
## shutdown@users # При завершении работы системы синхронизировать пользователей 1000<=UID<=6000 в системе с глобальной конфигурацией
## shutdown@systems # При завершении работы системы синхронизировать системных пользователей 500<=UID<=999 в системе с глобальной конфигурацией
## shutdown@<min>-<max> # При завершении работы системы синхронизировать диапазон UID пользователей в системе с глобальной конфигурацией
## shutdown@<gid> # При завершении работы системы синхронизировать UID пользователя в системе с глобальной конфигурацией
## shutdown@<uid> # При завершении работы системы синхронизировать UID пользователя в системе с глобальной конфигурацией
## USERADD_SYNC=boot,shutdown
##
## USERADD_SYNC[<user_name>]='boot,shutdown'

Loading…
Cancel
Save