Este tutorial explica cómo restaurar los privilegios de sudo a un usuario desde el modo de recuperación en Ubuntu Linux y sus derivados como Linux mint, sistemas operativos Pop OS. Probé esta guía en el sistema Ubuntu 18.04 LTS. Sin embargo, también debería funcionar en otras distribuciones de Linux.
Introducción
El otro día estaba probando cómo añadir un usuario normal al grupo sudo y eliminar los privilegios otorgados para que vuelva a ser un usuario normal en Ubuntu.
Durante la prueba, eliminé mi usuario administrativo de 'sudo'
grupo. Como ya sabe, un usuario debe estar en el grupo sudo para realizar cualquier tarea administrativa. Pero, solo tenía un superusuario y ya saqué sus privilegios de sudo.
Cada vez que ejecuto un comando con el prefijo sudo, encuentro un error:"sk no está en el archivo sudoers. Este incidente se informará ".
No puedo hacer ninguna tarea administrativa. No pude cambiar a usuario root usando el comando 'sudo su'. Como ya sabe, el usuario raíz está deshabilitado de forma predeterminada en Ubuntu, por lo que tampoco puedo iniciar sesión como usuario raíz.
¿Alguna vez has estado en una situación como esta? ¡No hay problema! Hoy, le mostraré cómo corregir los privilegios de sudo rotos para un usuario en un sistema Ubuntu Linux.
Restaurar privilegios de sudo
Para hacerlo, reinicie su sistema y mantenga presionada la MAYÚS clave durante el arranque. Verá el menú de inicio de grub. Elija "Opciones avanzadas para Ubuntu" de la lista del menú de inicio.
En la siguiente pantalla, elige "modo de recuperación" opción y presiona ENTER:
A continuación, elija "Drop to root shell prompt" opción y presione la tecla ENTER:
Ahora estás en modo de recuperación como usuario root.
/
) sistema de archivos en modo lectura/escritura.
mount -o remount,rw /
Paso 3: Ahora, agregue el usuario que eliminó del sudo
grupo.
En mi caso, estoy agregando el usuario llamado 'sk'
al sudo
grupo usando el siguiente comando:
adduser sk sudo
Presione ENTER para continuar con el modo normal de inicio de sesión:
Para hacerlo, escriba el siguiente comando desde la Terminal.
$ sudo -l -U sk
Salida de muestra:
[sudo] password for sk: Matching Defaults entries for sk on ubuntuserver: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin User sk may run the following commands on ubuntuserver: (ALL : ALL) ALL
Como ves en el mensaje anterior, el usuario sk ahora puede ejecutar todos los comandos con el prefijo sudo. ¡Felicidades! Has restaurado con éxito los privilegios de sudo para el usuario.
También hay otras posibilidades para causar sudo roto
Tenga en cuenta que en realidad hice esto a propósito para mostrarle cómo restaurar los privilegios de sudo rotos a un usuario. Me eliminé del sudo
group y arregló los privilegios de sudo rotos como se describe arriba.
No hagas esto si solo tienes un usuario sudo. Y este método solo funcionará en sistemas a los que tenga acceso físico. . Si es servidor remoto o vps, es muy difícil arreglarlo. Es posible que necesite la ayuda de su proveedor de alojamiento.
Además, hay otras dos posibilidades para causar sudo roto.
- Los
/etc/sudoers
el archivo podría haber sido alterado. - Usted o alguien podría haber cambiado el permiso de
/etc/sudoers
archivo.
Reparar sudo roto en Ubuntu
Si ha hecho alguna o todas las cosas mencionadas anteriormente y terminó con sudo roto, pruebe las siguientes soluciones.
Si ha alterado el contenido de /etc/sudoers
archivo, vaya al modo de recuperación como se describe anteriormente.
Haga una copia de seguridad del /etc/sudoers
existente archivo antes de realizar cualquier cambio.
cp /etc/sudoers /etc/sudoers.bak
Luego, abra /etc/sudoers
archivo:
visudo
Realice los cambios en el archivo para que se vea así:
# # 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/sbin:/usr/bin:/sbin:/bin:/snap/bin" # 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
Una vez que haya modificado los contenidos para que se reflejen así, presione CTRL+X
y y
para guardar y cerrar el archivo.
Finalmente, escribe exit
y seleccione Reanudar para iniciar su sistema Ubuntu para salir del modo de recuperación y continuar arrancando como usuario normal.
Ahora, intente ejecutar cualquier comando con el prefijo sudo para verificar si se restauraron los privilegios de sudo.
Solución 2:
Si cambió el permiso de /etc/sudoers
archivo, este método solucionará el problema de sudo roto.
Desde el modo de recuperación, ejecute el siguiente comando para establecer el permiso correcto para /etc/sudoers
archivo:
chmod 0440 /etc/sudoers
Una vez que establezca el permiso adecuado para el archivo, escriba exit
y seleccione Reanudar para iniciar su sistema Ubuntu en modo normal. Finalmente, verifique si puede ejecutar cualquier comando sudo.
Conclusión
En esta guía, hemos analizado qué causa el sudo roto y cómo restaurar los privilegios de sudo a un usuario desde el modo de recuperación en Ubuntu y sus derivados.
Lectura sugerida:
- Cómo cambiar el archivo de registro Sudo predeterminado en Linux
- Cómo encontrar todos los usuarios de Sudo en su sistema Linux
- Cómo ejecutar comandos particulares sin contraseña Sudo en Linux