Contraseña predeterminada de la raíz Raspbian

16

Intenté modificar el archivo sudoers en Raspbian /etc/sudoers, y parece que cometí un error, ya que no puedo modificarlo nuevamente. Tampoco puedo llamar a ningún comando que requiera sudopermisos. Así que investigué un poco y encontré una solución aquí .

La solución utiliza el comando *pkexec visudo*, pero cuando intentó que me da un mensaje de error: Authentication is needed to run '/usr/sbin/visudo' as the super user. También hay una lista desplegable, que contiene solo la palabra 'raíz' (y no se puede cambiar). Además de Identidad y un cuadro de texto en blanco llamado Contraseña.

Entonces, la pregunta es ¿cómo podría saber la contraseña de root? Intenté 'root', 'raspberry', 'admin', etc. pero nada funcionó.

Según las respuestas, parece un poco imposible iniciar sesión con root, ¡entonces usar pkexec visudo no resolverá mi problema! y de acuerdo con la respuesta, mi única forma es usar una PC Linux para ver mis contenidos SD y modificar el archivo sudoers. Ya instalé Debian en mi máquina virtual, y finalmente puedo acceder al archivo sudoers, ¡pero no tengo permiso para acceder! ¡dice que no soy el dueño del archivo! Entiendo este problema de seguridad, pero como muchas personas durante mi búsqueda en línea sugieren usar una PC Linux para modificar el archivo sudoers, entonces debería haber una forma de obtener acceso a él. ¿Alguien sabe de esta manera?

Dani
fuente

Respuestas:

15

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/passwordque 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 passwdle 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 shadowes 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 rootno 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 shadowcomienza 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 passwdcomando para establecer una nueva contraseña, que reemplazará la *con el hash mencionado anteriormente (estos siempre comienzan $n$donde nhay 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/passwdy eliminar la xentrada 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 rooten el indicador de inicio de sesión y se inicia sesión como root. Luego puede usar passwdpara 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).

  1. 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 sudoersno es tan bueno ...).

  2. Edite /etc/passwdy elimine eso xcomo 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 rootes, 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.

Ricitos de oro
fuente
Ya instalé Debian en VM Ware e inserté mi tarjeta, pero solo ve los archivos que se muestran como si estuviera usando el sistema Windows. Quiero decir que no puedo ver / modificar el archivo sudoers. ¿Debo usar algunos comandos para verlos en Debian?
Dani
No soy un usuario de VM Ware, así que no puedo ayudar con los detalles de eso, pero presumiblemente tienes acceso de root en la VM, ¿verdad? Si es así, y puede acceder a la tarjeta SD desde la máquina virtual, debería poder montar la segunda partición y mirar hacia adentro /etc. Si sudoersno 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í ). .
Ricitos de oro
... También debe poder acceder etc/passwda la tarjeta y cambiarla a través de la cuenta raíz de Debian VM.
Ricitos de oro
(debería poder montar la segunda partición y buscar en / etc) ¿Qué comandos debo usar para montar la segunda partición?
Dani
¿De una VM VMware? No lo sé. Utilizo virtualbox, pero nunca he tenido que configurar el acceso al hardware o los montajes en el sistema host además de las redes (si tengo que transferir datos, simplemente lo hago a través de la red). Supongo que es posible y simple, pero mi sistema host también es Linux. También supongo que hay alguna forma de usar VMware con Windows / Mac / Cualquier host para darle acceso a la VM al dispositivo SD conectado al hardware del host ... incluso si el host en sí no puede leer la partición, aún puede acceder a la tarjeta real, por lo que la VM también debería poder (y luego el sistema operativo de la VM puede leerla).
Ricitos de oro
4

Raspbian NO tiene una rootcontraseña. Difiere de Ubuntu en ese aspecto. Puede crear una rootcontraseña, pero AFAIK que requiere sudo.

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.

Milliways
fuente
pero ¿por qué raspbian me pidió contraseña? ¿Y por qué no acepta contraseñas vacías?
Dani
La cuenta raíz puede tener una contraseña "no válida" o "imposible": es un truco común para bloquear la cuenta raíz de esta manera.
Flakeshake
4

Para establecer una contraseña de root:

  • Arranque e inicie sesión normalmente.
  • Correr:sudo passwd root
  • Escriba la nueva contraseña para root como se le solicite

Fuente: https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=5056&start=25

Excelencia Ilesanmi
fuente
1
El problema es que no pude usar el comando sudo porque cometí un error al modificar el archivo sudoers. El problema se resolvió instalando el sistema operativo Linux Debian en mi computadora, insertando la tarjeta SD y volviendo a cambiar el archivo sudoers a su estado original ...
Dani
-1

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

Miriam English
fuente
2
Encuentro que la votación negativa es desagradable, por lo que intentaré completar la votación anónima. Una respuesta que dice "No sé" quizás sea más apropiada como comentario. Desafortunadamente, eso requiere una reputación de 50. Continúa con tus esfuerzos para ayudar. Vale la pena el esfuerzo. : D
OyaMist