El problema

Tratar de acceder a la GUI de FreeNAS y descubrir que se te ha olvidado el password no tiene precio. Afortunadamente el sistema está configurado para acceder a él a través de ssh empleando una clave pública desde un par de equipos.

Cambiar el password en la consola de FreeNAS y comprobar que no funciona en la GUI, eso si que no tiene precio.

Al cambiar el password empleando el comando passwd en la consola ssh el sistema no nos dejaba entrar por la GUI empleando nuestra flamante contraseña. De hecho, cuando reiniciamos el equipo el password había vuelto a lo que fuese que hubiera sido antes.

Reiniciar nginx y django no ayudaron.

La solución

El motivo por el que cambiar la contraseña en la consola no sirve para nada nos lo da el propio FreeNAS al entrar en la consola. Nos dice:

Warning: settings changed through the CLI are not written to
the configuration database and will be reset on reboot.

Como vemos, el problema es que el sistema solamente cambia la contraseña en nuestra consola y no pasa la nueva contraseña de root a sus archivos de configuración, por lo que cuando nos tratamos de conectar a la GUI, el sistema compara a contraseña suministrada con la que tiene en sus archivos de configuración y al no ser iguales, no nos deja pasar.

Nuestro querido y odiado a partes iguales Google tiene la solución. Existe un comando en python que cuando se ejecuta en la consola cambia la contraseña de cualquier usuario en los archivos de configuración. El preciado comando es:

python /usr/local/www/freenasUI/manage.py changepassword root

Una vez tecleada la contraseña dos veces, el sistema cede mansamente al acceso a través de la GUI.

Eso es todo amigos.