miércoles, 5 de agosto de 2020

Arreglando el problema del superusuario (root) en Debian 10

¿De verdad era necesario ocultar así el root?


Si estás aquí ya sabes usar Linux. En mayor o menor medida has usado alguna de sus versiones ubuntu, xubunto, debian, etc.. y sabrás de la existencia de una cuenta de superusuario cuyo nombre es root. Estarás acostumbrado a que "este usuario no se usa más que para cosas muy importantes y puntuales" dejándolo relegado a un administrador cuyo login es mejor no usar. Es decir, que no inicias sesión directamente con él. ¿no? Ni de coña: yo personalmente casi siempre inicio sesión con root y me olvido del resto de usuarios. Quizás porque yo lo hago en máquinas virtuales con interés más didáctico que práctico, todo puede ser.


Pero os habréis dado cuenta que en el Debian 10 (si pasaba en los anteriores a mí no me pasó) el root está con el login deshabilitado. Al instalar el sistema debes configurar su password pero luego no hay forma de logearte con él. 

Además existe otro pequeño problema, que es que el usuario que creas no está dentro de grupo sudoers (no está dentro del grupo de administradores, para los que vienen de Windows) por lo que no puede ejecutar instrucciones que requieran de ese perfil (pj: sudo apt install net-tools) ni tampoco puede hacer su "sudo su" para dejarle el perfil sudo activo. Así pues ¿cómo podemos ejercer de root o sudoer?


-Problema de sudo su en Debian 10 solucionado


Escribir en el terminal "su -"->pide clave del root (aunque este esté deshabilitado) y entonces ya pasas a estar como root. 

ES IMPORTANTE EL GUIÓN DESPUÉS DE "SU" PUES SINO NO ES EL ROOT COMPLETO (sería sin el hyphen, tilde o virgulilla). Estarías como root pero sin tener acceso permanente al directorio bash (donde están las instrucciones que sueles ejecutar como root) y no podrías ejecutarlas donde quisieras.


Así luego ya puedes meter el usuario en el grupo sudoers que no estaba antes:

#usermod -aG sudo nombreDeUsuario (y ya le funcionará el #sudo su, porque así lo incluimos en el grupo sudoers)


Y ya que estamos en modo sudo podríamos desbloquear el login del root, ¿no? Se haría con esto:

#usermod -U root (que así desbloquearíamos al usuario root pero NO SIRVE PARA DESBLOQUEAR EL LOGIN DE root)


En rojo las órdenes indicadas y en azul las que se pueden usar para ver los grupos a los que pertenece el usuario sark



Así pues, tras mucho buscar, nos damos cuenta que no es que la cuenta root esté deshabilitada para el login si no que la configuración de la autenticación y passwords es la que lo impide...


-Desbloqueo del login de root en Debian 10


En la carpeta etc/pamd.d existen varios archivos que debemos modificar manualmente. Esto lo podemos hacer con el comando nano o gedit. Son los archivos gdm-autologin y gdm-password. Que deberíamos hacer así:



 #nano etc/pam.d/gdm-autologin o nano gdm-autologin (si ya estamos en la carpeta pam.d) -> y donde pone != root lo dejamos como = root.


Y #nano etc/pam.d/gdm-password->y donde pone != root lo dejamos como = root (lo mismo que en el otro, vaya).



Así aparece.

Así debe quedar




pero ¡ERROR---SI LO HACEMOS ASÍ! porque lo que indicamos es que el login es correcto si el usuario es root. Impidiendo así que entren el resto de usuarios. Probarlo y veréis.


Debemos poner simplemente # al principio de esas dos líneas dejándolas como comentario. Tal y como muestra la imagen siguiente.



De esta forma la línea queda 'comentada', sin efecto, y no requiere ni que sea root ni que no lo sea para que el login sea correcto. 


Y así es como solucionamos el 'problema' de no poder entrar con root directamente en Debian 10.


Fuentes:

https://wiki.debian.org/es/sudo

https://www.comoinstalarlinux.com/que-hacer-despues-de-instalar-debian-10/

https://www.youtube.com/watch?v=L5FM9xnVKEs

No hay comentarios: