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
+7
-1
@@ -171,9 +171,15 @@ auffindbar — das Zugriffsmodell „unerratbarer Link" wäre hinfällig. Dieser
|
||||
Endpunkt verlangt deshalb HTTP Basic mit dem Benutzer `werkbaum`:
|
||||
|
||||
```bash
|
||||
export WERKBAUM_MASTER_PASSWORD_HASH="{bcrypt}$(htpasswd -bnBC 12 "" geheim | tr -d ':\n')"
|
||||
export WERKBAUM_MASTER_PASSWORD_HASH="{bcrypt}$(htpasswd -nBC 12 '' | tr -d ':\n')"
|
||||
```
|
||||
|
||||
**Ohne `-b`, also mit Eingabeaufforderung.** Ein Passwort auf der Kommandozeile
|
||||
landet in der Shell-History — und schlimmer: Die Shell fasst es vorher an.
|
||||
`ge$heim` wird zu `ge`, `ge heim` zu `geheim`. Gehasht wird dann etwas anderes
|
||||
als das, was man später eintippt, und der Server antwortet mit 401, obwohl
|
||||
alles richtig aussieht.
|
||||
|
||||
- **Ohne gesetzten Hash ist die Liste gesperrt** (401), nicht offen. Ein
|
||||
vergessener Konfigurationsschritt darf nichts preisgeben; beim Start warnt
|
||||
das Log.
|
||||
|
||||
@@ -22,7 +22,10 @@ data class MasterPasswordProperties(
|
||||
|
||||
/**
|
||||
* Hash **mit Verfahrens-Präfix**, in Produktion `{bcrypt}$2a$…`
|
||||
* (z. B. `htpasswd -bnBC 12 "" geheim | tr -d ':\n'`, davor `{bcrypt}`).
|
||||
* Erzeugt mit `htpasswd -nBC 12 '' | tr -d ':\n'`, davor `{bcrypt}`.
|
||||
* Bewusst **ohne** `-b`: Ein Passwort auf der Kommandozeile fasst die
|
||||
* Shell an (`ge${'$'}heim` wird zu `ge`), und gehasht würde etwas anderes
|
||||
* als das, was später eingetippt wird.
|
||||
*/
|
||||
val hash: String = "",
|
||||
|
||||
|
||||
Reference in New Issue
Block a user