fix(installer): echte Web-Passwörter aus Journal lesen statt Platzhalter

Der Backend generiert beim ersten Start zufällige Passwörter und gibt
sie im Journal aus. Der Installer liest sie nun nach dem Deployment
und trägt sie korrekt in install-summary.txt und Terminal-Output ein.
Zuvor wurden fälschlicherweise 'archivmailrockz' als Passwörter angezeigt.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
sysops
2026-03-20 01:22:50 +01:00
parent 33eafc1624
commit 32032b49d2
+19 -8
View File
@@ -324,8 +324,19 @@ if [ -f "$INSTALL_DIR/update.sh" ]; then
log "update.sh installiert: $INSTALL_DIR/update.sh" log "update.sh installiert: $INSTALL_DIR/update.sh"
info "Führe erstes Deployment durch (Build + Start)..." info "Führe erstes Deployment durch (Build + Start)..."
bash "$INSTALL_DIR/update.sh" bash "$INSTALL_DIR/update.sh"
# Echte Passwörter aus Journal lesen (Backend gibt sie beim ersten Start aus)
sleep 2
PW_SUPERADMIN=$(journalctl -u archivmail --no-pager -n 50 | grep -oP '(?<=superadmin\s+: )\S+' | tail -1)
PW_ADMIN=$(journalctl -u archivmail --no-pager -n 50 | grep -oP '(?<=admin\s+: )\S+' | tail -1)
PW_AUDITOR=$(journalctl -u archivmail --no-pager -n 50 | grep -oP '(?<=auditor\s+: )\S+' | tail -1)
[[ -n "$PW_ADMIN" ]] || PW_ADMIN="(nicht gefunden — siehe: journalctl -u archivmail | grep admin)"
[[ -n "$PW_AUDITOR" ]] || PW_AUDITOR="(nicht gefunden — siehe: journalctl -u archivmail | grep auditor)"
[[ -n "$PW_SUPERADMIN" ]] || PW_SUPERADMIN="(nicht gefunden — siehe: journalctl -u archivmail | grep superadmin)"
else else
warn "update.sh fehlt — manuell ausführen: bash $INSTALL_DIR/update.sh" warn "update.sh fehlt — manuell ausführen: bash $INSTALL_DIR/update.sh"
PW_SUPERADMIN="(noch nicht generiert)"
PW_ADMIN="(noch nicht generiert)"
PW_AUDITOR="(noch nicht generiert)"
fi fi
# ── Zusammenfassung in Datei speichern ──────────────────────────────────────── # ── Zusammenfassung in Datei speichern ────────────────────────────────────────
@@ -350,10 +361,10 @@ Server: $FQDN
API-Secret (JWT + AES-Schlüsselableitung): API-Secret (JWT + AES-Schlüsselableitung):
Secret: $API_SECRET Secret: $API_SECRET
Web-Anwendung (Standard — UNBEDINGT ÄNDERN!): Web-Anwendung (UNBEDINGT ÄNDERN!):
Superadmin: superadmin@archivmail / archivmailrockz (Rolle: superadmin) Superadmin: superadmin@archivmail / $PW_SUPERADMIN
Admin: admin@archivmail / archivmailrockz (Rolle: admin) Admin: admin@archivmail / $PW_ADMIN
Auditor: auditor@archivmail / archivmailrockz (Rolle: auditor) Auditor: auditor@archivmail / $PW_AUDITOR
=== DIENSTE === === DIENSTE ===
@@ -404,10 +415,10 @@ echo " │ ANGELEGTE BENUTZER & PASSWÖRTER │"
echo " ├─────────────────────────────────────────────────────────┤" echo " ├─────────────────────────────────────────────────────────┤"
printf " │ DB archivmail: %-38s │\n" "$DB_PASSWORD" printf " │ DB archivmail: %-38s │\n" "$DB_PASSWORD"
echo " ├─────────────────────────────────────────────────────────┤" echo " ├─────────────────────────────────────────────────────────┤"
echo " │ Web-Logins (Standard — UNBEDINGT ÄNDERN!): │" echo " │ Web-Logins (UNBEDINGT ÄNDERN!): │"
echo " │ superadmin@archivmail / archivmailrockz │" printf " │ superadmin / %-38s│\n" "$PW_SUPERADMIN"
echo " │ admin@archivmail / archivmailrockz │" printf " │ admin / %-38s│\n" "$PW_ADMIN"
echo " │ auditor@archivmail / archivmailrockz │" printf " │ auditor / %-38s│\n" "$PW_AUDITOR"
echo " ├─────────────────────────────────────────────────────────┤" echo " ├─────────────────────────────────────────────────────────┤"
printf " │ API-Secret: %-38s │\n" "${API_SECRET:0:38}" printf " │ API-Secret: %-38s │\n" "${API_SECRET:0:38}"
echo " └─────────────────────────────────────────────────────────┘" echo " └─────────────────────────────────────────────────────────┘"