fix: keep manually set admin password, echo SSH input
TallyNote release / linux-x64 (push) Successful in 6m11s
TallyNote release / linux-x64 (push) Successful in 6m11s
- manual admin password no longer forces first-login change - --generate still requires password change on first login - add --mark-password-configured to repair legacy flag - echo interactive username/password input in SSH terminal - installer prints absolute admin-init path (sudo secure_path compat) - use python3 pty helper for CI tests (no expect on Linux) release: 1.2.9
This commit is contained in:
+9
-7
@@ -230,26 +230,26 @@ run_initial_admin_wizard() {
|
||||
return 0
|
||||
fi
|
||||
if (( NON_INTERACTIVE )); then
|
||||
log '非交互模式:跳过管理员初始化;稍后可执行 sudo tallynote-admin-init'
|
||||
log "非交互模式:跳过管理员初始化;稍后可执行 sudo $ADMIN_INIT_PATH"
|
||||
return 0
|
||||
fi
|
||||
[[ -r "$PROMPT_INPUT" && -w "$PROMPT_OUTPUT" ]] || {
|
||||
log '未检测到交互式终端:跳过管理员初始化;稍后可执行 sudo tallynote-admin-init'
|
||||
log "未检测到交互式终端:跳过管理员初始化;稍后可执行 sudo $ADMIN_INIT_PATH"
|
||||
return 0
|
||||
}
|
||||
[[ -x "$ADMIN_INIT_PATH" ]] || die '管理员初始化命令未安装'
|
||||
|
||||
local status choice
|
||||
if ! status=$("$ADMIN_INIT_PATH" --check 2>/dev/null); then
|
||||
log '无法检查管理员初始化状态;基础安装已完成,稍后可执行 sudo tallynote-admin-init'
|
||||
log "无法检查管理员初始化状态;基础安装已完成,稍后可执行 sudo $ADMIN_INIT_PATH"
|
||||
return 0
|
||||
fi
|
||||
[[ "$status" == empty ]] || return 0
|
||||
|
||||
exec 9<"$PROMPT_INPUT" || die '无法打开终端输入;请稍后执行 sudo tallynote-admin-init'
|
||||
exec 9<"$PROMPT_INPUT" || die "无法打开终端输入;请稍后执行 sudo $ADMIN_INIT_PATH"
|
||||
{
|
||||
printf '\n首次安装还差一步:请创建管理员账号。\n'
|
||||
printf '管理员账号用于登录 TallyNote,首次登录后需要设置正式密码。\n'
|
||||
printf '管理员账号用于登录 TallyNote;这里输入的密码会直接作为正式密码。\n'
|
||||
} > "$PROMPT_OUTPUT"
|
||||
while :; do
|
||||
prompt_value '现在创建管理员?输入 yes 继续,其他内容稍后创建' 'yes'
|
||||
@@ -258,7 +258,7 @@ run_initial_admin_wizard() {
|
||||
yes|YES|Yes|y|Y) break ;;
|
||||
no|NO|No|n|N|'')
|
||||
exec 9<&-
|
||||
log '已跳过管理员初始化;稍后可执行 sudo tallynote-admin-init'
|
||||
log "已跳过管理员初始化;稍后可执行 sudo $ADMIN_INIT_PATH"
|
||||
return 0
|
||||
;;
|
||||
*) printf '请输入 yes 或 no。\n' > "$PROMPT_OUTPUT" ;;
|
||||
@@ -267,7 +267,7 @@ run_initial_admin_wizard() {
|
||||
stage '创建首位管理员(密码不会写入安装日志)'
|
||||
if ! "$ADMIN_INIT_PATH" <&9 > "$PROMPT_OUTPUT"; then
|
||||
exec 9<&-
|
||||
log '管理员初始化未完成;基础安装已完成,稍后可执行 sudo tallynote-admin-init'
|
||||
log "管理员初始化未完成;基础安装已完成,稍后可执行 sudo $ADMIN_INIT_PATH"
|
||||
return 0
|
||||
fi
|
||||
exec 9<&-
|
||||
@@ -1538,5 +1538,7 @@ main() {
|
||||
fi
|
||||
log "访问地址:$access_url"
|
||||
log '查看服务状态:systemctl status tallynote.service'
|
||||
log "管理员初始化命令:sudo $ADMIN_INIT_PATH"
|
||||
log '如 sudo 找不到该命令,请使用上面输出的绝对路径'
|
||||
}
|
||||
main "$@"
|
||||
|
||||
Reference in New Issue
Block a user