Publicidad

jueves, 12 de enero de 2017

Reset Password Odoo desde Base de Datos

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

2 comentarios:

  1. Muchas gracias perfecto!!! y probado en la versión 11

    ResponderBorrar
    Respuestas
    1. Excelente, me sigue funcionando aun en la versión 13 de hecho es super util. Saludos

      Borrar