¿Qué significa el error 'User is not in the sudoers file'?
Cuando intentas ejecutar un comando precedido por sudo en distribuciones como Ubuntu, Debian o CentOS y tu usuario no posee privilegios administrativos, el sistema devuelve el mensaje: Username is not in the sudoers file. This incident will be reported. Este mecanismo de seguridad de Linux previene que cuentas estándar realicen cambios críticos en el sistema operativo.
Causas principales de este fallo
- La cuenta fue creada sin asignarle el grupo de administración (
sudoowheel). - El archivo de configuración
/etc/sudoersfue alterado o carece de la directiva para el usuario. - Se ha realizado una instalación limpia de Debian o Arch Linux donde el usuario principal no se añade automáticamente a los sudoers.
Método 1: Añadir el usuario al grupo sudo usando la cuenta Root
La solución más rápida y segura consiste en iniciar sesión como superusuario (root) e incluir tu usuario en el grupo correspondiente.
- Abre la terminal y cambia a la cuenta root ejecutando:
su - - Introduce la contraseña del usuario root cuando el sistema lo solicite.
- Si usas Ubuntu, Debian o derivados, añade tu usuario al grupo
sudocon este comando:usermod -aG sudo tu_usuario - Si estás en CentOS, Fedora, RHEL o AlmaLinux, el grupo administrativo suele llamarse
wheel:usermod -aG wheel tu_usuario - Cierra la sesión de root escribiendo
exity reinicia la sesión de tu usuario para aplicar los cambios de grupo.
Método 2: Modificar directamente el archivo /etc/sudoers con visudo
Si prefieres otorgar privilegios específicos sin depender de la membresía en grupos, puedes editar el archivo maestro de sudoers de forma segura.
- Accede como root en la terminal:
su - - Ejecuta el editor seguro de sudoers mediante el comando:
visudo - Desplázate hacia abajo hasta encontrar la sección que dice
# User privilege specificationoroot ALL=(ALL:ALL) ALL. - Justo debajo de esa línea, agrega la siguiente directiva reemplazando
tu_usuariopor tu nombre de usuario real:tu_usuario ALL=(ALL:ALL) ALL - Guarda los cambios y sal del editor (en nano usa
Ctrl + O, luegoEnteryCtrl + X).
Método 3: Acceder mediante el Modo de Recuperación (Recovery Mode)
Si no recuerdas la contraseña del usuario root o tu instalación no tiene root habilitado, puedes obtener una shell privilegiada desde el arranque.
- Reinicia tu ordenador o máquina virtual y mantén presionada la tecla
Shift(oEscen sistemas UEFI) para abrir el menú de GRUB. - Selecciona Opciones avanzadas para Ubuntu/Debian y escoge la entrada que finalice en (recovery mode).
- En el menú de recuperación, selecciona la opción root - Drop to root shell prompt.
- Monta el sistema de archivos con permisos de escritura ejecutando:
mount -o remount,rw / - Añade tu usuario al grupo administrativo:
usermod -aG sudo tu_usuario - Reinicia el equipo normalmente con el comando:
reboot