Desde sus orígenes, los sistemas GNU/Linux disponen
de una cuenta especial con permisos y privilegios globales sobre el sistema. Es la cuenta root.
Es fácil comprender el peligro que supone trabajar de
forma habitual con un usuario tan poderoso. Lo ideal sería recurrir a él sólo en los momentos en los que resulte imprescindible, pero siempre han existido usuarios que se olvidaban de volver a su cuenta habitual después de realizar tareas administrativas.
Por ese motivo, y con el fin de salvarnos de nosotros
mismos, Ubuntu realiza un tratamiento algo particular de la cuenta root. Sencillamente, la mantiene deshabilitada de forma predeterminada, mientra convierte a nuestro usuario habitual en un miembro del grupo administradores. De esta forma, podremos realizar tareas particulares de administración con la cuenta que usamos para trabajar a diario, pero, cada vez que concluya una tarea administrativa, la cuenta volverá a comportarse, automáticamente, como una cuenta normal.
¿Cómo se consigue que una cuenta del grupo
administradores haga una tarea administrativa? La respuesta es muy sencilla: Si nos encontramos en la interfaz gráfica, al tratar de ejecutar una tarea administrativa, aparecerá una ventana que nos solicita la contraseña (la propia de la cuenta de usuario). Y si nos encontramos en la línea de comandos, sólo tenemos que anteponer la palabra sudo a la orden que pretendamos ejecutar con privilegios administrativos. Si, a pesar de todo esto, sigues queriendo trabajar con la cuenta root en tu Ubuntu 18.04 LTS, podrás habilitarla siguiendo las indicaciones que te hacemos en el resto de este artículo.
Para volver a la consola gráfica sólo tenemos que usar la
combinación de teclas Alt + Ctrl + F2 .
Comprobar que no podemos iniciar
sesión con root La forma más sencilla de comprobar que no es posible acceder al sistema usando la cuenta root es cambiándonos a una consola de texto (por ejemplo, pulsando la combinación de teclas Alt + Ctrl + F3 ) e intentar identificarnos como root. El resultado será un mensaje de identificación incorrecta.
Habilitar el usuario root para acceder
desde la terminal Si, a pesar de lo comentado al principio, sigues decidido en activar la cuenta root para poder iniciar sesión con ella, el truco es muy sencillo: sólo tenemos que asignarle una contraseña.
Para lograrlo, basta con abrir una ventana
de Terminal en la interfaz gráfica y escribir el siguiente comando:
sudo passwd root
Puedes abrir la ventana de terminal usando la
combinación de teclas Alt + Control + T . Tras escribir la contraseña de administración, el sistema nos pide la nueva contraseña para root.
Como de costumbre, la contraseña se solicita por
duplicado para evitar que se produzcan errores tipográficos.
Si ahora volvemos a intentar el inicio de sesión, la
situación será totalmente diferente: El sistema inicia la sesión y muestra un mensaje de bienvenida.
Una diferencia sutil, pero fundamental, a la hora de
distinguir cuándo hemos iniciado sesión con un usuario normal y cuándo lo hemos hecho con el usuario root es fijarnos en el prompt (el texto que aparece delante del cursos cuando el sistema está esperando una orden): Si estamos usando una cuenta de usuario normal, el último carácter del prompt será un signo dólar ($), si estamos usando la cuenta de root, ese carácter será una almohadilla (#). Además, la primera palabra es el nombre del usuario.
Habilitar el usuario root para acceder
desde la interfaz gráfica El gestor de sesiones es quien se encarga de presentarnos la pantalla de autenticación del sistema operativo Después de poner en práctica el apartado anterior, podemos pensar que bastará con reiniciar el equipo para autenticarnos, con la cuenta root, en la interfaz gráfica de Ubuntu 18.04 LTS, Sin embargo, si lo intentas recibirás un error.
Esto es por el modo en el que funciona GDM, que es el
gestor de sesiones que utiliza Ubuntu de forma predeterminada.
GDM viene preconfigurado para no permitir el inicio de
sesión con la cuenta root. Sin embargo, podemos modificar su comportamiento con unos sencillos cambios…
Para comenzar, editaremos su archivo de configuración
con una orden como esta:
sudo gedit /etc/gdm3/custom.conf
Como en el resto del capítulo, usamos gEdit con privilegios de
administrador. Esto nos abrirá una nueva ventana con el procesador de textos.
Y en su área de trabajo aparecerá el contenido del archivo.
En él, debemos localizar la categoría [security] que,
como ves en la imagen anterior, aún no tiene contenido. Bajo el epígrafe de la categoría, debemos incluir el siguiente texto:
AllowRoot=true
El resultado será como el de la siguiente imagen.
Cuando hayamos terminado, podemos cerrar la ventana del
editor, pero asegurándonos de guardar los cambios. A continuación realizaremos otro pequeño cambio en el archivo gdm-password. Para editarlo, comenzaremos escribiendo algo como esto:
sudo gedit /etc/pam.d/gdm-password
Como antes, esribimos el comando y pulsamos la tecla Intro .
Cuando aparezca la ventana de gEdit con el contenido del archivo, localizamos una línea como esta:
auth required pam_succeed_if.so user != root quiet_success
Debe encontrarse al principio del archivo..
A continuación, le añadimos delante un carácter
almohadilla (#). De esta forma la convertimos en un comentario, haciendo que su contenido no tenga efecto.
# auth required pam_succeed_if.so user != root quiet_success
Como antes, cuando hayamos terminado, guardamos los
cambios y cerramos la ventana. Y para terminar, debemos realizar un último ajuste en el archivo .profile. Por lo que comenzaremos por abrirlo:
sudo gedit /root/.profile
Volvemos a escribir el comando y pulsar la tecla Intro .
Cuando lo tengamos en pantalla, localizamos una línea
con el siguiente contenido: mesg n || true
Probablemente será la última línea del archivo
Y lo sustituimos por esto:
if `tty -s`; then
mesg n
fi
De nuevo, cuando hayamos terminado, guardamos los cambios y
cerramos la ventana. Iniciar sesión con el usuario root en la interfaz gráfica La próxima vez que inicies tu ordenador, comprobarás que el usuario root sigue sin aparecer en la pantalla de autenticación. Sin embargo, para iniciar sesión, ahora solo tendremos que hacer clic sobre el enlace ¿No está en la lista?. Hacemos clic sobre el enlace. Al hacerlo, el sistema nos solicita el nombre de la cuenta de usuario que queremos usar.
Como es lógico, escribimos root y pulsamos la tecla Intro (o
hacemos clic sobre el botón Siguiente)
A continuación, deberemos escribir la contraseña que
asignamos en el primer apartado de este artículo Y volvemos a pulsar la tecla Intro (o hacemos clic sobre el botón Acceder)
Como ocurre siempre que iniciamos sesión por primera
vez con una cuenta de usuario, el sistema nos ofrece una pantalla de bienvenida con cuatro etapas. En ella nos ofrece información sobre diferentes aspectos del sistema.
Podemos avanzar usando el botón Siguiente. Al final, el texto
del botón cambiará por Hecho y, al pulsarlo, se cerrará la ventana. Y para comprobar que hemos iniciado sesión con el usuario correcto, basta con desplegar el menú del sistema. Comprobamos que la cuenta de usuario con la que hemos iniciado sesión es root. Volver a deshabilitar la cuenta de usuario root Como puedes suponer, no se recomienda que utilices la cuenta root de forma continuada.
Si la has activado por un corto periodo de tiempo, para
realizar tareas de administración, es muy aconsejable volverla a desactivar en cuanto sea posible.
Para conseguirlo, podrías deshacer todos los cambios
realizados más arriba. Sin embargo, puede bastar con abrir la consola desde la cuenta de usuario predeterminado y ejecutar la siguiente orden:
sudo passwd -l root
La próxima vez que trates de iniciar sesión con el
usuario root recibirás un error como el de la imagen.
Lo que hemos hecho es bloquear la
cuenta root deshabilitando su contraseña. En realidad, el cambio consiste en cambiar el valor de la contraseña por otro que no coincida con ningún posible valor cifrado. En concreto, se añade un carácter ‘!’ al principio de la contraseña.
De cualquier modo, la cuenta root no ha quedado
deshabilitada. De hecho, si estuviesen activos otros métodos de autenticación, como una clave SSH, sería posible seguir iniciando sesión.
Otra alternativa es utilizar el comando usermod con una
sintaxis como esta:
sudo usermod --lock --expiredate 1970-01-02 root
Con esto, establecemos la fecha de caducidad de la
cuenta root el 2 de enero de 1970.
Y hasta aquí el artículo de hoy. Espero que te resulte