En cualquier sistema operativo multiusuario, la gestión de usuarios y grupos es un concepto fundamental. Esta es una parte central de los conceptos básicos de linux, diseñada para el control de acceso y los permisos. Cuando se ejecuta un proceso, lo hace como el usuario que lo inició. Del mismo modo, el acceso a archivos y la propiedad dependen de los permisos, lo que evita que un usuario acceda a los documentos privados de otro.
Conceptos Básicos de Usuarios y Grupos de Linux
Cada usuario en un sistema Linux recibe un directorio personal, ubicado típicamente en /home/nombredeusuario. Este directorio es donde se almacenan sus archivos y configuraciones específicas del usuario, aunque la ruta exacta puede variar entre las distribuciones de Linux.
El sistema identifica a los usuarios con un ID de Usuario (UID) y a los grupos con un ID de Grupo (GID). Aunque usamos nombres de usuario legibles por humanos, el sistema operativo se basa en estos IDs numéricos únicos para todas las tareas relacionadas con permisos. Los grupos son simplemente colecciones de usuarios, lo que facilita la gestión de permisos para varias cuentas a la vez.
El Superusuario y el Comando Sudo
Dentro de la jerarquía de usuarios y grupos de linux, un usuario se sitúa por encima de todos los demás: root, también conocido como el superusuario. El usuario root tiene poder ilimitado, capaz de acceder a cualquier archivo y gestionar cualquier proceso. Operar continuamente como root es arriesgado, ya que un error simple podría dañar el sistema.
Para mitigar este riesgo, los usuarios autorizados pueden ejecutar comandos con privilegios de root utilizando el comando sudo (superuser do). Esto permite realizar tareas administrativas sin iniciar sesión como el usuario root. Comprender cómo usar sudo correctamente es esencial para cualquiera que busque la forma más rápida de avanzar en linux a nivel administrativo.
Intentemos ver un archivo protegido, como /etc/shadow, que almacena contraseñas de usuario cifradas.
cat /etc/shadow
Recibirás un error de "Permiso denegado". Examinemos los permisos del archivo:
$ ls -la /etc/shadow
-rw-r----- 1 root shadow 1134 Dec 1 11:45 /etc/shadow
Aunque cubriremos los permisos en detalle más adelante, esta salida muestra que solo el usuario root y los miembros del grupo shadow pueden leer este archivo. Ahora, ejecuta el comando de nuevo con sudo:
sudo cat /etc/shadow
Esta vez, se te pedirá tu contraseña y, tras una autenticación exitosa, se mostrará el contenido del archivo.