Linux

Lo que necesitas saber sobre root, su y sudo en Linux

Una de las principales características que hace a Linux atractivo para su uso en servidores y supercomputadores en el mundo, es su capa extra en cuanto a seguridad. Si ya eres usuario de Linux, ya habrás notado que para realizar algunas actividades administrativas, el sistema te solicita una clave de acceso. Es esa la capa de seguridad extra a la que me refiero. Sigue leyendo nuestro post y encontraras lo que necesitas saber sobre root, su y sudo en Linux.

Lo que necesitas saber sobre root, su, sudo y los rootkits en Linux

root

Por lo general, los sistemas operativos contemplan el uso de sólo un usuario, el cual tiene permisos de administrador. En Linux las cosas se manejan de una forma particular, se separa la cuenta de usuario común de la de superusuario y es eso lo que conocemos como root.

Root

Cuando nos referimos a root, estamos hablando de la cuenta superusuario en Linux, es decir aquella que posee todos los privilegios y permisos para realizar acciones sobre el sistema.  Como les mencione anteriormente, para ciertas acciones que afectan al sistema de archivos, se requiere tener acceso root. Es por ello que para la ejecución de algunos comandos debemos ingresar dicho acceso (clave de root). Sin embargo, se debe tener un conocimiento sobre las acciones que se realizan, ya que una acción realizada de manera errónea podría ocasionar daños importantes en el sistema. El uso de instrucciones con privilegios de superusuario pueden ser sumamente útiles, pero totalmente devastadoras si desconocemos las consecuencias de su uso en el sistema.

Como obtener acceso a root desde la terminal

Para ingresar al sistema en modo superusuario utilizamos el siguiente comando:

su -

El cual funciona para ingresar al sistema utilizando cualquier otro usuario definido, pero al dejarlo en blanco o colocando el -, el sistema asume que el ingreso es del usuario root. A continuación de la ejecución, la terminal te va a solicitar ingresar el password correspondiente.

Luego de eso, pueden ocurrir dos escenarios:

  • Logras el ingreso como superusuario. Para verificarlo, fíjate en el símbolo del sistema, debería cambiarse de “$” al símbolo “#”.
  • Recibes un error de autenticación, lo cual indica que probablemente la cuenta root este bloqueada (debes estar seguro que ingresaste la clave correctamente jeje). Para este caso, la solución esta más adelante, sigue leyendo 🙂

El comando se mantendrá activo hasta que cierres le sesión. Esto te permitirá ejecutar cualquier instrucción sin la necesitad de escribir la contraseña para cada uno de los casos.

TE RECOMENDAMOS
Las mejores distribuciones Linux ligeras 2017

Desbloquear la cuenta del usuario root en tu computadora

Muchas de las distribuciones bloquea la cuenta root con la finalidad de que los usuarios no experimentados tengan acceso a ella. Sin embargo, puede ser desbloqueada (habilitar) y posteriormente iniciar sesión con la misma. Para ello debes ejecutar en la terminal lo siguiente:

sudo passwd root

Cuando te solicite ingresar password, colocas la de tu usuario. Seguidamente te pedirá que crees una nueva contraseña, deberás ingresar la misma dos veces. Una vez realizado esto, la cuenta root se habilitara y podrás ingresar a ella sin problemas.

Si por algún motivo quisieras desactivarla nuevamente, basta con ejecutar la siguiente instrucción:

sudo passwd -dl root

Iniciar sesión como root

Esta es una practica poco recomendada, ya que mantener abierta permanentemente una sesión de usuario root podría traer graves consecuencias e inutilizar el sistema. Lo aconsejable, es usarla mediante medios temporales (comando su o sudo, de los cuales les conversare en la próxima sección). O inicia sesión solamente en caso de emergencias, como por ejemplo,realizar restauración de cuentas de usuarios o resolver fallas relacionadas con discos.

El procedimiento es sencillo. Al momento de ingresar a Linux, colocas “root” en el campo de nombre de usuario y su clave correspondiente en el campo password. Recuerda que para iniciar sesión la cuenta root debe estar habilitada (ver el método para habilitarla en la sección anterior).

Si al momento recibes un mensaje de error, puede ser porque no se encuentra habilitada o la hayas olvidado. En caso de no recordar la contraseña, puedes restablecerla, en la siguiente sección te explico como 🙂

Restablecer la contraseña de root

Para restablecerla, utilizas el mismo método empleado para habilitar la cuenta. Es decir, ejecutando el comando:

sudo passwd root

SU

Proviene de las siglas en ingles de “substitute user” (cambiar de usuario), es decir, su función principal es cambiar de usuario, sin cerrar sesión, mediante la terminal. Generalmente, como ya les mencione, de una cuenta de tipo normal a la cuenta root. Básicamente, el comando SU te permite ingresar a la cuenta de superusuario y utilizar sus privilegios para poder realizar acciones sobre los archivos administrativos del sistema.

Su sintaxis, bien puede ser solo el comando, donde por defecto asume que la cuenta se va a cambiar a root.

su

O acompañado del nombre de usuario

su (nombre_del_usuario) 

Esto resulta bastante útil para administrar servidores web, bases de datos,  u otros servicios, donde podemos especificar diferentes usuarios para realizar determinadas tareas administrativas.

También resulta importante mencionar que se debe ser muy cuidadoso al escoger la contraseña para nuestra cuenta root. Ya que de este modo, prevenimos que un usuario sin privilegios pueda realizar un ataque ejecutando su.

TE RECOMENDAMOS
Como formatear una memoria USB desde Linux

SUDO

Proveniente del ingles “super user do” (super usuario haz). Es una alternativa para la ejecución de comandos, como si fuéramos otro usuario (incluyendo al usuario root), pero bajo ciertas restricciones establecidas sobre la delegación de privilegios entre los mismos. Usualmente, en Linux esta serie de reglas son establecidas en el archivo: /etc/sudoers.

Podemos mencionar dos diferencias notables con respecto al su:

  • Al momento de realizar la ejecución del comando, solicita tu propia contraseña y no la del otro usuario. Lo cual es beneficioso para la delegación de tareas a otros usuarios sin necesidad de compartir información tan sensible como las contraseñas.
  • Sólo se ejecuta la instrucción solicitada como superusuario, sin necesidad de hacer un cambio de usuario.

Su funcionamiento no es complejo, se escribe sudo, justo antes del comando que se requiere ejecutar. Por ejemplo, para instalar un paquete en el sistema, la sintaxis seria:

sudo apt-get install ( nombre_del_paquete )

Un hecho notable a resaltar del sudo, es “el tiempo de gracia” que otorga al usuario de poder ejecutar una secuencia de instrucciones como otro usuario, sin tener que ingresar una y otra vez la contraseña y luego ejecutarlo. Culminado ese periodo, sudo solicitara nuevamente la clave.  Algunos especialistas consideran esto, como una brecha de seguridad. Básicamente porque si nuestra computadora es irrumpida en ese periodo de gracia, pudieran hacer desastres con nuestro sistema.

Sin embargo, dicho periodo de gracia puede ser deshabilitado, lo que potenciara la seguridad. Para ello solo es necesario modificar el archivo /etc/sudoers:

sudo nano /etc/sudoers

Y procedemos a agregar la siguiente linea al final:

Defaults:ALL timestamp_timeout=0

El cambio no requiere reiniciar el sistema.

Conclusiones

La importancia del superusuario en el sistema Linux, se ve reflejado en términos de seguridad para el mismo. Esto representa una gran beneficio para los administradores de sistemas multi-usuarios. Disminuye en gran medida el daño malicioso o intencional ejecutado por parte de otro usuario, ya que no se ve afectado directamente al sistema u otros usuarios. Por otra parte, mantiene a los archivos críticos del sistema un poco más aislado del software malicioso. Adicionalmente, la utilización de la cuenta superusuario disminuye la posibilidad de cometer errores.

Cualquier inquietud, no dudes en contactarnos. Por supuesto, dale un vistazo a nuestra sección de Tutoriales o nuestra categoría de Linux, donde encontrarás muchísima información útil para sacar el máximo provecho a nuestro sistema.

Yeraldine

Lcda. en Computación, Programadora, Apasionada por el Desarrollo Web. A veces Bellydancer, otras veces Yogui. Amo viajar, los libros y la música.
En mis RRSS: @yerita02