La cuenta tradicionalmente llamada root tiene el UID 0 y una amplia autoridad dentro de su contexto de seguridad. Usa una cuenta sin privilegios para el trabajo rutinario y elévalos solo para un propósito administrativo concreto que comprendas.
Gestión de Usuarios · Lección 2
root
Aprende cómo su, sudo y la política sudoers proporcionan acceso controlado a identidades con privilegios.
Iniciar un shell como otro usuario con su
su, de substitute user (sustituir usuario), inicia un shell o una orden con la identidad de otra cuenta. Sin un nombre de usuario, el destino predeterminado es root:
$ su
La autenticación está controlada por PAM y por la política local. Un sistema puede solicitar la contraseña de la cuenta de destino, restringir quién puede usar su o mantener bloqueada la contraseña de root. No des por hecho que conocer una contraseña es la única condición.
su sin más cambia la identidad y conserva una mayor parte del entorno actual. su - USER, también escrito como su --login USER, inicia un shell de inicio de sesión y configura un entorno más parecido a una sesión nueva de la cuenta de destino:
$ su - operator
Sal del subshell cuando termines el trabajo específico de esa cuenta.
¿Qué orden solicita un shell de inicio de sesión como el usuario operator?
Ejecutar una orden concreta con sudo
sudo COMMAND solicita autorización según una política para ejecutar una orden como un usuario de destino, normalmente root de forma predeterminada. Usa -u USER para solicitar otro destino:
$ sudo -u postgres id
Esto no significa que la solicitud vaya a permitirse. La política de sudo controla el usuario que la invoca, el host, la identidad de destino, la orden y otras condiciones. La autenticación puede usar la contraseña del usuario que la invoca, otro mecanismo o no mostrar ninguna solicitud, según la configuración.
Cuando sea práctico, prefiere una orden administrativa de ámbito reducido a un shell con privilegios de larga duración. Un ámbito menor reduce la probabilidad de que órdenes accidentales se ejecuten con autoridad elevada.
¿Qué solicita sudo -u postgres id?
Evitar shells con privilegios persistentes
Órdenes como su -, sudo -s o sudo -i pueden crear un shell con privilegios cuando la política lo permite. Todas las órdenes posteriores de ese shell pueden conservar un impacto elevado hasta que salgas. Los errores de rutas, los scripts no revisados y las expansiones del shell se vuelven más peligrosos.
El comportamiento de auditoría depende de la configuración. sudo suele registrar las invocaciones, pero un único inicio registrado de un shell no proporciona automáticamente un registro completo de todas las órdenes escritas dentro de él. El historial del shell, la auditoría del sistema y el registro de entrada y salida de sudo son mecanismos separados con políticas propias.
¿Por qué un shell root de larga duración es más arriesgado que elevar una orden conocida cada vez?
Revisar la autorización de sudo
Ejecuta sudo -l para mostrar lo que la cuenta actual puede solicitar según la política activa:
$ sudo -l
Revisa las rutas de las órdenes, los usuarios de destino permitidos y las restricciones de argumentos. Una regla que parezca amplia no debe interpretarse como permiso para realizar trabajo no relacionado.
¿Qué orden enumera los privilegios sudo disponibles para el usuario que la invoca actualmente?
Editar la política sudoers de forma segura
La política sudo predeterminada suele leer /etc/sudoers y puede incluir archivos de /etc/sudoers.d/. También son posibles otros orígenes de políticas. La sintaxis controla mucho más que una simple lista de usuarios y grupos.
Usa visudo para cambiar la política, ya que bloquea el archivo y valida la sintaxis antes de instalarlo:
$ sudo visudo
Para un archivo adicional, indica su ruta exacta:
$ sudo visudo -f /etc/sudoers.d/application-admins
No edites sudoers con una redirección normal ni con un flujo de editor sin validación. Un error de sintaxis o permisos puede eliminar el acceso administrativo. Mantén disponible otra vía de recuperación verificada cuando cambies autorizaciones remotas.
¿Qué herramienta debe usarse para editar y comprobar la sintaxis de la política sudoers principal?
Para practicar la administración delegada en un entorno controlado, prueba este laboratorio práctico:
- Configurar cuentas de usuario y privilegios sudo en Linux - Practica políticas de contraseñas, bloqueo y desbloqueo de cuentas, protección de root y concesión de permisos administrativos.
Lección completada
Has completado root
Ahora puedes distinguir el cambio de identidad de la delegación de órdenes controlada por políticas.
Usa
su - USERsolo cuando quieras un shell de inicio de sesión del destino.Solicita un destino sudo concreto con
-u USER.Minimiza el tiempo que pasas en un shell con privilegios.
Revisa las reglas sudo efectivas con
sudo -l.Edita la política sudoers únicamente mediante
visudo.
Guarda tu progreso
Crea una cuenta gratuita para guardar esta lección y continuar en cualquier dispositivo.
Crear una cuenta gratuita