From db7e41c3b8daac8868ab78d86f4acd19ad2de581 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9=20=D0=91=D0=BE=D0=B1?= =?UTF-8?q?=D1=8B=D1=80=D0=B5=D0=B2?= Date: Sat, 6 Jun 2026 10:39:13 +0300 Subject: [PATCH] fix: use admin default on fresh install --- scripts/install.sh | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/scripts/install.sh b/scripts/install.sh index dd405a9..c97a577 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -105,18 +105,24 @@ fi BOOT_PW="" PASS_FILE="/root/amnezia-admin.initial-password" -if [[ -f "${DATA_DIR}/password.hash" ]]; then - echo "→ В ${DATA_DIR} уже есть password.hash — контейнер поднимется с прежним паролем." -elif [[ -n "${ADMIN_PASSWORD:-}" ]]; then +if [[ -n "${ADMIN_PASSWORD:-}" ]]; then BOOT_PW="${ADMIN_PASSWORD}" - echo "→ Использую ADMIN_PASSWORD из окружения." -elif [[ "${ALLOW_DEFAULT_PASSWORD:-}" == "1" ]] || [[ "${ALLOW_DEFAULT_PASSWORD:-}" == "true" ]]; then - echo "→ ALLOW_DEFAULT_PASSWORD=1 — см. README, пароль по умолчанию для входа." + if [[ -f "${DATA_DIR}/password.hash" ]]; then + __pw_backup="${DATA_DIR}/password.hash.bak.$(date -u +%Y%m%dT%H%M%SZ)" + cp -p "${DATA_DIR}/password.hash" "${__pw_backup}" 2>/dev/null || true + rm -f "${DATA_DIR}/password.hash" + rm -f "${DATA_DIR}/session.secret" + echo "→ ADMIN_PASSWORD задан — сбрасываю старый пароль панели (backup: ${__pw_backup})." + else + echo "→ Использую ADMIN_PASSWORD из окружения." + fi +elif [[ -f "${DATA_DIR}/password.hash" ]]; then + echo "→ В ${DATA_DIR} уже есть password.hash — контейнер поднимется с прежним паролем." else - BOOT_PW="$(openssl rand -base64 24 | tr -dc 'a-zA-Z0-9' | head -c 22 || openssl rand -hex 16)" + BOOT_PW="admin" umask 077 printf '%s\n' "${BOOT_PW}" >"${PASS_FILE}" - echo "→ Первый пароль записан в ${PASS_FILE}" + echo "→ Первый вход: admin / admin. Смените пароль сразу после входа." fi # AWG_PROFILES: не терять при апдейте без переменной (пропадает список «Инстанс»).