Archivo sudoers en Linux: cómo funciona y cómo configurarlo

archivo-sudoers-en-linux
archivo-sudoers-en-linux

El archivo sudoers en Linux es el archivo de configuración que define qué usuarios pueden ejecutar comandos con privilegios de administrador usando sudo. Gestionar correctamente este archivo es fundamental para mantener la seguridad y el control de acceso en un sistema Linux.

En esta guía aprenderás qué es el archivo sudoers, dónde se encuentra y cómo configurarlo correctamente.

Si quieres aprender más sobre Linux, revisa nuestra Guía completa de comandos Linux y nuestro Curso de Linux gratis , te ayudarán a dominar la terminal y a sacar el máximo provecho de este artículo.

Qué es el archivo sudoers en Linux

El archivo sudoers controla el uso del comando sudo. En él se especifica:

  • Qué usuarios pueden usar sudo
  • Qué comandos pueden ejecutar
  • En qué sistemas o terminales
  • Si necesitan contraseña o no

Gracias a este archivo es posible delegar privilegios administrativos de forma controlada.

Ubicación del archivo sudoers

El archivo principal está en:

/etc/sudoers

También puede haber configuraciones adicionales en:

/etc/sudoers.d/

Este directorio permite añadir reglas separadas para diferentes usuarios o servicios.

Editar el archivo sudoers correctamente

⚠️ Nunca edites el archivo directamente con editores como nano o vim.

Siempre debes utilizar el comando:

sudo visudo

visudo verifica la sintaxis antes de guardar los cambios y evita que un error bloquee el acceso administrativo al sistema.

Sintaxis del archivo sudoers

Cada entrada en el archivo sudoers en Linux sigue una estructura específica que define quién puede ejecutar qué comandos y bajo qué condiciones.

La sintaxis general es:

usuario HOST=(USUARIO:GRUPO) COMANDO

A continuación se explica el significado de cada elemento.

ElementoEjemploDescripción
UsuariojuanUsuario al que se aplica la regla.
Grupo%adminsGrupo de usuarios (el símbolo % indica grupo).
HostALLDefine desde qué host se puede ejecutar sudo. ALL permite cualquier host.
Usuario destino(root)Usuario como el que se ejecutará el comando.
Grupo destino(root:adm)Grupo con el que se ejecutará el comando.
Comando/usr/bin/systemctlComando que el usuario puede ejecutar con sudo.
Todos los comandosALLPermite ejecutar cualquier comando.
Sin contraseñaNOPASSWD:Permite ejecutar comandos sin pedir contraseña.

Ejemplo completo

juan ALL=(root) /usr/bin/systemctl restart nginx

Significa que:

  • El usuario juan (juan)
  • desde cualquier host (all)
  • puede ejecutar el comando (systemctl restart nginx)
  • como usuario root.

Ejemplos de configuración

En el archivo sudoers en Linux puedes definir diferentes tipos de reglas para controlar el acceso a privilegios administrativos. La siguiente tabla muestra algunos ejemplos comunes.

ConfiguraciónEjemplo en sudoersDescripción
Permitir todos los comandosusuario ALL=(ALL:ALL) ALLEl usuario puede ejecutar cualquier comando con sudo.
Permitir sudo a un grupo%admins ALL=(ALL:ALL) ALLTodos los usuarios del grupo admins pueden usar sudo.
Ejecutar como otro usuariousuario ALL=(www-data) ALLEl usuario puede ejecutar comandos como www-data.
Permitir solo un comandousuario ALL=(ALL) /usr/bin/systemctlEl usuario solo puede ejecutar systemctl.
Permitir varios comandosusuario ALL=(ALL) /usr/bin/systemctl, /usr/bin/journalctlEl usuario puede ejecutar varios comandos específicos.
Ejecutar sin contraseñausuario ALL=(ALL) NOPASSWD: ALLEl usuario puede usar sudo sin introducir contraseña.
Sin contraseña para un comandousuario ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginxSolo ese comando se ejecuta sin contraseña.
Limitar a un hostusuario servidor1=(ALL) ALLEl usuario solo puede usar sudo desde servidor1.

Uso del directorio sudoers.d

El directorio:

/etc/sudoers.d/

permite añadir configuraciones separadas.

Ejemplo:

/etc/sudoers.d/devops

Contenido:

devops ALL=(ALL) ALL

Esto facilita administrar permisos en sistemas con muchos usuarios.

Ver privilegios sudo de un usuario

Para ver qué comandos puede ejecutar un usuario con sudo:

sudo -l

Esto muestra las reglas aplicadas desde el archivo sudoers.

Buenas prácticas con el archivo sudoers

Para mantener la seguridad del sistema:

  • Editar siempre con visudo
  • Usar grupos en lugar de usuarios individuales
  • Limitar comandos cuando sea posible
  • Evitar configuraciones amplias con NOPASSWD
  • Revisar periódicamente los privilegios

Una buena gestión del archivo sudoers en Linux es clave para la administración segura del sistema.

El archivo sudoers en Linux permite controlar de forma precisa quién puede ejecutar comandos con privilegios de administrador.

Comprender su sintaxis y funcionamiento es fundamental para gestionar accesos, delegar tareas administrativas y mantener la seguridad del sistema.

Comentarios

No hay comentarios aún. ¿Por qué no comienzas el debate?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *