Linux es un sistema operativo de tipo multiusuario. Esto quiere decir que varias personas pueden usar la misma máquina al mismo tiempo, cada una con su propia cuenta. Por ejemplo, en una oficina o dentro de un servidor, cada usuario puede iniciar sesión con su propio nombre de usuario.
El usuario root
Hay una cuenta especial en Linux: la del superusuario, también conocida como root.
Esta cuenta tiene control total sobre el sistema. Puede hacer cualquier cosa: crear o eliminar usuarios, cambiar configuraciones importantes del sistema e incluso borrar archivos esenciales incluso borrar archivos esenciales, lo cual puede comprometer todo el sistema.
Cuando instalamos Linux por primera vez o trabajamos sobre un servidor nuevo, el usuario root es el primero en usarse para hacer la configuración inicial.
Por eso existe un mecanismo especial llamado sudo.
¿Qué es sudo?
Con sudo podemos permitir que usuarios normales hagan tareas que usualmente solo están permitidas para el root, pero solo cuando sea necesario. Es como tener una llave maestra temporal: el sistema nos pide nuestra contraseña para confirmar y luego ejecuta el comando como si fuéramos el usuario root.
Supongamos que somos un usuario llamado Juan y cuando tratamos de borrar un archivo importante, obtenemos un error porque no tenemos permisos.
rm archivo_importante
# Resultado: Permiso denegado
Pero si tenemos configurado sudo en nuestro usuario, podemos ejecutar el mismo comando con sudo y el sistema nos lo permitirá (tras pedirnos la contraseña):
sudo rm archivo_importante
# El sistema pide la contraseña y luego ejecuta el comando
Esto es muy útil, por ejemplo, para tareas de mantenimiento o instalación de software, que muchas veces requieren permisos de administrador.
¿Por qué no usar root directamente?
Usar sudo es mucho más seguro que trabajar directamente como root. Aquí te damos algunas razones:
- Podemos controlar exactamente qué puede hacer cada usuario.
- El sistema guarda un registro de todos los comandos ejecutados con sudo.
- Ayuda a evitar errores graves por accidente (como borrar todo el sistema).
- Mejora la seguridad: incluso si alguien roba tu cuenta, no tendrá control total sin la contraseña de sudo.
¿Qué usuarios pueden usar sudo?
Agregar un usuario a sudo (requiere permisos):
# Debemos estar como root o usar sudo para agregar a otro usuario al grupo de sudo
sudo usermod -aG sudo nombre_usuario
Añadir al usuario al grupo sudo le da acceso a ejecutar comandos con sudo a partir de ese momento.
Resumen
- Linux es un sistema multiusuario, y cada cuenta tiene permisos distintos.
- El usuario root tiene todos los permisos del sistema, pero no se recomienda usarlo directamente.
sudopermite a los usuarios normales ejecutar tareas como si fueran root, de forma segura y controlada.- Usar
sudoayuda a proteger el sistema y evitar errores graves. - Solo los usuarios autorizados pueden usar
sudo, y se puede configurar quién tiene permiso.
Trabajo independiente
El desarrollador te ha pedido acceso para leer los registros del sistema.
1️⃣ Crea un usuario llamado tirion, que pueda leer los archivos creados por el usuario root. Este usuario debe tener permiso para ejecutar los comandos tail, head, less y more con privilegios de superusuario.
2️⃣ Inicia un servidor web como usuario root con el siguiente comando:
sudo python3 -m http.server 8000 --bind 127.0.0.1 > /tmp/log.txt
3️⃣ Inicia una sesión con la cuenta tirion y verifica que puedas abrir el archivo /tmp/log.txt y ver su contenido usando los comandos mencionados anteriormente.
Materiales adicionales
Para acceder completo a curso necesitas un plan básico
El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.