Wurde das Passwort eines lokalen DokuWiki-Benutzers vergessen, kann ein neues Passwort direkt über die DokuWiki-Benutzerdatei gesetzt werden.
Dieses Verfahren wurde bei meinem lokalen RoWaWiki erfolgreich verwendet.
Das Passwort für den Benutzer admin war nicht mehr bekannt.
Die Anmeldung über die normale DokuWiki-Anmeldeseite war deshalb nicht mehr möglich.
Die Benutzerkonten befinden sich bei meiner lokalen RoWaWiki-Installation in:
E:\xampp\htdocs\rowawiki\conf\users.auth.php
Die Datei beispielsweise mit Notepad++ öffnen.
In der Datei die Zeile des betreffenden Benutzers suchen.
Für den Administrator beginnt sie mit:
admin:
Der grundsätzliche Aufbau einer Benutzerzeile ist:
Benutzername:Passwort-Hash:Name:E-Mail:Gruppen
Wichtig ist der Passwort-Hash zwischen dem ersten und zweiten Doppelpunkt.
Eine Windows-Eingabeaufforderung öffnen.
Mit der lokalen PHP-Installation von XAMPP kann ein neuer Passwort-Hash erzeugt werden:
E:\xampp\php\php.exe -r "echo password_hash('NEUES_PASSWORT', PASSWORD_DEFAULT), PHP_EOL;"
NEUES_PASSWORT durch das gewünschte neue Passwort ersetzen.
PHP gibt anschließend den neuen Passwort-Hash aus.
In:
E:\xampp\htdocs\rowawiki\conf\users.auth.php
nur den bisherigen Passwort-Hash des Benutzers durch den neu erzeugten Hash ersetzen.
Die übrigen Angaben der Benutzerzeile bleiben unverändert.
Nicht die komplette Benutzerzeile ersetzen.
Nur den Hash zwischen dem ersten und zweiten Doppelpunkt austauschen.
Die geänderte Datei speichern.
In Notepad++ beispielsweise mit:
Strg + S
Anschließend die normale Anmeldeseite von RoWaWiki öffnen.
Anmelden mit:
adminBei meinem RoWaWiki funktionierte die Anmeldung anschließend wieder.
users.auth.php öffnen
↓
Benutzer suchen
↓
neuen Passwort-Hash mit PHP erzeugen
↓
alten Hash ersetzen
↓
Datei speichern
↓
mit neuem Passwort anmelden
DokuWiki speichert nicht das eigentliche Passwort, sondern einen Passwort-Hash.
Beim manuellen Zurücksetzen wird deshalb nicht das neue Passwort in users.auth.php eingetragen, sondern der mit PHP erzeugte Hash.