Actualizar contraseña de usuarios Odoo desde la Base de Datos
Anteriormente en versiones 7 de Odoo (OpenERP) podiamos consultar la contraseña de un usuario mediante la columna password de la tabla res_users, a partir de la versión 8 añaden una seguridad extra que es el HASH (Encriptación) de las mismas, como administradores de Odoo muchas veces tenemos que consultar o resetear las contraseñas de algunos usuarios para ello basta con ejecutar el siguiente script sql desde la base de datos:
UPDATE res_users SET password='', password_crypt='HASH' WHERE id=1;
Dentro de la variable password pondriamos la nueva contraseña que puede ser la que el usuario prefiera.
Odoo 8.0:
Change the password directly in the Postgres Database, as it is saved in plain text:
~$ sudo su postgres ~$ psql postgres=# \connect Your_Database_Name You are now connected to database "Your_database_Name" as user "postgres" YOurDatabase_Name=# update res_users set password='YourNewPassword' where id='1';
Odoo 9.0 and Odoo 10.0:
Create a hash and then change the hash in the Postgres database:
~$ python >>> from passlib.context import CryptContext >>> print CryptContext(['pbkdf2_sha512']).encrypt('YourNewPassword') Copy the Hash created Ctrl D ~$ sudo su postgres~$ psqlpostgres=# \connect Your_Database_NameYou are now connected to database "Your_database_Name" as user "postgres" YOurDatabase_Name=# UPDATE res_users SET password='', password_crypt='YourCopiedHash' WHERE id=1;YOurDatabase_Name=# \q
Odoo 11:
Create a hash using Python 3 and change the hash in the Postgres database:
~$ python3 >>> from passlib.context import CryptContext >>> setpw = CryptContext(schemes=['pbkdf2_sha512']) >>> setpw.encrypt('YourNewPassword') Copy the Hash created Ctrl D ~$ sudo su postgres ~$ psql postgres=# \connect Your_Database_Name You are now connected to database "Your_database_Name" as user "postgres" YOurDatabase_Name=# UPDATE res_users SET password='', password_crypt='YourCopiedHash' WHERE id=1;YOurDatabase_Name=# \q
Odoo 12 and Odoo 13:
Create a hash using Python 3 and change the hash in the Postgres database:
~$ python3 >>> from passlib.context import CryptContext >>> setpw = CryptContext(schemes=['pbkdf2_sha512']) >>> setpw.encrypt('YourNewPassword') Copy the Hash created Ctrl D ~$ sudo su postgres ~$ psql postgres=# \connect Your_Database_Name You are now connected to database "Your_database_Name" as user "postgres" YOurDatabase_Name=# UPDATE res_users SET password='YourCopiedHash' WHERE id=2;YOurDatabase_Name=# \q
Muchas gracias perfecto!!! y probado en la versión 11
ResponderBorrarExcelente, me sigue funcionando aun en la versión 13 de hecho es super util. Saludos
Borrar