fix(docs): Master-Passwort interaktiv hashen, nicht auf der Kommandozeile
Meine Anleitung schrieb `htpasswd -bnBC 12 "" PASSWORT` — und lieferte 401, obwohl Hash und Konfiguration nachweislich stimmten. Die Ursache liegt vor dem Hashen: Das Passwort steht dort ungeschuetzt in einer Kommandozeile, und die Shell fasst es an. `ge$heim` wird zu `ge`, `ge heim` zu `geheim`; gehasht wird etwas anderes als das, was man spaeter eintippt. Richtig ist `htpasswd -nBC 12 ''` ohne -b: Es fragt zweimal nach, das Passwort geht nie durch eine Shell und landet nicht in der History. Dazu eine direkte Probe (htpasswd -v gegen den gespeicherten Hash), weil der Fehler wie ein Konfigurationsfehler aussieht — alles Pruefbare stimmt, nur der Vergleich schlaegt fehl. Vier Stellen: deploy-backend.sh, beide READMEs, MasterPasswordProperties. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
0ed757a80a
commit
78901793f0
@@ -151,9 +151,19 @@ if [ ! -f "$DIR/env" ]; then
|
||||
cat > "$DIR/env" <<'ENV'
|
||||
# Werkbaum-Backend — Umgebung des Dienstes. Modus 600, nie im Repository.
|
||||
#
|
||||
# Hash MIT Verfahrens-Praefix, z. B.:
|
||||
# WERKBAUM_MASTER_PASSWORD_HASH={bcrypt}$(htpasswd -bnBC 12 "" geheim | tr -d ':\n')
|
||||
# Solange er leer ist, bleibt GET /api/v1/documents gesperrt (D76-Nachtrag 6).
|
||||
# Hash MIT Verfahrens-Praefix. Erzeugen - INTERAKTIV, damit das Passwort weder
|
||||
# in der Shell-History landet noch von der Shell veraendert wird:
|
||||
#
|
||||
# umask 077
|
||||
# printf 'WERKBAUM_MASTER_PASSWORD_HASH={bcrypt}%s\n' \
|
||||
# "$(htpasswd -nBC 12 '' | tr -d ':\n')" > ~/opt/werkbaum/env
|
||||
#
|
||||
# Pruefen, ob Hash und Passwort zueinander passen:
|
||||
# printf 'werkbaum:%s\n' "$(sed 's/^[^=]*={bcrypt}//' ~/opt/werkbaum/env)" > /tmp/chk
|
||||
# htpasswd -v /tmp/chk werkbaum; rm -f /tmp/chk
|
||||
#
|
||||
# Solange der Hash leer ist, bleibt GET /api/v1/documents gesperrt
|
||||
# (D76-Nachtrag 6).
|
||||
WERKBAUM_MASTER_PASSWORD_HASH=
|
||||
ENV
|
||||
chmod 600 "$DIR/env"
|
||||
|
||||
Reference in New Issue
Block a user