Raspbian está configurado de manera predeterminada para que la cuenta raíz no pueda iniciar sesión con una contraseña. Esto se hace comenzando con una entrada en la /etc/password
que comienza:
root:x:0:0:
Los campos están separados por dos puntos y se explican en man 5 passwd
(tenga en cuenta que 5
, ya que man passwd
le dará la página del comando man passwd
; la sección 5 es para los archivos de configuración, y en este caso tienen el mismo nombre). Aquí el primero es el nombre ( root
), el tercero y el cuarto son los números numéricos uid y gid (ambos 0
), y el segundo es para la contraseña. Para la mayoría de las entradas de esta será x
, lo que indica la contraseña real está en otro archivo, /etc/shadow
.
Tenga en cuenta que "la contraseña real" no se almacena realmente en ningún lugar. Lo que se almacena shadow
es un hash unidireccional de la contraseña real. Un hash unidireccional es el resultado de un proceso que siempre producirá lo mismo (permitiendo que se verifique su contraseña), pero es irreversible. En otras palabras, si alguien tiene en sus manos shadow
, no hay forma de deducir la contraseña del hash. Sin embargo, si pueden modificar shadow
, obviamente pueden desactivar o cambiar lo que funcionará como contraseña. Pero nunca podrán descubrir sus contraseñas. Es por eso que incluso root
no puede hacer eso (aunque la raíz siempre puede cambiarlos a otra cosa sin necesitar el original).
En el caso de root, la entrada en shadow
comienza así, como lo hace para la mayoría de las otras cuentas del sistema:
root:*:
El *
indica que actualmente no hay una contraseña posible que pueda usarse para esta cuenta.
El usuario root puede cambiar esto, sin embargo, usando el passwd
comando para establecer una nueva contraseña, que reemplazará la *
con el hash mencionado anteriormente (estos siempre comienzan $n$
donde n
hay algún valor aleatorio que se usa como "sal" para el hash, pero usted no No necesito entender eso).
De todos modos, cuando configuro una tarjeta a partir de una imagen nueva, lo primero que hago es entrar /etc/passwd
y eliminar la x
entrada de la raíz, por lo que ahora comienza:
root::0:0
Observe que ahora no hay un segundo campo. Esto significa que no hay contraseña y todo lo que tiene que hacer es escribir root
en el indicador de inicio de sesión y se inicia sesión como root
. Luego puede usar passwd
para configurar uno.
Entonces, tiene dos opciones aquí, pero ambas requieren que saque la tarjeta del pi y acceda a la segunda partición desde otro sistema (que puede leer / escribir particiones ext4).
Restaurar sudoers
. Si tiene una imagen de referencia, esto es fácil, simplemente puede volver a ponerlo como estaba reemplazándolo. De lo contrario, es la opción más complicada ya que debe saber lo que está haciendo (y su historial sudoers
no es tan bueno ...).
Edite /etc/passwd
y elimine eso x
como se describió anteriormente, vuelva a colocar la tarjeta, inicie sesión como root
, cree una contraseña. Por supuesto, aún tendrá que arreglarlo sudoers
, pero la prueba y el error serán más fáciles ya que si realmente lo root
es, siempre podrá acceder a él.
Si no tiene un sistema que pueda acceder a los sistemas de archivos ext4 (un "Live CD" de Debian es una buena opción aquí), entonces está atascado. Tendrá que volver a actualizar la tarjeta y comenzar de nuevo.
/etc
. Sisudoers
no está allí, es posible que lo haya eliminado accidentalmente, en cuyo caso tendrá que reemplazarlo de una nueva imagen de Debian (no tiene que crear una nueva tarjeta, solo necesita el archivo de imagen, consulte aquí ). .etc/passwd
a la tarjeta y cambiarla a través de la cuenta raíz de Debian VM.Raspbian NO tiene una
root
contraseña. Difiere de Ubuntu en ese aspecto. Puede crear unaroot
contraseña, pero AFAIK que requieresudo
.La mejor opción es editar los archivos montando la tarjeta SD en una máquina Linux.
Esto se puede hacer en la Pi si 1. tiene un lector de tarjetas SD 2. Utiliza un buen sistema operativo en otra SD para arrancar la Pi.
fuente
Para establecer una contraseña de root:
sudo passwd root
Fuente: https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=5056&start=25
fuente
Si descarga Puppy Linux para Raspberry Pi desde http://puppylinux.org/main/Download%20Latest%20Release.htm#quirky e instálelo en una memoria USB, entonces debería poder iniciar su computadora desde allí, y porque Puppy siempre se ejecuta como root sin contraseña, puede cambiar cualquier cosa en la computadora que desee. Realice sus modificaciones, luego reinicie la computadora sin los medios de arranque de Puppy. Ahora la computadora se iniciará en su sistema alterado sin Puppy.
Soy un poco nuevo en Raspberry Pi, así que no sé cómo arrancarlo desde un dispositivo diferente (unidad de disco), pero probablemente haya una manera. Quizás el sistema Noobs manteniendo presionada la tecla Mayús mientras se inicia.
Agregaré una alternativa simple al arranque desde otra unidad: la Raspberry Pi podría arrancarse desde la instalación de Puppy en una tarjeta SD (o tarjeta microSD) y los medios de instalación originales podrían leerse y modificarse desde un lector de tarjetas conectado a el mismo Raspberry Pi
fuente