Este artículo explica cómo "arreglar" que sudo no funcione en Linux, lo que da como resultado este mensaje al intentar usarlo:"Su nombre de usuario no está en el archivo sudoers. Este incidente se informa”. en Debian (y distribuciones de Linux basadas en Debian como Ubuntu). sudo permite a los administradores del sistema ejecutar comandos como raíz (administrador) u otro usuario.
Ejemplo de una instalación nueva de Debian 10 (10.1) Buster con sudo que no funciona:
$ sudo apt update
[sudo] password for logix:
logix is not in the sudoers file. This incident will be reported.
sudo no funciona de forma predeterminada en una instalación nueva de Debian porque su nombre de usuario no se agrega automáticamente al grupo sudo (funciona de forma predeterminada en Ubuntu). Sin embargo, también puede ver esto si creó un nuevo usuario pero olvidó agregarlo al grupo sudo, o si otro usuario en su sistema eliminó el nombre de usuario del grupo sudo.
Puede verificar si el usuario actualmente conectado pertenece al grupo sudo usando el groups
Dominio. Si el groups
El comando no devuelve sudo
En las distribuciones de Linux basadas en Debian, este nombre de usuario no puede ejecutar comandos sudo
. Ejemplo con salida de un usuario de Debian que no está en el grupo sudo:
$ groups
logix cdrom floppy audio dip video pugdev netdev scanner lpadmin
Es posible que le guste esto:Cómo instalar el último Firefox (no ESR) en Debian 10 Buster (estable) o Bullseye (prueba)
La solución a esto es agregar este usuario al grupo sudo. Pero, ¿cómo se obtiene la raíz en este caso, ya que como usuario normal no puede cambiar o agregar usuarios? Usa su -
(o sudo su -
), y luego agregue el usuario al grupo sudo.
Entonces, para obtener la raíz, agregue su usuario a ese sudo
Grupo, use:
su -
usermod -aG sudo YOUR_USERNAME
exit
Dónde:
-
su
cambia al usuario root mientras-
ejecuta un shell de inicio de sesión para que cosas como/etc/profile
,.bashrc
, y así sucesivamente (así es como se ejecutan comandos comousermod
estará en el tuyo$PATH
por lo que no necesita ingresar la ruta completa al ejecutable). También puedes usarsudo su -
En lugar desu -
- Necesitas reemplazar
YOUR_USERNAME
con el nombre de usuario que desea agregar al grupo sudo. - He usado
usermode
para agregar un grupo a un usuario existente, ya que esto debería funcionar en cualquier distribución de Linux.adduser
ouseradd
también se puede usar para (adduser USERNAME -G sudo
), pero es posible que no funcionen en todas las distribuciones de Linux. Aunque este artículo es para Debian, también quería que esto fuera posible en otras distribuciones de Linux (observé queadduser
no funciona en Solus OS, por ejemplo). -
exit
el shell raíz existe para que pueda ejecutar comandos como un usuario normal nuevamente.
Después de eso, sudo sigue sin funcionar. Debe cerrar la sesión de este usuario y luego volver a iniciar sesión y Sudo funcionará.
Esto corrige el “Nombre de usuario no está en el archivo sudoers. Este incidente es un problema "informado" en su máquina Debian, pero puede encontrar otro problema en algunos casos:sudo no está instalado de forma predeterminada. Este es el caso, por ejemplo, con una instalación mínima de Debian. En este caso, verá un error como este cuando intente ejecutar un comando con sudo:
$ sudo apt update
bash: sudo: command not found
En este caso, instale sudo
en Debian así:
su - #or 'sudo su -'
apt install sudo
exit
Algunos artículos más de Debian que te pueden gustar:
- Cómo degradar paquetes a una versión específica usando apt en Debian, Ubuntu o Linux Mint
- Cómo ver un historial de paquetes instalados, actualizados o eliminados en Debian, Ubuntu o Linux Mint [dpkg]
- Cómo listar todos los paquetes en un repositorio en Ubuntu, Debian o Linux Mint [APT]
- Cómo encontrar el paquete que proporciona un archivo (instalado o no) en Ubuntu, Debian o Linux Mint