Sucede en las mejores familias y una vez o dos por año tengo que hacerlo (más de un cliente cambia los passwords sin avisar) Como se recupera el password de admin? Gracias a Stackoverflow, tenemos la solución.
Primero uno necesita tener acceso a la base de datos, sino la batalla está perdida. Ahora si uno tiene acceso a la línea de comandos del servidor uno puede hacer
python3
from passlib.context import CryptContext
setpw = CryptContext(schemes=['pbkdf2_sha512'])
setpw.encrypt('MiNuevoPassword')
'$pbkdf2-sha512$25000$VGrt3fvfO6dUao0RolTqfQ$iWq2fURxVbZp1Dh4eILDcQN2T/U8D7/Sq073xVYMLSmDKVCPRln99EzmxxmRvhzt2ZsrLTCBBMqu.XXZpNEJJQ'
Esto crea el hash para el nuevo password (en el ejemplo MiNuevoPassword). Luego teemos que copiar el password en el clipboard y desde el psql conectado a la base de datos de Odoo debe hacer
update res_users set password = '$pbkdf2-sha512$25000$VGrt3fvfO6dUao0RolTqfQ$iWq2fURxVbZp1Dh4eILDcQN2T/U8D7/Sq073xVYMLSmDKVCPRln99EzmxxmRvhzt2ZsrLTCBBMqu.XXZpNEJJQ' where id = <id del usuario al que desee cambiar el password>;
Y listo, de esta forma se actualizó el password. Tambien de esta manera podemos desactivar two-factor-authentication para un usuario en particular (por ejemplo si perdió su celular). Solo necesitamos hacer
update res_users set totp_secret = '' where id = <id del usuario al que se quiere deshabilitar 2FA >;