Introducción
En Linux, el usuario root tiene control ilimitado sobre el sistema. Sin embargo, iniciar sesión como root para trabajar a diario es peligroso. En su lugar, se utiliza sudo, que permite a los usuarios normales ejecutar comandos específicos con privilegios elevados.
El archivo que controla quién puede usar sudo y qué acciones puede realizar es /etc/sudoers. Este es uno de los archivos de políticas más sensibles de un sistema Linux, porque define los permisos administrativos delegados.
La gestión de este archivo requiere mucho cuidado. Un solo error de sintaxis puede impedir que todos los usuarios, incluidos los administradores, accedan al sistema. Por este motivo, nunca debe editar este archivo directamente con un editor de texto común. En su lugar, utilice una herramienta especial llamada visudo.
Este es un archivo de políticas, no solo una configuración práctica. Define quién puede tomar prestados privilegios administrativos, bajo qué condiciones y para qué comandos.
En este laboratorio, aprenderá a:
- Inspeccionar de forma segura la configuración de sudoers mediante
visudo. - Conceder privilegios administrativos a un usuario.
- Verificar que los privilegios funcionan correctamente.
Evaluar los privilegios actuales
Antes de realizar cambios, compruebe el estado actual. Para este laboratorio, hemos creado un usuario normal llamado alex. De forma predeterminada, los usuarios nuevos no tienen privilegios administrativos.
Inspeccionar el archivo Sudoers
Para consultar la configuración, utilizamos visudo. Esta herramienta bloquea el archivo y valida la sintaxis antes de guardarlo, lo que evita bloqueos accidentales del sistema.
Ese paso de validación es el motivo por el que existe visudo. Con los editores de texto normales, un pequeño error tipográfico podría detectarse solo después de guardar el archivo, cuando el acceso mediante sudo ya estaría dañado.
Consulte la configuración actual:
sudo visudo
Verá líneas que definen quién tiene privilegios. Por ejemplo:
root ALL=(ALL:ALL) ALL
%admin ALL=(ALL) ALL
%sudo ALL=(ALL:ALL) ALL
En este entorno, visudo abre el archivo en el editor nano. Pulse Ctrl+X para salir sin cambiar nada.
Verificar la falta de acceso
Ahora cambie al usuario alex e intente realizar una tarea administrativa.
Primero, cambie al usuario alex:
su - alex
Introduzca password cuando se le solicite.
A continuación, intente mostrar el contenido del directorio restringido /root:
sudo ls /root
Introduzca password cuando se le solicite.
Observe el error:
alex is not in the sudoers file. This incident will be reported.
Esto confirma que alex es un usuario normal y no puede realizar acciones administrativas.
Este es el comportamiento seguro predeterminado. En la seguridad de Linux, comenzar con menos privilegios y conceder únicamente los necesarios forma parte del principio de mínimo privilegio.
Por último, vuelva a su usuario original (labex):
exit
Configurar los privilegios del usuario
Para conceder a alex la capacidad de ejecutar comandos como root, debe añadir una regla al archivo /etc/sudoers.
Primero, abra el archivo de forma segura:
sudo visudo
Desplácese hasta el final del archivo o busque la sección "User privilege specification" y añada la línea siguiente:
alex ALL=(ALL:ALL) ALL
Desglose de la regla:
alex: el nombre de usuario al que se conceden los privilegios.- El primer
ALL: la regla se aplica a las conexiones desde cualquier Host. (ALL:ALL): el usuario puede ejecutar comandos como cualquier User (por ejemplo,root) y con cualquier Group.- El
ALLfinal: el usuario puede ejecutar Any Command.
Esta regla es deliberadamente amplia con fines didácticos. En sistemas reales, los administradores suelen preferir reglas de sudo más limitadas, que permitan comandos específicos en lugar de conceder acceso total sin restricciones.
Por último, guarde el archivo y salga:
- Pulse
Ctrl+Oy, después,Enterpara guardar. - Pulse
Ctrl+Xpara salir.
Si hubiera introducido un error tipográfico, visudo le habría avisado y habría evitado una configuración dañada.
Verificar los privilegios actualizados
Ahora que ha actualizado la configuración, alex debería tener todos los privilegios administrativos. Verifíquelo.
Primero, cambie al usuario alex:
su - alex
A continuación, vuelva a intentar ejecutar el comando privilegiado:
sudo ls /root
Introduzca password si se le solicita.
Observe el resultado. Ahora debería ver el contenido del directorio /root —probablemente vacío o con algunos archivos de implementación— sin errores de acceso denegado.
snap
Esto confirma que ha concedido correctamente privilegios elevados al usuario alex.
En este punto, alex todavía no es root de forma predeterminada. En su lugar, alex tiene permiso para solicitar una ejecución con privilegios elevados mediante sudo, lo que es más seguro y permite realizar auditorías con mayor facilidad que iniciar sesión normalmente como root.
Por último, cierre la sesión del usuario alex:
exit
Resumen
En este laboratorio, aprendió a gestionar los privilegios de los usuarios de forma segura.
Aspectos clave:
- La seguridad es lo primero: utilice siempre
visudopara editar/etc/sudoers. Nunca lo edite directamente. - Delegación de privilegios: puede conceder acceso de
roota usuarios específicos sin compartir la contraseña deroot. - Verificación: pruebe siempre los privilegios nuevos para asegurarse de que funcionan según lo previsto.
Dominar la configuración de sudoers le permite crear un sistema seguro en el que cada usuario tenga exactamente los permisos que necesita, ni más ni menos.



