Si llevamos relativamente poco tiempo en Linux o tenemos pensado darle una oportunidad a Linux para comprobar si realmente podemos hacer lo mismo que en Windows, debemos tener claros una serie de conceptos que difieren de Windows, pero que son similares al de otros sistemas operativos que probablemente utilizamos, como los smartphones con Android. Estamos hablando del término root.
Cuando hablamos de root en Android, hablamos de un método que elimina todas las protecciones (por llamarlo de una forma que se entienda fácilmente) del sistema y que permite hacer cambios en el dispositivo que, con ellas, sería imposible. Esta protección no se implementa para limitar las posibilidades de modificación que tienen los s sobre sus dispositivos (que también), sino para evitar que se lleven a cabo cambios en el sistema que ponga en peligro su integridad y funcionamiento.
Si hablamos de Linux, a diferencia de Android, donde el dispositivo viene de serie con el sistema operativo y la correspondiente capa de personalización de cada fabricante, los s somos los que instalamos la distro que queremos utilizar en nuestro equipo, por lo que no tenemos ninguna limitación a la hora de hacer modificaciones en el equipo, modificaciones que afecten a cualquier apartado del sistema.
Qué es root
El root en Linux es el que tiene istrativo a todo el sistema y puede realizar cualquier tipo de modificación para modificar su funcionamiento. No es recomendable iniciar sesión con permisos root si no tenemos muy claro qué es lo que estamos haciendo, si no queremos poner en riesgo la estabilidad del sistema si efectuamos algún cambio.
Si queremos hacer algún cambio en el sistema, no hace falta iniciar sesión con permisos de , sino que podemos pedir permiso utilizando la aplicación sudo para realizar tareas istrativas introduciendo la cuenta de nuestro para confirmar que somos los legítimos s de esa cuenta y no se trata de una tercera persona que ha tenido a nuestro equipo. También podemos utilizar el comando su si necesitamos mantener en el tiempo los privilegios root.
Para qué se usa
Ya hemos visto que root es un comando esencial a la hora de trabajar con Linux, pero ¿nos queda claro concretamente para qué sirve? Hay muchos usos en los que es obligatorio echar mano de este comando mágico. Vamos a ver algunos de los más relevantes.
- Instalar software. Se trata de uno de los usos del comando más esenciales. Y es que, por seguridad, siempre que vayamos a usar «apt», u otro gestor de paquetes, para instalar un programa, tendremos que ejecutarlo con este comando. Por ejemplo, «sudo apt install vlc».
- Editar archivos de configuración. Otro de los usos comunes de este comando es realizar configuraciones en programas o servicios del sistema. Como ya sabremos, muchas de estas configuraciones se llevan a cabo a través de archivos de texto. Por lo tanto, debemos usar «sudo» para abrir dichos archivos con un editor. Por ejemplo, «sudo nano /etc/hosts».
- Cambiar su contraseña. Si necesitamos cambiar la contraseña de root en Windows, igualmente tendremos que usar este comando. La forma de hacerlo es con «sudo wd root».
- Ejecutar comandos peligrosos. Algunos comandos de Linux pueden ser peligrosos. Por ejemplo, con rm podemos eliminar archivos y directorios críticos del sistema. Por ello, antes de ejecutarse, deben asegurarse de que tenemos permiso para ello.
- Reiniciar o apagar. Por último, si vamos a usar los comandos «reboot» y «poweroff», también debemos tener permisos de super para ello.
Tipos de s en Linux
Una de las prestaciones más llamativas de Linux es su control de s, control de s con el que podemos gestionar en todo momento el poder de acción que tienen los s. Básicamente, en Linux podemos encontrar 2 tipos de s:
- root. Este tiene poder y control absoluto sobre el equipo y puede hacer y deshacer a su antojo sin ningún tipo de limitación más allá de sus conocimientos. Este tipo de es, si lo comparamos con Windows, el , aunque en Linux tenemos mucho más poder de decisión que en Windows.
- . Los s normales, son las cuentas de s en las que se establecen una serie de limitaciones en base a sus necesidades y prioridades, sin tener la opción de realizar tareas istrativas reservadas a las cuentas root. Ese tipo de s tienen limitadas las opciones a la hora de instalar aplicaciones o crear directorios en el sistema. Sin embargo, pueden obtener permisos root para realizar cualquier cambio a través de los comandos sudo o su.
Cuando utilizar Sudo y cuando utilizar Su
Una vez tenemos claro que es root y cuáles son las posibilidades de estas cuentas y las limitaciones de las cuentas de , toca hablar de los comandos sudo y su, comandos que nos permite obtener permisos de para realizar cambios en el sistema.
Sudo
Las cuentas de s normales tienen limitada la posibilidad de instalar aplicaciones de fuera del sistema. El comando Sudo nos permite ejecutar un comando como root, es decir, con privilegios totales sobre el sistema, pero sin dejar de ser un normal. Debemos acompañar esta palabra siempre antes de cualquier operación.
Por ejemplo, si queremos instalar una aplicación, como s normales no podemos realizar este proceso. Pero, si utilizamos el comando sudo en primer lugar, vamos a obtener permisos root para realizar esa operación. Una vez se ha realizado, volveremos a tener las limitaciones asociadas a una cuenta de normal. Siempre que utilicemos el comando Sudo, tendremos que introducir la contraseña root.
sudo apt install gparted
Si queremos instalar otra aplicación, tendremos que preceder el comando, nuevamente, de la palabra sudo e introducir la contraseña de .
Su
Mientras que Sudo nos permite obtener permisos de para realizar determinadas tareas istrativas como instalar aplicaciones, crear s y demás, una vez se ejecuta el comando, volvemos a ser s normales. Si tenemos que realizar diversas operaciones en el equipo para las que sean necesarios privilegios de , y no queremos añadir sudo en cada comando, haremos uso de su e introducimos la contraseña root.
su
A partir de este momento, tenemos privilegios root, por lo que podemos hacer cualquier cambio en el sistema sin necesidad de utilizar sudo. Siendo el ejemplo anterior, para instalar la aplicación Gparted, una vez tenemos permisos root, en lugar de preceder el comando de instalación de la palabra sudo, podemos hacerlo sin ella.
apt install gparted
Cuando hemos dejado de necesitar privilegios root, es recomendable salir de este modo para evitar realizar cualquier cambio de forma no intencionada, se utiliza el comando exit.
exit
Si queremos cambiar de , el comando a utilizar es el siguiente.
su nombrecuenta
Desactivar la cuenta root en Linux
Si utilizamos un equipo con Linux que utiliza diferentes cuentas de , cabe la posibilidad de que la contraseña root acabe circulando libremente por nuestro entorno sin darnos cuenta. Con esta contraseña en manos no deseadas, los s pueden hacer cualquier tipo de cambios e instalar aplicaciones en el sistema que no son necesarias para el día a día. La solución a este problema, siempre y cuando corramos ese riesgo, pasa por desactivar la cuenta root en Linux.
De esta forma, sin una cuenta root, los s no podrán hacer uso ni de sudo ni de su para habilitar los privilegios de en el sistema, repercutiendo positivamente en la seguridad del equipo de trabajo. Para desactivar la cuenta root, debemos abrir terminal e introducir el siguiente comando
sudo wd l root
De esta forma, el equipo bloquea este para que no se pueda utilizar ni con el mando su ni con sudo. Si queremos recuperar nuevamente la cuenta de , tendremos que configurar una nueva.
Recuperar contraseña root
Tanto si hemos deshabilitado la cuenta root como si hemos perdido la contraseña maestra, Linux, nos permite volver a generar una nueva contraseña a través de dos métodos: desde el GRUB de arranque o bien utilizando un LiveCD con una distribución Linux.
Con el GRUB
Una vez se muestre el GRUB de arranque, debemos acceder las opciones avanzadas, una opción que no se encuentra en la pantalla principal y, seguidamente, seleccionar Recovery Mode para, a continuación, seleccionar la opción root para una consola de super.
Desde la línea de comando, lo primero que haremos es montar la unidad con permisos de escritura con el comando
mount -o rw, remount /
A continuación, utilizaremos el comando wd para establecer una nueva contraseña
wd root
Finalmente, con los comandos utilizamos los comandos sync y reboot para reiniciar el equipo y que se apliquen los cambios.
sync
[coche]reboot[/code]
Desde un LiveCD
Para recuperar la contraseña root, podemos utilizar cualquier distro LiveCD, aunque desde SoftZone recomendamos Ubuntu. Una vez hemos iniciado el equipo con esta distribución, en la pantalla de bienvenida, seleccionamos español para que la interfaz se muestre en nuestro idioma y, seguidamente en Probar Ubuntu.
Seguidamente, abrimos la aplicación Terminal e introducimos el siguiente comando:
sudo su
A continuación, debemos identificar la partición donde se encuentra la distribución Linux queremos recuperar la contraseña root. Par hacerlo utilizaremos el comando:
fdisk -l
En el siguiente paso, debemos montar la unidad del sistema:
mkdir /mnt/recover
mount /dev/sda1 /mnt/recover
En nuestro caso, la partición es sda1. Si en nuestro equipo es diferente, debemos modificar sda1 por la partición correspondiente a nuestro equipo. Una vez hemos montado la unidad, ya podemos empezar a trabajar con ella para recuperar la contraseña root. Lo primero es dirigimos al directorio de recuperación con el comando:
chroot /mnt/recover
Y, finalmente, utilizamos el comando wd para introducir una nueva contraseña root
wd root