Drush: Como logearte en una cuenta sin saber la contraseña?
Buenas Drupaleros,
 
Hoy quiero compartir con vosotros un pequeño truco para poder acceder a una cuenta de la cual lo único que conocemos es el nombre de usuario.
 
Esto, es algo bastante común sobretodo cuando estamos en un entorno de desarrollo y resulta que a nuestro cliente se le olvido de pasarnos las credenciales del admin y encima no recuerda el mail o simplemente ni tiene acceso a él. Estoy seguro que se pueden dar mas casos en la cual necesitemos “hackear” una cuenta.
 
Ojo, si lo que quisiéramos es suplantar un usuario para realizar algún tipo de prueba, os recomiendo el modulo Masquerade.
 
Bien, pues en ese caso que deberíamos hacer? Podríamos ir a la base de datos y modificar la contraseña por una que conozcamos pero… tened en cuenta que las contraseñas en la base de datos están codificadas, así que habra que poner un valor codificado.
 
mmmm…  Ahora mismo seguro que estaréis pensando… “buff no se de que c… me acaba de decir que tenemos que hacer!” o “ de donde saco yo una contraseña codificada?”
 
Usando comandos de Drush
 
Bueno, os dire que no teneis que preocuparos, porque no vamos a tener que usar ninguna clase magistral de mysql ni php para poder conseguir esto. Simplemente vamos a necesitar instalar drush y ejecutar este simple comando:
 
drush user-login
 
Este comando dispone de un alias para que lo puedas memorizar mas fácil drush uli
 
Y como funciona?
 
Este comando es muy sencillo de usar lo único que tenéis que poner en vuestra linea de comando, dentro del proyecto, el comando + el nombre, uid o mail del usuario
 
drush uli admin
 
Y nos debería de pasar dos cosas. Una, que os abra una ventana con vuestro navegador principal con la sesión iniciada, eso si esta todo bien configurado y dos, que en la ventana de comandos os debería aparecer una linea parecida a esta.
 
http://tu_dominio/user/reset/1/1451499720/bLb-p_gYM9E_63F5Tkw8kCcr09oHZWLeA8zDMNkgb5U/login
 
Es posible que, en función de como tengáis configurado vuestro settings y la web en general, os salga “http://localhost” en lugar de vuestro dominio, no pasa nada, copiar desde “/user” en adelante y pegarlo en la ruta del navegador para que quede algo así “http://tu_dominio/user/…” 
 
Y vualà, como por arte de magia drupal nos acaba de logear con nuestro usuario de forma mágica! 
 
Explicación
 
Este comando lo que básicamente hacer es realizar un “one time login” o como diríamos en cristiano, Acceso de un solo uso. Crea un pequeño hashtag con el cual él es capaz de saber de que usuario se trata y de darle acceso.
 
Como es solo de un solo uso, si probáis a deslogearos y usáis de nuevo el link, os debería salir un error avisando que no podéis volver ha acceder con ese hashtag.
 
Argumentos y opciones del comando
 
Este comando viene con unas cuantas opciones mas y aunque generalmente no se suelen usar os las voy a describir por si lo necesitaseis.
 
Argumentos:
user: Como ya vimos podemos añadir el nombre, el nid o el mail del usuario, si no se asigna valor cojera el usuario 1, es decir el mega admin (opcional)
path: Podremos decirle que al registrar se dirija a una ruta concreta (opcional)
 
Opciones:
--browser: Podemos establecer el navegador que queremos usar. Si se setea 0 no se abrirá ningún navegador 
--uid: La uid del usuario
--redirect-port: Por si necesitas usar un puerto diferente al 80
--name: El nombre de usuario
--mail: El mail del usuario
 
Ejemplos
 
drush user-login admin node/add/blog
 
drush user-login --browser=firefox --mail=drush@example.org admin/settings/performance
 
Podéis ver la documentación oficial aquí
 
Recordad comentar y/o compartir!
 
Espero que os sirva!
Total de votos: 122

Entradas relacionadas

Comentarios (2)

  • Imagen de sergio

    sergio

    Hola quisiera saber como sacar el formato de texto que aparece por defecro cada vez que alguien quiere hacer un comentario. Ya que se ve mal. Gracias

  • Imagen de admin

    admin

    Buenas segio, no acabo de tener clara tu consulta. se ve mal aqui? o en otra web? aunque tampoco acabo de ver muy claro que relacion tiene con este post... Saludos.

Deja un comentario