En este video veremos como cambiar la contraseña en Odoo directamente desde la base de datos de un usuario del cual necesitamos recuperar su acceso inclusive si es el administrador mismo.

El método ha cambiado dependiendo de la versión de Odoo que se este utilizando, por lo que a continuación se explican los diferentes métodos que he recopilado.

Odoo 14, 13, 12 y 11

Primero habrá que entrar a través de SSH al servidor donde se encuentra instalado Odoo, posteriormente habrá que entrar a la linea de comandos de python3 y generar un nuevo hash con la siguiente secuencia de comandos.

python3
>>> from passlib.context import CryptContext
>>> setpw = CryptContext(schemes=['pbkdf2_sha512'])
>>> setpw.encrypt('MiNuevaContraseña')
>>> exit()

Copiaremos el nuevo hash generado por los comandos anteriores para reemplazarlo por el hash de la contraseña actual del usuario directamente en la base de datos, para esto ahora nos conectaremos a la base datos de postgres, hay que sustituir postgres por el usuario correcto en caso de que el nombre de usuario que administra tu base de datos de postgres de Odoo sea diferente al predeterminado.

sudo su postgres
psql
postgres=# \connect BaseDeDatosDeOdoo

Una vez conectados a nuestra base de datos de Odoo haremos un select a la tabla de usuarios llamada res_users para identificar cuál es el id del usuario al que queremos cambiarle la contraseña.

select * from res_users;

A continuación hacemos la actualización con el nuevo hash y el id del usuario al que queremos cambiarle la contraseña, por defecto normalmente el administrador tiene el id número 2 en Odoo 14, 13 y 12, y en Odoo 11 tiene el id número 1.

UPDATE res_users SET password='NuevoHash' WHERE id=2;

Odoo 10 y 9

Es similar a como se hace en las versiones recientes pero aquí lo comandos a ejecutar en python son los siguientes:

python
>>> from passlib.context import CryptContext
>>> print CryptContext(['pbkdf2_sha512']).encrypt('MiNuevaContraseña')

Ahora con el nuevo hash y al igual que en el método anterior nos conectaremos a la base de datos pero a diferencia del otro método la consulta de update sera de la siguiente manera.

UPDATE res_users SET password='', password_crypt='NuevoHash' WHERE id=1;

Hay que reemplazar el id número 1 por el del usuario correspondiente al que queremos cambiarle la contraseña pero el 1 suele ser el del administrador.

Odoo 8

En el caso de esta versión no hace falta generar un hash puesto que la contraseña se almacena en texto plano en la base de datos por lo que una vez conectados a la base de datos como en los métodos anteriores, actualizaremos la contraseña desde SQL con el siguiente comando.

UPDATE res_users set password='MiNuevaContraseña' where id='1';

Donde el usuario con el id número 1 suele ser el administrador.

Rodolfo Borja

Me encanta la tecnología y los chocolates y me da satisfacción poder ayudar a otras personas compartiendo mis conocimientos, estudié ingeniería en computación y me dedico al giro del desarrollo software y servicios desde hace más de 10 años.

View all posts

Add comment

Tu dirección de correo electrónico no será publicada.

Publicidad

¿Me donas para un chocolate?