Domina los comandos useradd, passwd y group en Linux paso a paso
Introducción
En este post vamos a desglosar tres comandos esenciales para la gestión de usuarios y grupos en cualquier distribución de Linux: useradd, passwd y group. Te explicaré qué hace cada uno, su sintaxis básica, las opciones más utilizadas y, por supuesto, ejemplos prácticos que podés copiar y pegar en la terminal. Al final incluiremos una sección con los errores más comunes y buenas prácticas para que no te trabes al administrar tu servidor.
1. useradd
¿Qué hace?
useradd crea una nueva cuenta de usuario en el sistema. No asigna una contraseña ni configura su directorio home de forma automática (salvo que le indiques lo contrario).
Sintaxis básica
useradd [opciones] nombre_usuario
Opciones/flags más usadas
| Opción | Descripción |
|---|---|
-m |
Crea el directorio home del usuario (/home/nombre_usuario). |
-d /ruta |
Define una ruta personalizada para el home. |
-s /bin/bash |
Especifica el shell por defecto (bash, zsh, etc.). |
-G grupo1,grupo2 |
Añade al usuario a grupos suplementarios. |
-c "Comentario" |
Comentario o nombre completo del usuario. |
-u UID |
UID explícito (útil para usuarios de servicios). |
Ejemplos prácticos
# Crear al usuario "juan" con su home y shell bash
sudo useradd -m -s /bin/bash juan
# Crear "maria" y asignarle a los grupos "docker" y "www-data"
sudo useradd -m -G docker,www-data -c "Maria Pérez" maria
# Crear un usuario del sistema sin login (por ejemplo, para un daemon)
sudo useradd -r -s /usr/sbin/nologin backup
2. passwd
¿Qué hace?
passwd permite establecer o cambiar la contraseña de un usuario. También sirve para bloquear o desbloquear cuentas.
Sintaxis básica
passwd [opciones] [nombre_usuario]
Opciones/flags más usadas
| Opción | Descripción |
|---|---|
-l |
Bloquea la cuenta (añade ! al password hash). |
-u |
Desbloquea la cuenta. |
-d |
Elimina la contraseña (permite login sin password). |
-e |
Fuerza el cambio de contraseña al próximo login. |
Ejemplos prácticos
# Asignar una nueva contraseña a "juan"
sudo passwd juan
# Bloquear la cuenta de "maria"
sudo passwd -l maria
# Forzar a "backup" a cambiar su contraseña al iniciar sesión
sudo passwd -e backup
3. group
¿Qué hace?
El comando group maneja grupos del sistema. Se utiliza principalmente para crear, modificar y eliminar grupos.
Sub‑comandos más comunes
| Sub‑comando | Descripción |
|---|---|
addgroup nombre |
Crea un nuevo grupo. |
delgroup nombre |
Elimina un grupo existente. |
modgroup -n nuevo_nombre nombre |
Cambia el nombre de un grupo. |
gpasswd -a usuario grupo |
Añade usuario al grupo. |
gpasswd -d usuario grupo |
Quita usuario del grupo. |
Ejemplos prácticos
# Crear el grupo "desarrolladores"
sudo groupadd desarrolladores
# Añadir a "juan" al grupo "desarrolladores"
sudo gpasswd -a juan desarrolladores
# Quitar a "maria" del grupo "docker"
sudo gpasswd -d maria docker
# Renombrar el grupo "www-data" a "web"
sudo groupmod -n web www-data
4. Errores comunes y buenas prácticas
| Error frecuente | Por qué ocurre | Buenas prácticas |
|---|---|---|
Olvidar el flag -m al crear usuarios |
El usuario no tiene directorio home y al intentar iniciar sesión falla. | Siempre usar -m salvo que el home sea gestionado manualmente. |
| No asignar una contraseña después de crear el usuario | El usuario queda sin acceso y puede generar confusión. | Ejecutar passwd nombre_usuario inmediatamente después de useradd. |
Añadir usuarios a grupos con usermod -G sin la opción -a |
Reemplaza los grupos existentes, dejando al usuario sin pertenencias previas. | Usar usermod -a -G grupo1,grupo2 usuario o gpasswd -a. |
| Usar UID/GID fijos sin control | Puede generar conflictos con usuarios del sistema. | Reservar rangos de UID/GID: <1000 para sistema, >1000 para usuarios normales. |
| No validar la política de contraseñas | Contraseñas débiles comprometen la seguridad. | Configurar PAM (/etc/pam.d/common-password) y usar passwd -e para forzar cambios periódicos. |
Checklist rápido antes de cerrar la sesión
- Verificar que el usuario tenga home (
/etc/passwd). - Confirmar que la contraseña esté seteada y que no esté bloqueada.
- Chequear la pertenencia a grupos con
id nombre_usuario. - Revisar que los UID/GID no colisionen con otros usuarios.
Con estos pasos y los ejemplos anteriores, ya podés administrar usuarios y grupos en Linux de forma segura y eficiente. ¡A practicar y no temer a la línea de comandos!
DUGLAS MORENO
Comentarios (0)
Sé el primero en comentar.