Administratorpasswort vergessen
Niemand kennt mehr das Passwort des Dolibarr-Administrators. Der Link „Passwort vergessen?“, ein anderer Administrator oder die Datenbank, ohne das Hashing zu beschädigen.
Der Dienstleister, der Dolibarr installiert hat, ist nicht mehr da, oder der einzige Administrator erinnert sich nicht mehr an sein Passwort. Es gibt drei Auswege. Gehen Sie sie der Reihe nach durch.
Das Folgende gilt für die Standard-Anmeldung von Dolibarr, die Zeile
$dolibarr_main_authentication='dolibarr' in der conf.php. Melden sich Ihre Benutzer über LDAP
oder ein anderes System an, wird das Passwort in diesem System geändert.
1. Der Link „Passwort vergessen?“
Er steht auf der Anmeldeseite, sofern ein Administrator ihn nicht ausgeblendet hat (Konstante
MAIN_SECURITY_DISABLEFORGETPASSLINK). Dolibarr schickt dann einen Link zum Zurücksetzen per E-Mail.
Zwei Bedingungen: Der Benutzer braucht eine E-Mail-Adresse auf seiner Benutzerkarte, und der E-Mail-Versand von Dolibarr muss funktionieren. Das vom Installationsassistenten angelegte Administratorkonto hat aber keine E-Mail-Adresse: Auf der Testinstanz war das Feld leer. Für dieses Konto führt der Link oft ins Leere.
2. Ein anderer Administrator
Funktioniert noch ein anderes Administratorkonto: Benutzer und Gruppen, Karte des betroffenen Benutzers, Ändern, Feld Passwort, Speichern. Das ist der sauberste Weg.
3. Über die Datenbank
Kann sich niemand mehr anmelden, bleibt die Datenbank. Sie brauchen Zugriff auf MySQL oder MariaDB: phpMyAdmin bei den meisten Hostern oder die Kommandozeile.
Die Tabellen haben ein Präfix, standardmäßig llx_. Ihres steht in der Zeile
$dolibarr_main_db_prefix der conf.php. So finden Sie die Anmeldenamen der Administratoren:
SELECT login, email FROM llx_user WHERE admin = 1;
Dann setzen Sie ein temporäres Passwort:
UPDATE llx_user SET pass = 'Temporaer-aendern', pass_crypted = NULL WHERE login = 'admin';
Melden Sie sich damit an und ändern Sie es sofort über die Benutzerkarte (Ändern, Passwort,
Speichern). Dolibarr speichert das neue Passwort dann gehasht und löscht die Klartext-Version: Auf
der Testinstanz war die Spalte pass danach wieder leer, und mit dem temporären Passwort war keine
Anmeldung mehr möglich.
Warum nicht direkt einen Hash per SQL
Viele Anleitungen geben eine Abfrage mit MD5('…') an. Ob sie funktioniert, hängt von den
Einstellungen Ihrer Instanz ab: Wie Dolibarr Passwörter hasht, bestimmt die Konstante
MAIN_SECURITY_HASH_ALGO, manchmal zusammen mit einem Salt. Ein von Hand berechneter Hash kann also
ohne Erklärung abgelehnt werden.
Das temporäre Klartext-Passwort nutzt einen Weg, den der Anmeldecode für sehr alte Installationen beibehält, vorhanden in den Versionen 17, 19, 22 und 24. Er funktioniert unabhängig von diesen Einstellungen. Das Passwort darf nur nicht im Klartext bleiben: daher die sofortige Änderung.
Unter Docker
Liegt die Datenbank in einem MariaDB-Container, öffnet sich die Konsole so (Container-, Benutzer- und Datenbanknamen durch Ihre ersetzen):
docker exec -it <datenbank_container> mariadb -u dolibarr -p dolibarr