La gestión de usuarios es fundamental para cualquier administrador de sistemas Linux. Ya sea que se supervise una sola máquina o una red de servidores, mantener el orden entre las cuentas de usuario es vital para el control y la seguridad del sistema. Una gestión adecuada garantiza que el acceso se otorgue únicamente a quienes realmente lo necesitan y solo durante el tiempo necesario. Los privilegios sin restricciones pueden provocar posibles filtraciones de datos confidenciales o recursos críticos. En este artículo, profundizamos en las herramientas esenciales de la línea de comandos que permiten a los administradores crear, modificar y eliminar cuentas de usuario directamente desde la terminal.
Archivos esenciales para la gestión de usuarios en Linux
Linux almacena información crítica sobre usuarios y grupos en archivos de sistema específicos. Estos archivos encapsulan los detalles de la cuenta, los datos de contraseña y los permisos de grupo, sirviendo como base para la gestión de usuarios y el control de acceso.
| Archivo / Directorio | Descripción |
|---|---|
| /etc/passwd | Contiene UID, GID, directorio de inicio y shell predeterminado. Es legible para todos, pero solo puede ser editado por root/sudo. |
| /etc/group | Muestra los nombres de los grupos, los GID y los miembros, información esencial para gestionar la pertenencia a grupos y los permisos. |
| /etc/sudoers | Detalla qué usuarios/grupos pueden ejecutar comandos como administrador. Requiere una edición cuidadosa. |
| /etc/shadow | Almacena hashes de contraseñas e información de caducidad. El acceso está restringido únicamente al usuario root. |
| /etc/gshadow | Contiene detalles de contraseñas de grupo e información de caducidad, accesibles únicamente por el usuario root. |
| /etc/skel | Los archivos como “.bashrc” y “.profile” se copian automáticamente a los directorios de inicio de los nuevos usuarios. |
| /etc/login.defs | Configura los ajustes de caducidad, vencimiento y diversas políticas de seguridad de las contraseñas. |
Cómo ver los usuarios existentes
Una forma sencilla de comprobar los usuarios existentes en un sistema Linux es inspeccionando el archivo “/etc/passwd”, que contiene información esencial sobre las cuentas de usuario. Para ver este archivo, ejecute:
sudo cat /etc/passwd
Cada línea del archivo corresponde a una cuenta de usuario única.

El idcomando proporciona el UID, GID, y todos los grupos a los que pertenece el usuario:
id usernamegroups usernamegetent passwd username
Alternativamente, el groupscomando muestra solo los grupos asociados a un usuario. El getentcomando recupera los detalles de la cuenta de las bases de datos del sistema, incluyendo “/etc/passwd”, LDAP u otras fuentes configuradas.

Uso del comando useradd para crear usuarios
El useraddcomando es una utilidad fundamental disponible en la mayoría de las distribuciones, pero generalmente se considera menos fácil de usar en comparación con adduser. A pesar de sus diferencias, ambos comandos realizan funciones similares.
Para obtener más información sobre el useraddcomando, utilice el mancomando o añada --helpuna breve guía:
man useradd--help

Para crear un nuevo usuario junto con un directorio personal, puede utilizar el siguiente comando:
sudo useradd --create-home
Si omite esta --create-homeopción, la cuenta de usuario no tendrá un directorio personal. Después de crear el usuario, verifique su existencia ejecutando el comando grep:
grep /etc/passwd

Creación de usuarios con el comando adduser
A diferencia de useradd, el addusercomando es un script de Perl que proporciona una experiencia interactiva de creación de usuarios, solicitando contraseña y detalles del directorio de inicio, entre otros. En muchas distribuciones como Red Hat y CentOS, addusersirve como un enlace simbólico a useradd. Sin embargo, en otros sistemas como Arch Linux, un paquete separado puede incluir adduser.
Al ejecutarse, este comando suele generar un grupo con el mismo nombre que el usuario. La configuración predeterminada para los usuarios creados useraddse puede ajustar en el archivo «/etc/default/useradd», donde se pueden predefinir atributos como el intérprete de comandos predeterminado y el directorio de inicio.

Para crear un nuevo usuario, ejecute el siguiente comando:
sudo adduser testuser
Se le pedirá que establezca y confirme una contraseña, proporcione información de usuario adicional y finalice la creación de la cuenta.

Actualización de contraseñas de usuario
Una vez que se ha creado una cuenta de usuario, puede modificar la contraseña del usuario utilizando un passwdcomando como este:
sudo passwd
Al ejecutar este comando, se le pedirá que ingrese y confirme una nueva contraseña. Los usuarios regulares solo pueden cambiar su contraseña si ejecutan el comando sin sudo.

Los requisitos de complejidad de las contraseñas son aplicados por los módulos de autenticación conectables (PAM) y, por lo general, se pueden configurar en el archivo “/etc/pam.d/common-password” en sistemas Ubuntu. Para obtener más información, consulte el manual pam-auth-update.

Utilización del comando usermod para la gestión de usuarios.
Este usermodcomando proporciona un mecanismo para cambiar los atributos de las cuentas de usuario existentes. Esto incluye actualizar los ID de usuario, los nombres de inicio de sesión, los directorios personales o la pertenencia a grupos. Por ejemplo, para modificar el UID de un usuario, utilice:
sudo usermod -u
Los cambios en el UID o GID pueden afectar la propiedad de los archivos y los permisos en todo el sistema.
Para cambiar el directorio principal de un usuario, utilice lo siguiente:
sudo usermod -d
Además, puede bloquear o desbloquear cuentas de usuario con los siguientes comandos:
sudo usermod -L sudo usermod -U
Por último, puede establecer una fecha de vencimiento de la cuenta con la --expiredateopción:
sudo usermod --expiredate
Estos ajustes le permiten administrar el acceso y los atributos de los usuarios de manera efectiva sin necesidad de eliminar la cuenta.
Integración de usuarios en grupos
Los grupos facilitan el uso compartido de permisos entre varios usuarios, lo cual resulta especialmente beneficioso para gestionar archivos, ejecutar servicios o realizar tareas administrativas de forma colectiva.
Para integrar un usuario en un grupo específico, utilice el siguiente usermodcomando con las opciones -ay :-G
sudo usermod -a -G
Este -aindicador es crucial, ya que añade al usuario a los grupos existentes; omitirlo puede conllevar la sobrescritura de las pertenencias a grupos actuales.

Alternativamente, el gpasswdcomando también puede gestionar la pertenencia a grupos:
sudo gpasswd -a username groupname
Para eliminar un usuario de un grupo, ejecute:
sudo gpasswd -d username groupname
Eliminar cuentas de usuario
Cuando una cuenta de usuario ya no sea necesaria, se puede eliminar mediante el userdelcomando:
sudo userdel username

Este comando elimina la cuenta de usuario, pero conserva el directorio personal del usuario. Para una eliminación completa, incluyendo el directorio personal, utilice:
sudo userdel -r username
Tenga en cuenta que userdelno se ejecutará si hay procesos activos en ejecución bajo la cuenta de usuario.
Seguimiento de las actividades de inicio de sesión de los usuarios
La monitorización de las actividades de inicio de sesión es esencial para que los administradores de sistemas identifiquen intentos de acceso no autorizados y resuelvan problemas de autenticación. En los sistemas Ubuntu y Debian, los intentos de inicio de sesión se registran en “/var/log/auth.log”.Para consultar las últimas entradas, utilice:
sudo tail /var/log/auth.log

En los sistemas Red Hat o CentOS, puede encontrar los registros de inicio de sesión en “/var/log/secure”.Además, los sistemas que utilizan systemd pueden ofrecer otro método para ver los registros de autenticación con:
sudo journalctl | grep ssh
Este enfoque proactivo de gestión de cuentas de usuario mantiene su sistema organizado y lo protege contra el acceso no autorizado.
Deja una respuesta