Mot de passe administrateur perdu

Plus personne ne connaît le mot de passe de l'administrateur Dolibarr. Le lien « Mot de passe oublié », un autre administrateur, ou la base de données, sans casser le hachage.

Versions concernées
Méthode par la base acceptée par le code de connexion des versions 17, 19, 22 et 24 · testée sur 24.0.1 (MariaDB)
Ce qui a été vérifié
Testé le 12 octobre 2026 sur une instance de test Dolibarr 24.0.1 (MariaDB 10.11) : mot de passe temporaire posé en SQL, connexion acceptée, ancien mot de passe refusé ; mot de passe changé depuis la fiche utilisateur, puis contrôle en base : mot de passe en clair effacé, nouveau mot de passe haché, mot de passe temporaire refusé. Code relu : core/login/functions_dolibarr.php (17.0.4, 19.0.4, 22, 24.0.1), user/passwordforgotten.php et core/lib/security2.lib.php (24.0.1).

Le prestataire qui a installé Dolibarr est parti, ou le seul administrateur ne se souvient plus de son mot de passe. Il y a trois façons de s’en sortir. Prenez-les dans l’ordre.

Ce qui suit vaut pour l’authentification standard de Dolibarr, la ligne $dolibarr_main_authentication='dolibarr' de conf.php. Si vos utilisateurs se connectent par LDAP ou par un autre système, c’est dans ce système que le mot de passe se change.

1. Le lien « Mot de passe oublié ? »

Il est sur la page de connexion, sauf si un administrateur l’a masqué (constante MAIN_SECURITY_DISABLEFORGETPASSLINK). Dolibarr envoie alors un lien de réinitialisation par email.

Deux conditions pour que cela marche : l’utilisateur doit avoir une adresse email sur sa fiche, et l’envoi d’emails de Dolibarr doit fonctionner. Or le compte administrateur créé par l’assistant d’installation n’a pas d’adresse email : sur l’instance de test, le champ était vide. Pour lui, ce lien ne donne souvent rien.

2. Un autre administrateur

Si un autre compte administrateur fonctionne encore : Utilisateurs & Groupes, fiche de l’utilisateur concerné, Modifier, champ Mot de passe, Enregistrer. C’est la méthode la plus propre.

3. Par la base de données

Quand personne ne peut plus se connecter, il reste la base. Il vous faut un accès à MySQL ou MariaDB : phpMyAdmin chez la plupart des hébergeurs, ou la ligne de commande.

Les tables portent un préfixe, llx_ par défaut. Le vôtre est sur la ligne $dolibarr_main_db_prefix de conf.php. Pour retrouver les identifiants des administrateurs :

SELECT login, email FROM llx_user WHERE admin = 1;

Puis posez un mot de passe temporaire :

UPDATE llx_user SET pass = 'Temporaire-a-changer', pass_crypted = NULL WHERE login = 'admin';

Connectez-vous avec ce mot de passe, puis changez-le immédiatement depuis la fiche utilisateur (Modifier, Mot de passe, Enregistrer). Dolibarr enregistre alors le nouveau mot de passe haché et efface la version en clair : sur l’instance de test, la colonne pass est revenue à vide et le mot de passe temporaire ne permettait plus de se connecter.

Pourquoi pas un hachage directement en SQL

Beaucoup de tutoriels donnent une requête avec MD5('…'). Elle marche ou non selon les réglages de votre instance : la façon dont Dolibarr hache les mots de passe dépend de la constante MAIN_SECURITY_HASH_ALGO, et parfois d’un sel. Un hachage calculé à la main peut donc être refusé sans explication.

Le mot de passe temporaire en clair passe par un chemin que le code de connexion garde pour les très anciennes installations, présent dans les versions 17, 19, 22 et 24. Il fonctionne quels que soient ces réglages. Il ne doit simplement pas rester en clair : d’où le changement immédiat.

Sous Docker

Avec la base dans un conteneur MariaDB, la console s’ouvre ainsi (remplacez le nom du conteneur, de l’utilisateur et de la base par les vôtres) :

docker exec -it <conteneur_base> mariadb -u dolibarr -p dolibarr

Voir aussi

Dolibarrmot de passeadministrateuradminréinitialiserSQLllx_user