Publié le : 06/04/2022
Comment réinitialiser son mot de passe admin Odoo ?
Quand vous administrez Odoo pour divers clients, il se peut que vous n’ayez pas le mot de passe admin. Il est nécessaire de le réinitialiser.
Ce guide va expliquer comment changer le mot de passe admin d’Odoo à partir :
- d’une interface graphique;
- ou en utilisant la ligne de commande du serveur.
Réinitialiser le mot de passe admin Odoo à partir d’une interface graphique
Le mot de passe que l’on va changer ici appartient à l’utilisateur qui a les privilèges « Administrateur ». Vous l’avez spécifié pour votre utilisateur admin lorsque vous avez accédé pour la première fois à l’interface graphique d’Odoo après une nouvelle installation.
Pour ce faire, nous allons faire la modification via le panneau d’administration d’Odoo.
Premièrement, il faut se loguer via l’interface web d’Odoo et accéder au menu Préférences comme indiqué par le schéma ci-dessous :
Ensuite, dans la fenêtre qui s’affiche, il faut clique sur le bouton Changer le mot de passe.
Ensuite, vous allez voir trois champs de saisie qui va vous demander l’ancien mot de passe, le nouveau mot de passe et enfin de ressaisir le nouveau mot de passe.
Enfin, il faut cliquer sur le bouton Modifier le mot de passe en vert. Et le mot de passe est modifié.
Réinitialiser le mot de passe admin Odoo via la ligne de commande
Lorque vous n’avez pas le mot de passe admin Odoo, il est nécessaire de le réinitialiser. Pour ce faire, nous allons passer par la ligne de commande du serveur Linux où est hébergé Odoo. En général, il faut utiliser SSH pour accéder au serveur.
Le processus de réinitialisation de mot de passe est assez simple. Nous devons :
- d’abord générer une version hachée (c’est-à-dire transformée et difficile à lire) du nouveau mot de passe,
- puis modifier la valeur du mot de passe de l’utilisateur dans la base de données.
Hachage du mot de passe
Commençons d’abord par le hachage du mot de passe. Dès que vous vous êtes connecté au serveur, il faut changer d’utilisateur et utiliser l’utilisateur odoo. Pour ce faire, vous allez exécuter la commande :
sudo su odoo
Ensuite, entrer dans le shell Python avec la commande :
python3
Quand vous avez le signe supérieur 3 fois >>>
, vous êtes dans le shell python. Vous pouvez ensuite importer les modules de hachage comme suit :
>>> from passlib.context import CryptContext
Puis vous pouvez crypter le nouveau mot de passe en utilisant le PBKDF2 SHA512 par exemple et afficher le résultat comme indiqué ci-dessous :
>>> print(CryptContext(schemes=['pbkdf2_sha512']).encrypt('Votre_nouveau_mot_de_passe'))
Il est à noter que Votre_nouveau_mot_de_passe est le nouveau mot de passe que vous voulez avoir, donc n’oubliez pas de le changer.
Une fois que vous avez tapé sur la touche Entrée, vous allez avoir une longue chaîne de caractère qui va s’afficher, c’est votre mot de passe qui est haché et qui va être par la suite enregistré dans votre base de données. Cette longue chaîne de caractère est de la forme :
$pbkdf2-sha512$25000$IgQgZEzpHeP8nxMiJOT8nw$7Bo.o9RI5FlMgZndgEN0ZS60mqlF7xLZ0zVgeILPscDO7U8somJO4ZQPDXmIeAbSmhxKcmW4Z3MCqojelpsBww
Copiez cette longue chaîne de caractère. Nous allons l’utiliser un peu plus tard.
Quittez ensuite le shell python avec la commande :
>>> exit()
Et quittez ensuite l’utilisateur odoo avec la commande :
$ exit
Modification du mot de passe admin Odoo dans la base de données
Nous allons maintenant faire la modification du mot de passe admin dans la base de données. Pour ce faire nous allons suivre les étapes qui suivent.
En premier lieu, nous allons changer d’utilisateur en utilisant l’utilisateur postgres qui est l’utilisateur qui a le droit d’utiliser la base de données PostgreSSL. La commande à exécuter est :
$ sudo su - postgres
En second lieu, nous allons nous connecté au shell de PostgreSQL pour modifier la base de données avec la commande :
psql
Si vous ne connaissez pas le nom de la base de données utiliser la commande suivante pour lister les base de données associé aux utilisateurs :
\l
Recherchez l’utilisateur odoo et le nom de la base de données qui lui est associé.
Une fois que vous avez le nom de la base de données, vous pouvez y connecter en exécutant la commande :
\c test
Ici nous supposons que la base de données est test. Il faut le changer pour le faire correspondre à votre nom de base de données.
Maintenant nous allons modifier le mot de passe de l’utilisateur qui a le rôle d’administrateur. Si vous avez oublié le login de l’utilisateur, vous pouvez le regarder en utilisant la commande suivante :
select login from res_users;
Recherchez le login de votre utilisateur car nous allons maintenant faire la modification de son mot de passe.
En dernier lieu, il faut exécuter la commande ci-dessous pour modifier le mot de passe :
update
res_users
set
password = '$pbkdf2-sha512$25000$IgQgZEzpHeP8nxMiJOT8nw$7Bo.o9RI5FlMgZndgEN0ZS60mqlF7xLZ0zVgeILPscDO7U8somJO4ZQPDXmIeAbSmhxKcmW4Z3MCqojelpsBww'
where
login = 'admin';
Nous supposons ici que le login de l’administrateur odoo est admin. Il faut le changer si ce n’est pas le cas.
Quittez ensuite le shell de PostgreSQL avec la commande :
\q
Vous avez terminé la réinitialisation du mot de passe admin Odoo.
Nous tenons à préciser ici que vous pouvez utiliser pgAdmin4 pour effectuer la modification du mot de passe directement dans la base de données.
De plus, vous pouvez suivre cette étape pour modifier les mots de passe des utilisateurs même s’ils ne sont pas des administrateurs.