Vom Nightbot-Nachtriage-Durchlauf gefunden (#100) und vom Nutzer bestätigt:
create-superadmin --password=… landete im Klartext in argv – für jeden
lokalen Nutzer über `ps aux` und in der Shell-History sichtbar.
- create-superadmin fragt das Passwort jetzt interaktiv ohne Echo ab (wie
`passwd`), zweimal zur Bestätigung. Für Skripte/Automatisierung optional
über die Umgebungsvariable KC_CLI_PASSWORD (landet nicht in argv/ps,
nur im Prozess-Environ des ausführenden Nutzers/root).
- Neuer Befehl reset-password --email=… : bisher gab es KEINEN Weg, das
Passwort eines bestehenden Nutzers (insb. eines ausgesperrten
Superadmins) zurückzusetzen außer über die Selbstbedienung per E-Mail-
Link (die bei fehlendem Postfachzugriff oder noch nicht eingerichtetem
SMTP nicht hilft) oder direkte DB-Manipulation. Funktioniert für jeden
Nutzer (Kunde oder Personal), setzt failed_logins/locked_until zurück,
protokolliert im Audit-Log.
Beide Befehle scheitern jetzt sauber (Fehlermeldung + Exit-Code, kein
Stack-Trace) statt mit --password=<12+ Zeichen> zu arbeiten.
Gegen die Testdatenbank durchexerziert: Anlegen, doppelte E-Mail, zu
kurzes Passwort, Reset, unbekannte E-Mail, fehlendes TTY ohne
KC_CLI_PASSWORD – alle Pfade verhalten sich wie erwartet.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>