Una de las principales características de Linux es la capa extra de seguridad que añade a su sistema, razón por la cual es el favorito para usarse en supercomputadoras y servidores de todo el mundo. Si eres usuario de Linux ya te habrás dado cuenta que para realizar algunas tareas administrativas siempre se requiere ingresar una contraseña, pues bueno, esta es la capa extra de seguridad de la que hablábamos.
La cuenta de superusuario (root) es la cuenta con los permisos más elevados en sistemas Unix.
La cuenta root o de **superusuario es la cuenta con los permisos más elevados**; similar al Administrador en Windows. Este usuario tiene permisos de lectura, escritura y ejecución de cualquier aplicación del sistema (acceso administrativo en general); a diferencia de los usuarios normales que tienen acceso limitado a ciertas tareas por razones obvias de seguridad.
Una instrucción dada con permisos de superusuario puede ser muy útil cuando se usa correctamente, pero terriblemente devastadora si no se tiene el conocimiento preciso de lo que se está haciendo y de las consecuencias que pueden tener nuestras acciones. Pero ese es otro tema. El día de hoy hablamos sobre el superusuario en Linux y su importancia dentro del sistema.
SU
En la mayoría de los sistemas operativos se contempla el uso de un sólo usuario que, por lo general, tiene permisos de administrador. Sin embargo, los usuarios que todo el tiempo tienen acceso a los privilegios del sistema, tienden a utilizarlo a ciegas, sin pensar muy bien en lo que están autorizando. En Linux las cosas son un poco diferentes. En lugar de asignar derechos de administrador a todas las cuentas de usuario, Linux separa la cuenta de superusuario (root) de la cuenta de usuario normal.
Para hacer algo con privilegios de superusuario siempre se utiliza el comando SU. Esto hace que, al menos psicológicamente hablando, tengamos la noción de que estamos haciendo algo más serio con nuestro sistema. SU, del inglés substitute user (cambiar usuario), se utiliza principalmente para cambiar de usuario en una terminal; generalmente de un usuario normal a root, sin tener que cerrar sesión e iniciar de nuevo. Para iniciar sesión como superusuario hay dos formas.
Escribiendo en la terminal:
su
O bien, escribiendo el comando SU seguido del nombre de usuario con el que queremos ingresar:
su [nombre del usuario]
En ambos casos se pedirá de inmediato la contraseña del usuario solicitado y podremos trabajar como si fuéramos ese usuario. Esto es útil para administrar bases de datos, servidores web y otros servicios que disponen de usuarios específicos para realizar diferentes tareas de administración.
SUDO
En algunas distribuciones de Linux (Ubuntu, Kubuntu) la cuenta de superusuario viene desactivada por defecto. En estos casos, la cuenta de usuario que creamos al instalar la distribución no es la misma que la cuenta de root o superusuario, sino que pertenece al grupo de administradores. Para obtener privilegios de root se utiliza el comando SUDO.
SUDO permite ejecutar comandos como otro usuario (incluso como root) pidiendo nuestra propia contraseña en lugar de la del usuario requerido. La ventaja de utilizar SUDO es que sólo se ejecuta el comando solicitado simulando ser otro usuario, sin cambiar verdaderamente el usuario actual.
En la terminal, escribe SUDO justo antes del comando que quieras ejecutar, por ejemplo:
sudo apt-get install {nombre-del-paquete}
Después de ingresar tu contraseña tendrás 15 minutos para seguir utilizando la cuenta como superusuario. Pasado este tiempo volverás a tener los privilegios de tu cuenta de usuario normal. Pero si queremos tener privilegios de superusuario de forma permanente sin necesidad de ingresar SUDO varias veces podemos ejecutar en la terminal:
sudo su
Antes de cerrar la terminal, es recomendable volver a nuestro propio usuario, esto se logra con un simple exit
. Para saber con qué usuario estas logueado basta con observar el símbolo de la línea de comandos.
usuario@usuario-desktop:~$
Es la cuenta del usuario normal ($)
root@usuario-desktop:~#
Es la cuenta de root (#)
Conclusión
La importancia del superusuario en Linux se mide en términos de seguridad. Para los administradores de sistemas multi-usuario esto representa una gran ventaja puesto que se reduce el daño accidental o malicioso ejecutado por otro usuario. Cualquier daño realizado como un usuario normal se mantiene contenido dentro de ese dominio, de manera que no afecta al sistema o a otros usuarios.
Además es mucho más difícil que el software malicioso (malware que se origina en equipos remotos pueda acceder a los archivos críticos del sistema (que generalmente pertenecen a la cuenta de root). Utilizar una cuenta de superusuario evita cometer menos errores.