19 de diciembre de 2009

Drupal 6.x: Cómo resetar tu clave de administrador en la base de datos


Drupal es uno de los CMSs más utilizados en el mundo, por ejemplo la web de la Casa Blanca lo utiliza.

Cómo todos los CMSs tiene un sistema de usuarios y contraseñas. El caso es que en uno de los sitios web de Drupal con los que trabajo se me traspapeló la contraseña del administrador. Para más inri este sitio -alojado en los servidores de Namecheap- no envía emails al exterior todavía por un problema de configuración.

¿Qué hacer entonces? Pues he tenido que entrar en la base de datos y buscar la tabla users que es dónde se almacenan los datos de los usuarios. Pero, oh, sorpresa -lógico por otra parte-, la clave está encriptada.

Después de darle un rato al tarro encontré vía Google esta página en David's Blog en CrySol dónde daban la solución, que es muy sencilla -una vez se sabe, claro-. Tenéis que ejecutar en el servidor de MySql esta instrucción (NUEVACLAVE sería la clave nueva)

update users set pass=md5(‘NUEVACLAVE’) where uid = 1;

Cómo el primer usuario que crea Drupal es el administrador su uid es 1.

Si queréis saber cual es el nombre del usuario tan sólo tenéis que hacer una select:

select name from users where uid=1;

Una vez sabes que la encriptación es con md5 es fácil :).