[Terminal] Tutorial: Qué es el usuario Root, dónde encontrarlo y qué hacer (y no hacer) con él en MacOS

Aunque nosotros creamos que nuestra cuenta de administrador (la primera de nuestro Mac) es la administradora suprema, no es así, aunque para usuarios medios de MacOS podría ser suficiente esa cuenta para lo que necesiten hacer. Aún así, a veces, en conflictos con permisos o cuando necesitamos tener poderes absolutos en nuestro sistema, podemos recurrir a un usuario muy conocido en Unix (base de MacOS), llamado “root” que si hemos utilizado alguna distribución de Linux ya nos sonará porque tiene poderes para todo, incluso para borrar el sistema entero desde la raíz, como le pasó a Mr. Marsala en este artículo, así que sobra decir lo peligroso que puede resultar que lo usemos de forma indebida. En este artículo intentaremos arrojar algo más de luz sobre Root en MacOS.

¿Qué es Root?

Root (o raíz) es el usuario con ID 1 (el primero que se crea) y con poderes y permisos para todo, aunque no se los hayamos dado. En el campo de los servidores suele ser el primer usuario con el que se inicia sesión en una máquina, aunque luego sea recomendable crear otro para uso diario o mantenimiento. Pero esta cuenta no está solo en los servidores y por supuesto, como buen sistema con base Unix que se precie, en cualquier equipo ejecutando MacOS tenemos una.

El primer paso en la experiencia: sentirse root

El título de la sección puede ser algo confuso, pero hablamos nada más y nada menos que de “sudo”, otro de los comandos típicos en Unix. En Terminal de MacOS nos sirve, si se antepone a cualquier comando, para poder hacernos pasar por root si tenemos los permisos adecuados (cuenta de tipo administrador). Cualquier usuario sin permisos que intente utilizarlo recibirá un mensaje bastante intimidante invitándolo a no intentarlo nuevamente. Por ejemplo, si queremos ejecutar un archivo sobre el que no tenemos permisos, podemos probar con:
# Vemos si tenemos permisos, ejecutamos el archivo llamado “archivo” en la carpeta actual con nuestro usuario:
./archivo
# Si dice “permision denied”, probamos con sudo:
sudo ./archivo
# Pide la contraseña de nuestro usuario (no la de root) para confirmar que somos nosotros quien estamos intentando hacernos pasar por superusuario.
Enter password: 123456789

Y deberíamos tener el archivo ejecutándose, ya que, como se ha dicho, root suele tener permisos para todo. De hecho, en la web de Apple se advierte claramente que Root no es un juego y que también podemos ser el siguiente señor Marsala y cargarnos nuestro sistema. Obviamente si es código no dañino no debería haber diferencia si ejecutamos un archivo como root o como usuario administrador, simplemente el tema de los permisos, pero si lo hacemos con código experimental, no probado o manifiestamente perjudicial las consecuencias pueden ser catastróficas, por lo que en caso de tener sospechas de que este segundo caso se pueda producir, no estaría de más hacer una copia de timeMachine para quedarnos tranquilos.

Un paso más: ser root

Pues ya hemos sentido el poder supremo, pero a veces no es suficiente, necesitamos más, ser root completamente, y romper cosas a gusto. Pero vamos a empezar por algo más fácil que cerrar nuestra sesión y abrirla como root: elevarnos a Root en terminal por un tiempo.

Pasos previos

  1. Abrir Terminal. La podemos encontrar a través de los métodos habituales o en Aplicaciones>Utilidades>Terminal.app.
  2. Establecer la contraseña de root con sudo passwd root. Como véis, nos estamos haciendo pasar por root en ese comando para cambiar la contraseña de sí mismo sin que de problemas de permisos.
  3. Por lo tanto, Como es habitual con sudo, primero metemos nuestra contraseña. Luego, dos veces la que queramos para root, y debería indicar que la contraseña se ha actualizado con éxito. También podemos activar root desde Preferencias del sistema>Usuarios y grupos>Opciones de inicio de sesión>Acceder>Abrir utilidad de directorios (y desactivarlo también).

El comando su

El comando su sirve para iniciar sesión en terminal con un usuario del cual se conoce la contraseña, como pasa con root. Podemos introducir “su root” o simplemente “su” para hacernos pasar por root en terminal. Ojo, cuando nos pida la contraseña deberemos introducir la de root. Se nos abrirá la pantalla de terminal por defecto para Root, de la que podremos salir (y por lo tanto volver a nuestro usuario), escribiendo “exit”, pulsando CTRL+D o cerrando Terminal y confirmando las advertencias (no recomendado).
Cuando estemos en esta pantalla podemos usar la terminal como lo haríamos en nuestro usuario, solo que teniendo más cuidado con lo que ejecutamos.

Iniciando sesión completamente como root: para romper aún más cosas

¿Te gusta el riesgo, eh? Porque llegar hasta el final de este artículo y seguir los pasos te convertirá en el poderoso superusuario de tu equipo Mac, pero no por mucho tiempo, porque espero enseñarte a desactivar la posibilidad de usar root tan alegremente. Pues simplemente, para iniciar completamente la sesión como root, en la pantalla de inicio de sesión de MacOS introducimos el usuario “root” y la contraseña que elegimos. Personalmente nunca he iniciado sesión como root directamente, así que no os puedo contar la experiencia; deberéis probarlo por vosotros mismos.

Para no sentirme culpable, cómo desactivar el usuario root

Apple da un método para hacerlo y realmente no he encontrado otro. Se trata de dirigirse a Preferencias del sistema>Usuarios y grupos>Opciones de inicio de sesión>Acceder>Abrir utilidad de directorios>Herramientas>Desactivar usuario root. Realmente no sé qué comandos ejecuta esta opción, de forma que encuentro más seguro usarla desde la interfaz gráfica, y no desde terminal experimentando con comandos como chsh que no es seguro que desactiven root.

Y nada, como siempre, no me hago responsable de lo que rompáis. Copia de TimeMachine antes y prevenimos sustos.–

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s