Cambiar password Odoo desde terminal usando CryptContext (Compatible con Odoo 13.0, 14.0 y 15.0)
Las contraseñas son la primera línea de defensa al proteger cualquier sistema, incluido Odoo. Muchas veces perdemos el acceso ya sea por un descuido o porque el proveedor NO la entregó; una buena alternativa es actualizarla desde terminal siempre y cuando tengamos acceso SSH y tengamos instalado en el sistema una sesión interactiva de python3 (Funciona para versión Odoo 12.0 o posterior). Esto permite que la seguridad de tu sistema sea mucho más confiable. En este tutorial, aprenderás cómo cambiar una contraseña en Odoo 13.0.
Primero deberás ingresar a una terminal vía SSH de preferencia el server donde tienes instalado Odoo ya que posteriormente utilizaremos una librería que es dependencia del mismo.
Ingresar el comando python3 y presionar [enter].
~$ python3
Posteriormente importaremos la librería CryptContext de la siguiente manera:
>>> from passlib.context import CryptContext
Enseguida asignaremos el nivel de ecriptación o HASH como se muestra a continuación:
>>> setpw = CryptContext(schemes=['pbkdf2_sha512'])
Después nos queda usar el método encrypt pásandole como parámetro nuestro nuevo password así:
>>> setpw.encrypt('NuevoPassword123.22%6')
El resultado lo debemos almacenar en el portapapeles copiando el resultado. Ejemplo de Hash:
pbkdf2_123123asdasd091281818179qweqnahg195a$a
Por último debemos actualizar el password desde postgres para ello haremos lo siguiente:
~$ sudo su postgres
~$ psql NombreDeLaBaseDeDatos
Si todo lo ejecutamos correctamente recibiremos el siguiente mensaje:
You are now connected to database "NombreDeLaBaseDeDatos" as user "postgres".
Ejecutaremos un comando UPDATE a la tabla res_users usando el ID del Administrador de Odoo (normalmente es el ID 2 en nuevas instalaciones).
NombreDeLaBaseDeDatos=# UPDATE res_users SET password='HashResultanteDelPasoAnterior' WHERE id=2;
Por ultimo salimos de la sesión de base de datos activa con el siguiente comando:
NombreDeLaBaseDeDatos =# \q
Ejecutamos exit para salir del usuario postgres.
~$ exit
Ingresamos al login de Odoo con nuestra IP o dominio Y
¡Ahora podemos ingresar con el usuario Administrador y nuestro Nuevo Password (NuevoPassword123.22%6)!
Fuente: Odoo Forum