From ae78a282a792b7953ed0e0c1a8333e1123538015 Mon Sep 17 00:00:00 2001 From: asmeron Date: Thu, 15 Feb 2024 17:56:05 +0600 Subject: [PATCH] Fix /functions globalconf_convert_pass_plain_to_hash --- ublinux/functions | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/ublinux/functions b/ublinux/functions index 6cdfb36..4daa056 100755 --- a/ublinux/functions +++ b/ublinux/functions @@ -108,7 +108,7 @@ remove_userhome(){ globalconf_convert_pass_plain_to_hash(){ [[ -z ${ROOTFS} ]] || return 0 SOURCE=${SYSCONF}/users; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null - SOURCE=${ROOTFS}/root/.ublinux/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 @@ -122,8 +122,8 @@ globalconf_convert_pass_plain_to_hash(){ # Проверим DEFAULTPASSWD, если не указан в $1, то подгрузить из глобальной конфигурации [[ -n ${PARAM} ]] || DEFAULTPASSWD=$(ubconfig --raw --source global get [users] DEFAULTPASSWD) if [[ -n ${DEFAULTPASSWD} && ${DEFAULTPASSWD} != "(null)" ]]; then - if [[ -n ${PARAM} && ${DEFAULTPASSWD} =~ ^'%%'(.*)$ ]]; then - ubconfig --noexecute --target global set [users] DEFAULTPASSWD="${BASH_REMATCH[1]}" + if [[ -n ${PARAM} && $(is_hash_password ${DEFAULTPASSWD}) ]]; then + ubconfig --noexecute --target global set [users] DEFAULTPASSWD="${DEFAULTPASSWD}" else #return_hash_password "${DEFAULTPASSWD}" #[[ -n ${HASH_PASSWORD_NEW} ]] && ubconfig --noexecute --target global set [users] DEFAULTPASSWD="${HASH_PASSWORD_NEW}" @@ -133,8 +133,8 @@ globalconf_convert_pass_plain_to_hash(){ # Проверим DEFAULTROOTPASSWD, если не указан в $1, то подгрузить из глобальной конфигурации [[ -n ${PARAM} ]] || DEFAULTROOTPASSWD=$(ubconfig --raw --source global get [users] DEFAULTROOTPASSWD) if [[ -n ${DEFAULTROOTPASSWD} && ${DEFAULTROOTPASSWD} != "(null)" ]]; then - if [[ -n ${PARAM} && ${DEFAULTROOTPASSWD} =~ ^'%%'(.*)$ ]]; then - ubconfig --noexecute --target global set [users] DEFAULTROOTPASSWD="${BASH_REMATCH[1]}" + if [[ -n ${PARAM} && $(is_hash_password ${DEFAULTROOTPASSWD}) ]]; then + ubconfig --noexecute --target global set [users] DEFAULTROOTPASSWD="${DEFAULTROOTPASSWD}" else #return_hash_password "${DEFAULTROOTPASSWD}" #[[ -n ${HASH_PASSWORD_NEW} ]] && ubconfig --noexecute --target global set [users] DEFAULTROOTPASSWD="${HASH_PASSWORD_NEW}" @@ -153,8 +153,8 @@ globalconf_convert_pass_plain_to_hash(){ while IFS= read -u3 SELECT_USERNAME; do 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} && ${SELECT_PASSWORD} =~ ^'%%'(.*)$ ]]; then - ubconfig --noexecute --target global set [users] USERADD[${SELECT_USERNAME}]="${SELECT_GECOS}:${SELECT_UID}:${SELECT_GROUP}:${SELECT_EXTRAGROUPS}:${SELECT_OPTIONAL}:${BASH_REMATCH[1]}" + 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}" 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}" @@ -175,8 +175,8 @@ globalconf_convert_pass_plain_to_hash(){ while IFS= read -u3 SELECT_GROUP; do IFS=: read -r SELECT_USERS SELECT_GID SELECT_OPTIONAL SELECT_ADMINISTRATORS SELECT_PASSWORD NULL <<< "${GROUPADD[${SELECT_GROUP}]}" if [[ ${SELECT_PASSWORD} != "" ]]; then - if [[ -n ${PARAM} && ${SELECT_PASSWORD} =~ ^'%%'(.*)$ ]]; then - ubconfig --noexecute --target global set [users] GROUPADD[${SELECT_GROUP}]="${SELECT_USERS}:${SELECT_GID}:${SELECT_OPTIONAL}:${SELECT_ADMINISTRATORS}:${BASH_REMATCH[1]}" + 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}" 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}"