Cómo crear y administrar usuarios en Linux
Introducción: ¿Por qué es importante saber administrar usuarios en Linux?
Si estás empezando en el mundo de los servidores o simplemente quieres tener tu propio VPS bajo control, saber crear usuario linux y administrarlos es una habilidad fundamental. Piensa en Linux como un edificio de oficinas: el usuario root es el dueño del edificio, tiene llaves de todas las puertas, pero es un peligro que todo el mundo use su llave maestra a diario. Lo correcto es darle a cada persona su propia llave (su usuario) con acceso solo a las zonas que necesita.
En este artículo, te voy a guiar paso a paso para que aprendas a administrar usuarios en Linux como un profesional. Vamos a usar comandos esenciales como useradd, usermod y también hablaremos de los grupos linux, que son la clave para organizar permisos de forma eficiente. No necesitas ser un experto, solo tener acceso a una terminal y muchas ganas de aprender.
Requisitos previos: Qué necesitas antes de empezar
Para seguir esta guía, necesitas:
- Un sistema Linux (Ubuntu, Debian, CentOS, etc.) con acceso por terminal.
- Tener privilegios de superusuario (
sudoo estar logueado comoroot). - Una conexión segura por SSH si estás trabajando en un servidor remoto.
[WARNING] Nunca trabajes como usuario
rootpara tareas cotidianas. Es como conducir un coche de carreras por la ciudad: rápido, pero muy peligroso si cometes un error. Usa tu usuario normal ysudocuando sea necesario.
Paso 1: Crear un usuario básico con useradd
El comando principal para crear usuario linux es useradd. Es la herramienta de bajo nivel que el sistema usa para añadir un nuevo usuario. Aunque adduser (que veremos después) es más amigable, es crucial entender useradd porque te da control total.
Sintaxis básica
La forma más simple de crear un usuario es:
sudo useradd nombre_usuario
Esto creará el usuario, pero sin directorio personal y sin contraseña. Para que sea funcional, casi siempre usaremos opciones adicionales.
Opciones esenciales de useradd
-m: Crea el directorio home del usuario (ej:/home/nombre_usuario).-s: Especifica el shell de inicio de sesión (ej:/bin/bash).-G: Añade el usuario a grupos suplementarios (ej:sudo,www-data).-c: Añade un comentario o descripción (ej: "Usuario para la web de ventas").
Ejemplo práctico
Vamos a crear un usuario llamado juan con su directorio personal, shell bash y que pertenezca al grupo sudo para que pueda administrar el sistema:
sudo useradd -m -s /bin/bash -G sudo -c "Juan Pérez - Administrador" juan
[TIP] Después de crear el usuario, siempre debes asignarle una contraseña con
sudo passwd juan. Si no, el usuario no podrá iniciar sesión.
Paso 2: El comando adduser (la versión amigable)
Si useradd te parece un poco frío y robótico, no te preocupes. En distribuciones basadas en Debian (como Ubuntu), existe adduser, que es un script que hace todo el trabajo pesado por ti de forma interactiva.
Cómo usarlo
Simplemente ejecuta:
sudo adduser maria
El sistema te hará preguntas:
- Te pedirá la contraseña dos veces.
- Te preguntará información opcional (nombre completo, teléfono, etc.). Puedes dejarlo en blanco pulsando Enter.
Automáticamente, adduser:
- Crea el directorio home.
- Copia los archivos de configuración base desde
/etc/skel. - Crea un grupo con el mismo nombre del usuario.
- Establece el shell por defecto.
[INFO]
adduseres ideal para principiantes porque es muy difícil equivocarse. Sin embargo, en sistemas Red Hat (CentOS, Fedora),adduseres un enlace simbólico auseradd, así que no tendrás la misma experiencia interactiva.
Paso 3: Establecer o cambiar la contraseña
Una vez creado el usuario, necesitas asignarle una contraseña. El comando es simple:
sudo passwd maria
El sistema te pedirá que escribas la nueva contraseña y la confirmes. Recuerda que Linux no muestra caracteres al escribir la contraseña, es normal.
Forzar cambio de contraseña en el primer inicio
Si quieres que el usuario cambie la contraseña la primera vez que inicie sesión, usa:
sudo passwd -e maria
Esto marcará la contraseña como "expirada" y el sistema le pedirá cambiarla al entrar.
[WARNING] Usa contraseñas fuertes. Una combinación de letras mayúsculas, minúsculas, números y símbolos es lo mínimo recomendado. No uses fechas de nacimiento ni nombres de mascotas.
Paso 4: Administrar usuarios con usermod
El comando usermod es la navaja suiza para administrar usuarios. Te permite modificar casi cualquier atributo de una cuenta existente sin tener que borrarla y crearla de nuevo.
Cambiar el shell del usuario
sudo usermod -s /bin/zsh maria
Esto cambia el shell de bash a zsh. Muy útil si quieres darle más potencia a la terminal de un usuario.
Bloquear o desbloquear una cuenta
- Bloquear (impedir que inicie sesión):
sudo usermod -L maria - Desbloquear:
sudo usermod -U maria
Cambiar el directorio home
sudo usermod -d /nuevo/home/maria -m maria
La opción -m mueve el contenido del directorio antiguo al nuevo.
Añadir un usuario a un grupo
sudo usermod -aG docker maria
[TIP] La opción
-a(append) es CRÍTICA. Si la olvidas,-Greemplazará todos los grupos actuales del usuario por los que especifiques, lo que puede dejarlo sin permisos importantes. Siempre usa-aGpara añadir.
Cambiar la fecha de expiración de la cuenta
sudo usermod -e 2025-12-31 maria
Esto es útil para cuentas temporales (becarios, contratistas).
Paso 5: Grupos linux: La clave para organizar permisos
Los grupos linux son contenedores lógicos que agrupan usuarios con permisos comunes. En lugar de dar permisos a cada usuario individualmente, los das al grupo y todos sus miembros los heredan.
Tipos de grupos
- Grupo primario: Cada usuario tiene uno. Normalmente tiene el mismo nombre que el usuario. Los archivos que crea el usuario pertenecen a este grupo.
- Grupos secundarios o suplementarios: Son grupos adicionales a los que el usuario puede pertenecer. Ej:
sudo,www-data,docker.
Ver los grupos de un usuario
groups maria
O para ver información más detallada:
id maria
Crear un nuevo grupo
sudo groupadd desarrolladores
Añadir un usuario a un grupo
Ya lo vimos con usermod:
sudo usermod -aG desarrolladores maria
Eliminar un usuario de un grupo
sudo gpasswd -d maria desarrolladores
Ver todos los grupos del sistema
cat /etc/group
[INFO] Los grupos más comunes en Linux son:
sudoowheel: Usuarios con permisos de administración.www-data: Usuarios que sirven archivos web (Apache/Nginx).ssh: Usuarios permitidos para acceder por SSH (en algunos sistemas).docker: Usuarios que pueden ejecutar contenedores Docker.
Paso 6: Eliminar usuarios de forma segura
Llega un momento en que un usuario ya no necesita acceso. Eliminarlo es sencillo, pero hay que hacerlo con cuidado.
Eliminar un usuario conservando su directorio home
sudo userdel maria
Eliminar un usuario y su directorio home
sudo userdel -r maria
[WARNING] La opción
-res destructiva. Borra todo el contenido del directorio home del usuario. Asegúrate de hacer una copia de seguridad si hay datos importantes.
Eliminar un grupo
sudo groupdel desarrolladores
Paso 7: Buenas prácticas para administrar usuarios en producción
Si estás administrando un servidor real (no un equipo personal), sigue estas reglas de oro:
- Nunca uses
rootpara tareas diarias. Crea un usuario consudoy trabaja con él. - Usa grupos por función, no por persona. Ej:
desarrolladores,operaciones,auditores. - Revisa periódicamente los usuarios del sistema con
cat /etc/passwdpara detectar cuentas inactivas. - Desactiva cuentas que no se usan en lugar de borrarlas inmediatamente. Así puedes recuperar datos si es necesario.
- Documenta quién es cada usuario usando el campo comentario (
-c). Te ahorrará dolores de cabeza cuando tengas 50 usuarios.
[TIP] Si administras un panel de control como Syspanel (antes HestiaCP), recuerda que su puerto de acceso es el 2106. Este panel te facilita la gestión de usuarios desde una interfaz web, pero los comandos que has aprendido aquí te dan un control mucho más fino y profundo.
Preguntas frecuentes (FAQ)
¿Cuál es la diferencia entre useradd y adduser?
useradd es el comando binario de bajo nivel que existe en todas las distribuciones. adduser es un script (en Debian/Ubuntu) que usa useradd internamente pero añade una interfaz interactiva y crea automáticamente el home y el grupo.
¿Cómo puedo ver todos los usuarios del sistema?
Ejecuta:
cat /etc/passwd
Cada línea representa un usuario. El formato es: usuario:x:UID:GID:descripcion:home:shell.
¿Qué hago si olvidé la contraseña de un usuario?
Si tienes acceso sudo, puedes resetearla con:
sudo passwd nombre_usuario
¿Cómo puedo permitir que un usuario ejecute comandos con sudo?
Añádelo al grupo sudo (en Debian/Ubuntu) o wheel (en CentOS/RHEL):
sudo usermod -aG sudo nombre_usuario
¿Es seguro compartir el usuario root?
Nunca. Compartir root es la peor práctica de seguridad. Cada administrador debe tener su propio usuario con sudo. Así puedes auditar quién hizo qué.
¿Qué es el UID y para qué sirve?
UID es el "User Identifier". Es un número único que Linux usa internamente para identificar al usuario. El UID 0 es root. Los UIDs del 1000 en adelante son para usuarios normales. Puedes verlos con id nombre_usuario.
Conclusión y siguientes pasos
Dominar la administración de usuarios en Linux es como aprender a conducir: al principio parece complicado, pero una vez que lo haces unas cuantas veces, se vuelve automático. Hemos cubierto:
- Crear usuario linux con
useraddyadduser. - Administrar usuarios con
usermod. - La importancia de los grupos linux para organizar permisos.
- Cómo eliminar usuarios de forma segura.
Tu tarea para practicar
- Crea un usuario llamado
practicacon su home y shell bash. - Añádelo al grupo
www-data. - Cambia su fecha de expiración a dentro de 30 días.
- Intenta iniciar sesión con ese usuario y verifica que funciona.
- Elimina el usuario
practicacon su home.
[INFO] Si usas Syspanel con puerto 2106, puedes hacer muchas de estas tareas desde su interfaz web, pero te recomiendo que practiques los comandos en la terminal. Es la única forma de entender realmente cómo funciona tu servidor.
La administración de usuarios es la base de la seguridad en Linux. Tómate tu tiempo, experimenta en una máquina virtual y pronto te sentirás como en casa. ¡Nos vemos en el próximo artículo!
