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

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

@ -43,7 +43,8 @@ exec_useradd_sync(){
if [[ "$(declare -p USERADD_SYNC 2>/dev/null)" == "declare -A"* ]]; then if [[ "$(declare -p USERADD_SYNC 2>/dev/null)" == "declare -A"* ]]; then
while IFS= read -u3 SELECT_USER; do while IFS= read -u3 SELECT_USER; do
#[[ ${USERADD_SYNC[${SELECT_USER}]} =~ 'shutdown' ]] && sync_user ${SELECT_USER} #[[ ${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}" set_ubconfig "${SELECT_USER}"
fi fi
done 3< <(printf "%s\n" "${!USERADD_SYNC[@]}") done 3< <(printf "%s\n" "${!USERADD_SYNC[@]}")
@ -76,7 +77,8 @@ exec_groupadd_sync(){
fi fi
if [[ "$(declare -p GROUPADD_SYNC 2>/dev/null)" == "declare -A"* ]]; then if [[ "$(declare -p GROUPADD_SYNC 2>/dev/null)" == "declare -A"* ]]; then
while IFS= read -u3 SELECT_GROUP; do 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}" set_ubconfig "${SELECT_GROUP}"
fi fi
done 3< <(printf "%s\n" "${!GROUPADD_SYNC[@]}") 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@users # При завершении работы системы синхронизировать пользователей 1000<=UID<=6000 в системе с глобальной конфигурацией
## shutdown@systems # При завершении работы системы синхронизировать системных пользователей 500<=UID<=999 в системе с глобальной конфигурацией ## shutdown@systems # При завершении работы системы синхронизировать системных пользователей 500<=UID<=999 в системе с глобальной конфигурацией
## shutdown@<min>-<max> # При завершении работы системы синхронизировать диапазон UID пользователей в системе с глобальной конфигурацией ## shutdown@<min>-<max> # При завершении работы системы синхронизировать диапазон UID пользователей в системе с глобальной конфигурацией
## shutdown@<gid> # При завершении работы системы синхронизировать UID пользователя в системе с глобальной конфигурацией ## shutdown@<uid> # При завершении работы системы синхронизировать UID пользователя в системе с глобальной конфигурацией
## USERADD_SYNC=boot,shutdown ## USERADD_SYNC=boot,shutdown
## ##
## USERADD_SYNC[<user_name>]='boot,shutdown' ## USERADD_SYNC[<user_name>]='boot,shutdown'

Loading…
Cancel
Save