¿Cómo Iniciar Sesión Como Root En Raspberry Pi OS?

Como sabrás, en Raspberry Pi OS, sólo tienes un usuario normal por defecto (era «pi», y ahora es el que creas durante el primer arranque). No es una cuenta de administrador para la Raspberry Pi, así que no puedes configurar cosas directamente con este usuario. Por ejemplo, no puedes usar los comandos «reboot» o «shutdown» directamente. ¿Por qué? ¿Cómo funciona? ¿Cómo desactivo esto? Lo veremos todo en este post.

No hay manera de entrar directamente como root en una instalación nueva de Raspberry Pi OS, pero el comando «sudo su» permite escalar del usuario actual a una terminal de administrador. A partir de ahí, se puede definir una contraseña para usar root como un usuario normal.

Pero no lo recomiendo.
En este post, voy a explicar qué es el comando sudo, y por qué los desarrolladores de Raspberry Pi OS lo añaden y desactivan el usuario root.
Y luego te mostraré cómo hacer algunas cosas como root en Raspberry Pi.

Recordatorios de Linux

Quiero empezar con algunos recordatorios sobre los sistemas Linux.
Si empiezas en Linux con tu nueva Raspberry Pi, esto podría ayudarte a entenderlo mejor.

¿Qué es «root»?

En los sistemas operativos Linux, «root» es el usuario administrador.
En Windows, tienes la cuenta «Administrador» (y la mayoría de las veces cualquiera es admin), en Linux es «root».

Este usuario tiene todos los permisos en el sistema.
Si quieres crear archivos en /etc, reiniciar el sistema, cambiar la configuración de la red, necesitas privilegios de root.

Al principio de la historia de Linux, se obtenía acceso de root directamente después de la instalación.
Pero los desarrolladores han cambiado esto pidiendo primero la creación de un usuario estándar en el proceso de instalación, sin privilegios directos.

¿Por qué los desarrolladores de Debian lo ocultaron?

Antes de esto, todo el mundo utilizaba root, y principalmente sólo root.
Así que era fácil romper algo, y además como todo el mundo se registra como root, no se puede saber quién cambia algo, sólo es «root».

Así que los desarrolladores de Debian han cambiado esto para forzar la creación del primer usuario en el proceso de instalación y luego dar a este usuario una forma de elevar sus privilegios como un administrador: sudo.
El objetivo principal era dar a todo el mundo sólo los privilegios necesarios para trabajar, pero la posibilidad de conseguir más, temporalmente, si fuera necesario.

¡Hola!
Inscríbete para recibir mis últimos tutoriales cada semana.

El comando sudo

Veamos ahora qué es sudo y cómo utilizarlo.

Presentación de Sudo

Sudo es un comando prefijo utilizado para ejecutar cualquier otro comando con permisos de root.

Cuando pones «sudo» justo antes de tu comando, obtienes privilegios de administrador para este comando.
El sistema puede pedirte tu contraseña la primera vez que lo uses.

Revisa este tutorial (en inglés) si quieres saber cómo dar el permiso sudo a un nuevo usuario.

Cómo utilizar sudo

Uso
sudo <command>

He aquí un ejemplo:

pi@raspberrypi:~ $ shutdown -h 20:00
Failed to set wall message, ignoring: Interactive authentication required. Failed to call Schedule
Shutdown in logind, proceeding with immediate shutdown: Interactive authentication required.
pi@raspberrypi:~ $ sudo shutdown -h 20:00
Shutdown scheduled for Mon 2018-12-31 20:00:00 GMT, use 'shutdown -c' to cancel.

Usted necesita privilegios de root para detener su Raspberry Pi.
Por eso el primer comando falló con «authentication required», pero el segundo está bien.

Cambiar a Root en Raspberry Pi OS

Si estás en un proyecto que necesita que ejecutes 50 comandos como root, quizás sea aburrido pensar en añadir sudo antes de cada uno.

Hay una manera de cambiar de tu usuario a usuario root:
sudo su
su es un comando para cambiar de usuario, si eres root, te permite cambiar a otro usuario:
su - <username>
Sin un parámetro, te da la terminal de root, pero necesitas sudo para ejecutar este comando.

He aquí un ejemplo:

pi@raspberrypi:~ $ sudo su
root@raspberrypi:/home/pi#

Como ves, en la segunda línea me sale un # terminal, empezando por root@raspberrypi.
Entonces, estoy listo para ejecutar todos mis comandos como root.

Utilice «exit» para volver a la terminal de usuario de pi:
exit

Nuevos usuarios

Acabamos de ver cómo utilizar sudo con el usuario por defecto.
Pero si has creado otros usuarios, ¿es igual?

Parámetros por defecto

Por defecto, los nuevos usuarios no pueden usar sudo.

  • root: acceso directo a los privilegios de administrador para cualquier comando
  • pi (o primer usuario): privilegios de administrador, si es necesario, mediante el comando sudo
  • Otros usuarios: sin privilegios de administrador

Pero si necesitas sudo en otros usuarios, es posible.
Veremos el procedimiento más adelante.

Permitir que un usuario utilice sudo

Para permitir que un usuario ejecute comandos con sudo, primero habrá que añadir este usuario al grupo sudo de la siguiente manera:
sudo adduser <username> sudo

Cambia a esta cuenta de usuario y prueba:
sudo su - <username>
sudo raspi-config

En el primer acceso, recibirás un mensaje de advertencia como éste:

Confiamos en que haya recibido la conferencia habitual del Sistema local
Administrador. Normalmente se reduce a estas tres cosas:

#1) Respeta la privacidad de los demás.
#2) Piensa antes de escribir.
#3) Un gran poder conlleva una gran responsabilidad.

Entonces todo está bien, estás listo para usar sudo con esta cuenta de usuario.

Iniciar sesión con root de forma remota

No recomiendo permitir el acceso remoto para el usuario root.
Pero puede ser útil a veces, para las conexiones automatizadas (e.g: scripts), así que te muestro el procedimiento aquí.

Crear una contraseña para root

Lo primero que hay que hacer es crear una contraseña para el usuario root.
Como quieres acceder directamente, la contraseña del usuario pi no te serviría.

La forma más fácil de hacerlo es utilizar este comando:
sudo passwd

Esto puede pedir su contraseña, y luego la nueva contraseña para la raíz.
Este es un ejemplo de lo que debería obtener:

pi@raspberrypi:~ $ sudo passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

Permitir el acceso a SSH para el root

El usuario root tiene ahora una contraseña establecida, pero no es suficiente para acceder a su Raspberry Pi con esta cuenta directamente.
Es necesario editar el archivo de configuración del servidor SSH para permitir el acceso de root:

  • Abre el archivo de configuración SSH:
    sudo nano /etc/ssh/sshd_config
  • Encuentra esta línea:
    #PermitRootLogin prohibit-password
  • Sustitúyelo por ésta:
    PermitRootLogin yes
    Quitamos el # para habilitar esta opción (# = comentario).
    Y luego cambiar el valor a «yes» para permitir el inicio de sesión directa con contraseña.
  • Guardar y salir (CTRL+O, CTRL+X)
  • Reinicia SSH:
    sudo service ssh restart
  • Inténtalo de nuevo, ahora debería estar bien

Si quieres automatizar este proceso en un script, necesitas conectarte con una clave SSH.
Te explico cómo hacerlo en el último párrafo de este artículo si necesitas ayuda.

Preguntas relacionadas

¿Cuál es la contraseña de root por defecto en Raspberry Pi OS?

En Raspberry Pi OS, la cuenta de root está deshabilitada por defecto, por lo que no hay contraseña por defecto. La cuenta se puede habilitar creando una nueva contraseña, utilizando sudo para acceder a la sesión de administrador por primera vez.

¿Cómo saber quién puede usar sudo?

En este artículo, dimos el permiso sudo a un nuevo usuario, pero no recuerdo qué usuario. Para encontrarlo usa este comando:
$ grep 'sudo' /etc/group
sudo:x:27:pi,foo

Te da el nombre del grupo, el id del grupo, y luego todos los miembros del grupo separados por comas.

¿Cómo quitar el derecho sudo a alguien?

Para eliminar el usuario «foo» de los grupos sudo y luego negar los privilegios de root para este usuario, ejecute este comando:
$ sudo gpasswd -d foo sudo
Removing user foo from group sudo

Ejecute el comando anterior para comprobar que está bien. Puede requerir una nueva sesión para aplicar (desconectar/reconectar).

Vídeo

¿Quieres ver todos estos consejos en acción? Mira este vídeo en mi canal de YouTube:

Conclusión

Este es el final de este post sobre el usuario root en una Raspberry Pi.
Espero que te ayude a entender bien cómo funciona.

No olvides que el usuario root es la mayor parte del tiempo, inútil, sudo debería ser suficiente para hacer todo lo que necesitas.
También puedes crear nuevos usuarios para cualquier aplicación o persona que no necesite privilegios de administrador (para tus hijos, por ejemplo).

Como bien sabes:

Un gran poder conlleva una gran responsabilidad, Peter Parker 🙂

Publicaciones Similares