Cómo corregir "El nombre de usuario no está en el archivo sudoers. Este incidente se informará" en Ubuntu


En los sistemas Unix/Linux, la cuenta de usuario root es la cuenta de superusuario y, por lo tanto, puede usarse para hacer cualquier cosa y todo lo que se pueda lograr en el sistema.

Sin embargo, esto puede ser muy peligroso de muchas maneras: una podría ser que el usuario root ingrese un comando incorrecto y rompa todo el sistema o un atacante obtenga acceso a la cuenta de usuario root y tome el control de todo el sistema y quién sabe qué/ella posiblemente pueda hacer.

Con base en estos antecedentes, en Ubuntu y sus derivados, la cuenta de usuario raíz está bloqueada por defecto, los usuarios regulares (administradores del sistema o no) solo pueden obtener privilegios de superusuario usando el comando sudo .

Y una de las peores cosas que le puede pasar a un administrador del sistema Ubuntu es perder privilegios para usar el comando sudo, una situación comúnmente conocida como "sudo roto". Esto puede resultar absolutamente devastador.

Un sudo roto puede ser causado por cualquiera de los siguientes:

  1. Un usuario no debería haber sido eliminado del sudo o del grupo de administración.
  2. El archivo/etc/sudoers se modificó para evitar que los usuarios de sudo o del grupo de administración eleven sus privilegios a los de root usando el comando sudo.
  3. El permiso en el archivo/etc/sudoers no está configurado en 0440.

Para realizar tareas cruciales en su sistema, como ver o alterar archivos importantes del sistema, o actualizar el sistema, necesita el comando sudo para obtener privilegios de superusuario. ¿Qué sucede si se le niega el uso de sudo debido a una o más de las razones que mencionamos anteriormente?

A continuación se muestra una imagen que muestra un caso en el que el usuario del sistema predeterminado no puede ejecutar el comando sudo:

[email protected] ~ $ sudo visudo
[ sudo ] password for aaronkilik:
aaronkilik is not in the sudoers file.   This incident will be reported.

[email protected] ~ $ sudo apt install vim
[ sudo ] password for aaronkilik:
aaronkilik is not in the sudoers file.   This incident will be reported.

Cómo reparar el comando sudo roto en Ubuntu

Si está ejecutando solo Ubuntu en su máquina, después de encenderlo, presione la tecla Shift durante unos segundos para obtener el menú de inicio de Grub. Por otro lado, si está ejecutando un arranque dual (Ubuntu junto con Windows o Mac OS X), entonces debería ver el menú de arranque de Grub por defecto.

Con la flecha hacia abajo , seleccione "Opciones avanzadas para Ubuntu" y presione Entrar.

Estará en la interfaz a continuación, seleccione el kernel con la opción "modo de recuperación" como se muestra a continuación y presione Entrar para avanzar al "menú de recuperación".

A continuación se muestra el "Menú de recuperación", que indica que el sistema de archivos raíz está montado como de solo lectura. Vaya a la línea “root Drop to root shell prompt”, luego presione Enter.

A continuación, presione Entrar para mantenimiento:

En este punto, debería estar en el indicador de shell de root. Como habíamos visto antes, el sistema de archivos está montado como de solo lectura, por lo tanto, para realizar cambios en el sistema que necesitamos volver a montar es como lectura/escritura ejecutando el siguiente comando:

# mount -o rw,remount /

Suponiendo que un usuario ha sido eliminado del grupo sudo, para volver a agregar un usuario al grupo sudo, emita el siguiente comando:

# adduser username sudo

Nota: Recuerde usar el nombre de usuario real en el sistema, en mi caso, es aaronkilik.

O bien, bajo la condición de que un usuario haya sido eliminado del grupo de administración, ejecute el siguiente comando:

# adduser username admin

Suponiendo que el archivo /etc/sudoers se modificó para evitar que los usuarios de sudo o del grupo de administración eleven sus privilegios a los de un superusuario, haga una copia de seguridad de los archivos sudoers de la siguiente manera:

# cp /etc/sudoers /etc/sudoers.orginal

Posteriormente, abra el archivo sudoers.

# visudo

y agregue el contenido a continuación:

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbi$

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

Suponiendo que el permiso en el archivo/etc/sudoers no está configurado en 0440, ejecute el siguiente comando para corregirlo:

# chmod  0440  /etc/sudoers

Por último, pero no menos importante, después de ejecutar todos los comandos necesarios, escriba el comando exit para volver al "Menú de recuperación":

# exit 

Utilice la flecha derecha para seleccionar y presione Enter:

Presione para continuar con la secuencia de inicio normal:

Resumen

Este método debería funcionar bien, especialmente cuando se trata de una cuenta de usuario administrativo involucrada, donde no hay otra opción que usar el modo de recuperación.

Sin embargo, si no funciona para usted, intente comunicarse con nosotros expresando su experiencia a través de la sección de comentarios a continuación. También puede ofrecer sugerencias u otras formas posibles de resolver el problema en cuestión o mejorar esta guía por completo.