Cómo crear un usuario y establecerle permisos de administrador en equipo con sistema operativo Linux CentOS 7 (válido para otras distribuciones y otras versiones de Linux). De esta forma no tendremos que usar el superusuario root y podremos usar el nuevo usuario creado. Explicamos cómo bloquear y desbloquear un usuario y cómo eliminarlo definitivamente en Linux.

El superusuario root en Linux y los nombres de usuario

Como es sabido, por seguridad, no se recomienda usar el superusuario root en un equipo Linux. Al igual que ocurre en equipos Windows, con el usuario administrador, que tampoco debe usarse. En su lugar es conveniente disponer de uno o varios usuarios con privilegios elevados y que no tengan nombres habituales como: usuario, admin, administrator, administrador, root, usuarioroot, usuarioadministrador, userroot, useradministrator, etc…

Por seguridad, crearemos usuarios con nombres no estándar ni que puedan estar en un diccionario, del tipo, por ejemplo: ac_dr_05, nombre que no tiene nada que ver con ninguna palabra que pueda existir en un diccionario ni que se pueda generar a partir de nombres habituales.

En la instalación de muchos sistemas operativos, tanto Linux como Windows, nos suele dar la opción de crear un usuario adicional que sea administrador de equipo, dándonos a elegir el nombre y la contraseña. Pero ¿qué ocurre si no hemos creado uno de estos usuarios administradores o bien si queremos crear alguno más? A continuación lo explicaremos.

Hay distribuciones de Linux que ya vienen, al ser instaladas, con el superusuario root deshabilitado y requieren del uso de su o sudo para la ejecución de tareas de administración.

Crear usuario con permisos de administrador en Linux CentOS 7

Para crear un usuario con los mismos permisos que root en un equipo con Linux CentOS 7 (proceso válido para otras muchas distribuciones de Linux y versiones de CentOS) seguiremos los siguientes pasos.

En primer lugar crearemos el usuario, para ello, desde la línea de comandos (shell), ejecutaremos el siguiente comando Linux:

adduser ac_dr_05

Donde ac_dr_05 será el nombre del usuario. Que como hemos indicado anteriormente es un nombre inventado que no estará en ningún diccionario ni de palabras ni de nombres usados habitualmente, por seguridad.

A continuación estableceremos la contraseña de inicio de sesión para este usuario. Se recomienda usar contraseñas de, al menos, 10 caracteres y que tengan letras minúsculas, letras mayúsculas, números, caracteres especiales y, al igual que para el nombre, que no sean palabras que usemos habitualmente. Por ejemplo, una contraseña fuerte (segura) podría ser: 9mY.r26#Uc. Para establecer la contraseña ejecutaremos el siguiente comando:

passwd ac_dr_05

Siendo ac_dr_05 el nombre del usuario al que le cambiaremos/estableceremos la contraseña. Al introducir este comando nos solicitará una contraseña nueva y nos solicitará que la repitamos:

Crear usuario con permisos de administrador en Linux CentOS 7

Si considera la contraseña introducida fuerte (segura), nos mostrará el mensaje:

passwd: todos los símbolos de autenticación se actualizaron con éxito.

En determinadas versiones y distribuciones de Linux, si introducimos contraseñas débiles, nos lo indicará. Por ejemplo, si introduciremos una contraseña del tipo: «aaaaaaaa», nos mostrará el aviso:

CONTRASEÑA INCORRECTA: La contraseña es un palíndromo

Si introduciremos una contraseña que podría estar en un diccionario, por ejemplo «administrator», nos mostrará este aviso:

CONTRASEÑA INCORRECTA: La contraseña no supera la verificación de diccionario – Está basada en una palabra del diccionario.

Una vez creado el usuario y establecida la contraseña, procederemos a agregarlo al grupo de seguridad wheel. Dicho grupo existirá en el equipo (se crea en la instalación de Linux) y, además, está configurado para que los usuarios que pertenezcan a dicho grupo sean administradores del equipo. Para agregar el usuario creado anteriormente al grupo wheel ejecutaremos el siguiente comando:

usermod -aG wheel ac_dr_05

Vemos que hemos indicado el nombre del grupo primero al comando usermod y a continuación el nombre del usuario al que queramos agregar al grupo.

Para comprobar que el usuario se ha agregado al grupo wheel correctamente podremos ejecutar el comando:

lid -g wheel

Que nos devolverá todos los usuarios que pertenecen al grupo wheel:

Crear usuario con permisos de administrador en Linux CentOS 7

Iniciar sesión con usuario administrador y comprobar que tiene privilegios de sudo

Con los pasos anteriores tendremos el usuario creado y con privilegios suficientes para ejecutar cualquier comando en el sistema. Para comprobarlo iniciaremos sesión con el nuevo usuario creado. Desde la línea de comandos, introduciendo:

su – ac_dr_05

Donde ac_dr_05 será el nombre del usuario con el que iniciemos sesión. Si estábamos con la sesión iniciada del usuario root puede que no nos solicite la contraseña del usuario con el que iniciamos sesión. Lógicamente, si es un arranque de equipo o un inicio de sesión en un equipo que tiene las sesiones cerradas, sí que nos solicitará la contraseña.

Ahora podremos ejecutar comandos, añadiendo sudo delante, como si nuestro usuario fuera superadministrador. Por ejemplo, vamos a crear un fichero en la carpeta del propio root, con el comando:

sudo nano /root/prueba.txt

La primera vez que ejecutemos un sudo en la sesión nos volverá a solicitar la contraseña del usuario, la introduciremos:

Iniciar sesión con usuario administrador y comprobar que tiene privilegios de sudo

Introduciremos cualquier texto en el fichero y lo guardaremos pulsando Control + O y cerraremos con Control + X.

Para comprobar que el fichero se ha creado podemos ejecutar:

sudo cat /root/prueba.txt

Nos mostrará el contenido que hayamos guardado en el fichero.

Además, podemos eliminar el fichero para seguir verificando que el usuario funciona correctamente:

sudo rm /root/prueba.txt

Iniciar sesión con usuario administrador y comprobar que tiene privilegios de sudo

Por supuesto, podremos ejecutar comandos que requieren de privilegios elevados. Por ejemplo, si tenemos una sesión iniciada con el usuario root y desde el nuevo usuario intentamos reiniciar el equipo, con el siguiente comando (sin el sudo delante):

shutdown -r now

Nos mostrará el siguiente mensaje, indicando que no se puede reiniciar el equipo porque hay una sesión iniciada con el usuario root:

Usre root is logged in on sshd.
Please retry operation after closing inhibitors and logging out other users.
Alternatively, ignore inhibitors and users with ‘systemctl reboot -i’.

Iniciar sesión con usuario administrador y comprobar que tiene privilegios de sudo

En cambio, si añadimos «sudo» delante del comando anterior, sí que nos permitirá reiniciar el equipo:

sudo shutdown -r now

Iniciar sesión con usuario administrador y comprobar que tiene privilegios de sudo

Deshabilitar – Bloquear – Desactivar usuario el Linux

Si queremos impedir el inicio de sesión (acceso) de un usuario concreto en Linux, sin llegar a eliminarlo, podemos hacerlo. En primer lugar comprobamos el estado de la contraseña del usuario en cuestión, con el comando:

passwd –status ac_dr_05

Donde ac_dr_05 será el nombre del usuario a comprobar el estado de su contraseña, nos devolverá algo así:

ac_dr_05 PS 2021-04-01 0 99999 7 -1 (Contraseña establecida, cifrado SHA512.)

Ahora vamos a deshabilitarlo, para ello ejecutaremos el comando:

usermod -L ac_dr_05

Ahora, si ejecutamos el comando anterior:

passwd –status ac_dr_05

Nos devolverá esto otro:

ac_dr_05 LK 2021-04-01 0 99999 7 -1 (Contraseña bloqueada.)

Indicando que para ese usuario la contraseña ha sido bloqueada.

Deshabilitar - Bloquear - Desactivar usuario el Linux

Si intentamos iniciar sesión con el usuario bloqueado, nos mostrará el mensaje «Access denied»:

Deshabilitar - Bloquear - Desactivar usuario el Linux

Si queremos volver a habilitar el usuario, ejecutaremos el comando:

passwd -u ac_dr_05

Devolviendo el mensaje:

Desbloqueando la contraseña para el usuario ac_dr_o5.
passwd: Éxito

Ahora ejecutando:

passwd –status ac_dr_05

Volverá a devolvernos el estado habilitado del usuario:

ac_dr_05 PS 2021-04-01 0 99999 7 -1 (Contraseña establecida, cifrado SHA512.)

Deshabilitar - Bloquear - Desactivar usuario el Linux

Y podremos volver a iniciar sesión con este usuario:

Deshabilitar - Bloquear - Desactivar usuario el Linux

Eliminar un usuario definitivamente en Linux

Si queremos eliminar un usuario creado en Linux, e incluso su carpeta personal, podremos ejecutar el siguiente comando:

userdel -r ac_dr_05

Eliminar un usuario definitivamente en Linux

Si ejecutamos el comando anterior mientras el usuario que queremos eliminar tenga una sesión iniciada, puede que nos muestre el aviso:

userdel: user ac_dr_05 is currently used by process 1622

Y el usuario no será eliminado. Habrá que cerrar sesión de este usuario para poder eliminarlo.

Si queremos eliminarlo sin eliminar su carpeta raíz, podemos usar el comando anterior, pero sin el parámetro -r:

userdel ac_dr_05