Introducción
En cualquier sistema Linux, la gestión de usuarios es una tarea fundamental para mantener la seguridad y el orden. El comando useradd permite crear cuentas de usuario de forma rápida y flexible desde la línea de comandos. En este artículo veremos su sintaxis, las opciones más útiles y ejemplos prácticos para que puedas administrar usuarios como un profesional.
Sintaxis básica de useradd
La forma más simple de usar useradd es:
sudo useradd nombre_de_usuario
Este comando crea un usuario con valores predeterminados definidos en /etc/default/useradd y /etc/login.defs. Sin embargo, rara vez nos conformamos con los valores por defecto; por eso es importante conocer las opciones que nos permite personalizar.
Opciones más comunes
- -c “comentario”: Añade una descripción o nombre completo del usuario (campo GECOS).
- -d directorio_home: Especifica el directorio home del usuario (por defecto
/home/usuario). - -s shell: Define el shell de inicio de sesión (ej.
/bin/bash). - -G grupo1,grupo2: Añade el usuario a grupos suplementarios separados por comas.
- -u UID: Asigna un ID de usuario específico (útil para evitar colisiones).
- -m: Crea el directorio home si no existe (por defecto se omite en algunas distribuciones).
- -r: Crea un usuario del sistema (UID bajo, sin directorio home por defecto).
- -e YYYY-MM-DD: Establece la fecha de expiración de la cuenta.
- -f días: Número de días después de la expiración de la contraseña antes de que la cuenta se desactive.
Ejemplos prácticos
1. Crear un usuario estándar con bash y directorio home
sudo useradd -m -s /bin/bash juanp
Este comando crea al usuario juanp, le asigna /bin/bash como shell y crea su directorio home en /home/juanp.
2. Usuario con nombre completo y pertenencia a grupos
sudo useradd -c "María López" -m -s /bin/bash -G sudo,dev marial
Aquí se crea marial con el comentario “María López”, se le da acceso a sudo y al grupo dev para permisos específicos.
3. Usuario del sistema para un servicio
sudo useradd -r -s /usr/sbin/nologin servicio_web
El usuario servicio_web se crea como cuenta del sistema (UID bajo), sin shell de inicio de sesión (/sbin/nologin) y sin directorio home, ideal para ejecutar demonios.
4. Establecer fecha de expiración
sudo useradd -e 2025-12-31 temporal
La cuenta temporal quedará desactivada automáticamente después del 31 de diciembre de 2025.
Buenas prácticas al usar useradd
- Siempre precede el comando con
sudosi no eres root. - Verifica que el UID y GID no entren en conflicto con usuarios existentes revisando
/etc/passwdy/etc/group. - Después de crear el usuario, establece una contraseña con
passwd nombre_usuarioo fuerza su cambio en el primer login usandochage -d 0 nombre_usuario. - Documenta el propósito de cada cuenta en un wiki o archivo de inventario para facilitar auditorías.
- Utiliza grupos específicos para asignar permisos (ej.
devops,dba) en lugar de otorgar privilegios desudoindiscriminadamente.
Conclusión
El comando useradd es una herramienta esencial para cualquier administrador de sistemas Linux. Dominar sus opciones te permite crear cuentas de usuario ajustadas a las necesidades de seguridad y funcionalidad de tu entorno. Practica con los ejemplos mostrados, adapta los parámetros a tu caso y mantén siempre un registro claro de las cuentas que creas.