Introducción
En entornos Linux y Unix-like, la correcta administración de usuarios y grupos resulta fundamental para mantener la seguridad, la organización y el rendimiento del sistema. Este artículo explica en detalle cómo crear, modificar y gestionar cuentas de usuario y grupos mediante la línea de comandos, aportando ejemplos, buenas prácticas y referencias a la documentación oficial.
Fundamentos de usuarios y grupos
¿Qué es un usuario
Un usuario es una identidad que tiene permisos para acceder al sistema. Cada usuario posee un UID (User ID) y atributos como nombre, directorio home, intérprete de comandos y políticas de contraseña.
¿Qué es un grupo
Un grupo agrupa varios usuarios para compartir permisos de archivos y recursos. Cada grupo tiene un GID (Group ID) y un nombre asociado.
Estructura de archivos clave
| Archivo | Descripción |
|---|---|
| /etc/passwd | Información de cuentas de usuario (UID, home, shell). |
| /etc/shadow | Contraseñas cifradas y políticas de expiración. |
| /etc/group | Definición de grupos y sus miembros. |
Comandos básicos
- useradd: Crea un usuario.
- usermod: Modifica atributos de un usuario.
- userdel: Elimina un usuario.
- groupadd: Crea un grupo.
- groupmod: Modifica un grupo.
- groupdel: Elimina un grupo.
- passwd: Cambia la contraseña de un usuario.
- id: Muestra UID, GID y grupos de un usuario.
Creación de usuarios
Para crear usuarios de forma controlada, conviene definir opciones como el directorio home, el shell y el UID. A continuación, un ejemplo típico:
useradd -m -d /home/juan -s /bin/bash -c Usuario Juan Pérez -U juan passwd juan
- -m: Crea el home.
- -d directorio: Especifica el home.
- -s shell: Define el intérprete de comandos.
- -c comentario: Añade descripción.
- -U: Crea un grupo privado con el mismo nombre.
Para más opciones, consultar la manpage de useradd.
Modificación y eliminación de cuentas
Modificar usuario
usermod -l juanp -d /home/juanp -m juan usermod -G sudo,developers juanp
- -l: Cambia el login.
- -G: Lista de grupos suplementarios.
- -m y -d: Mueve el home.
Eliminar usuario
userdel -r juanp
-r borra el directorio home y el mail spool.
Administración de grupos
Crear y borrar grupos
groupadd desarrolladores groupdel desarrolladores
Modificar grupos
groupmod -n devops desarrolladores
Este comando renombra el grupo desarrolladores a devops.
Permisos y contexto de usuario
Los permisos de archivos se asignan según el dueño, el grupo y otros. Para cambiar propietarios y grupos:
chown juanp:devops /var/www/html -R chmod 750 /var/www/html -R
- chown: Cambiar dueño y grupo.
- chmod: Cambiar permisos (ej. 7=rwx, 5=rx, 0=—).
Casos prácticos
Equipo de desarrollo
- Crear grupo compartido:
groupadd proyectos
- Añadir usuarios al grupo:
usermod -aG proyectos ana usermod -aG proyectos luis
- Asignar permisos en directorio:
mkdir /srv/proyectos chown root:proyectos /srv/proyectos chmod 770 /srv/proyectos
Buenas prácticas y recomendaciones
- Utilizar UIDs/GIDs personalizados para evitar colisiones.
- Documentar cada cuenta con el campo comentario.
- No agregar usuarios al grupo sudo sin necesidad real.
- Auditar lastlog y /var/log/auth.log para detectar accesos no autorizados.
- Aplicar políticas de expiración de contraseña con chage.
Referencias
- Formato del archivo /etc/passwd
- Formato del archivo /etc/group
- Guía oficial del Kernel para administradores

Deja una respuesta