Solucionando problema de passwd en iPhone 1.1.3

por David Cañadillas, el 22 de Febrero de 2008

Cuando el pasado lunes desbloqueé y activé mi iPhone, una de las primeras cosas que hice fue instalar el BSD Subsystem y alguna que otra aplicación. Una de las advertencias en el Installer.app es que no usemos el comando passwd del firmware 1.1.3 en el BSD Subsystem para no tener problemas.

Pues tras tres días hoy me decidí a instalar el OpenSSH al iPhone para poder conectarme, bajarme y subir archivos al teléfono, a la vez que modificar alguno que otro. Una de las recomendaciones del OpenSSH es cambiar la contraseña de root para que no todo el mundo pueda acceder a nuestro dispositivo y hacernos un cristo.

Así que a ello me puse… y a los pocos minutos ¡¡¡el springboard del iPhone se había vuelto loco!!! Efectivamente, tantos años de experiencia con terminales y comandos y no soy capaz de acordarme de la advertencia del Instaler.app usando el maldito comando passwd. En ese momento mi iPhone estaba completamente bloqueado, lo único que podía hacer era apagarlo justo en el intervalo de 5 segundos entre cuelgue y cuelgue del springboard (había entrado en una especie de bucle infinito).

Una vez que el pánico recorrió mi cuerpo y entrando casi en estado de shock, Javi, con quien estaba hablando por internet en ese momento, consiguió calmarme un poco y darme el apoyo para ponerme a solucionar el problema. Lo bueno es que el servidor SSH estaba aún levantado y era posible conectarse al iPhone para cambiar algunos archivos. La solución es más sencilla de lo que parece. Resumiendo:

  1. Obtenemos los archivos passwd1 y master.passwd originales
  2. Subimos mediante SSH dichos archivos a la ruta /etc
  3. Reiniciamos el iPhone

Si no tenéis una copia de vuestros originales passwd y master.passwd o no los habéis encontrado por internet, Javi me pasó un link muy útil para obtener tus propios archivos.

Notas
  1. el archivo de /etc y no el comando que hay en /usr/bin []