🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo crear y gestionar usuarios en Linux

Actualizado el 23 de enero de 2026

¿Qué es un usuario en Linux y por qué aprender a gestionarlos?

Cuando empiezas a trabajar con un servidor Linux, una de las primeras cosas que notarás es que no eres "la única persona en la casa". Linux es un sistema operativo multiusuario por naturaleza. Esto significa que varias personas (o aplicaciones) pueden conectarse al mismo equipo al mismo tiempo, cada una con su propio espacio, sus propios archivos y sus propios permisos.

Piensa en un usuario de Linux como una llave de un edificio. Cada llave abre ciertas puertas y no otras. Si aprendes a crear usuario linux, a modificarlo y a eliminarlo correctamente, estarás construyendo un sistema seguro y ordenado. No importa si tienes un VPS para tu web, un servidor de correo o un proyecto personal: saber gestionar usuarios es una habilidad fundamental.

En esta guía, cubriremos desde los comandos básicos (useradd, usermod) hasta trucos avanzados para dar permisos especiales. Todo explicado de forma sencilla, paso a paso y sin tecnicismos innecesarios.


Requisitos previos para empezar

Antes de lanzarnos a escribir comandos, necesitas dos cosas:

  1. Acceso al servidor por SSH. Normalmente usarás una terminal (PuTTY en Windows, Terminal en Mac o Linux).
  2. Permisos de superusuario (root o sudo). Crear o modificar usuarios requiere privilegios de administrador. Si tu usuario actual tiene acceso a sudo, perfecto. Si no, necesitarás pedir ayuda a tu proveedor de hosting.

[INFO] Si tu servidor usa un panel de control tipo Syspanel (antes conocido como HestiaCP), recuerda que el acceso administrativo a ese panel se realiza por el puerto 2106 (por ejemplo, https://tu-dominio.com:2106). Pero los comandos de esta guía se ejecutan directamente en la terminal del sistema, no en el panel.


Comando useradd: la base para crear usuario linux

El comando más directo para crear usuario linux es useradd. Sin embargo, hay que tener cuidado: por defecto, useradd es bastante "básico" y no crea el directorio personal del usuario ni le asigna una contraseña. Vamos a ver cómo usarlo correctamente.

Sintaxis básica de useradd

La forma más simple de crear un usuario es:

sudo useradd nombre_usuario

Pero esto solo crea la entrada en el sistema. No tendrás carpeta en /home, ni contraseña. Por eso, lo recomendable es usar opciones:

sudo useradd -m -s /bin/bash nombre_usuario

Desglose de opciones:

  • -m: Crea el directorio /home/nombre_usuario automáticamente.
  • -s /bin/bash: Asigna la shell de inicio de sesión (para que pueda usar comandos normales).

Crear usuario linux con contraseña

Después de crear el usuario con useradd, debes asignarle una contraseña. Se hace con el comando passwd:

sudo passwd nombre_usuario

El sistema te pedirá que escribas la contraseña dos veces. Verás que no se muestra nada al escribir (ni asteriscos), es completamente normal.

[TIP] Siempre usa contraseñas largas y únicas. Evita fechas de nacimiento o palabras del diccionario.

Ejemplo completo para crear un usuario

Vamos a crear un usuario llamado juan con su carpeta personal y shell bash:

sudo useradd -m -s /bin/bash juan
sudo passwd juan

Resultado: El usuario juan ya puede iniciar sesión por SSH o en consola local.


Opciones avanzadas de useradd que debes conocer

Cuando ya sabes lo básico, puedes personalizar mucho más. Aquí tienes las opciones más útiles:

  • -c "Comentario": Agrega una descripción (por ejemplo, nombre completo).
  • -d /ruta/carpeta: Especifica un directorio personal distinto al estándar.
  • -e YYYY-MM-DD: Fijar fecha de expiración de la cuenta (útil para temporales).
  • -G grupo1,grupo2: Agregar el usuario a varios grupos secundarios al mismo tiempo.
  • -u 1500: Asignar un UID (identificador de usuario) específico.

Ejemplo con varias opciones:

sudo useradd -m -s /bin/bash -c "Juan Pérez - Ventas" -G www-data,developers -e 2025-12-31 juan

Este comando crea al usuario juan, con su carpeta, shell, comentario, pertenencia a dos grupos adicionales y una fecha de caducidad.


El comando usermod: la navaja suiza para gestionar usuarios

Una vez el usuario existe, la gestión diaria se hace con usermod. Este comando permite modificar casi cualquier atributo de una cuenta sin necesidad de borrarla y crearla de nuevo.

Cambiar el grupo principal de un usuario

Cada usuario tiene un grupo principal (normalmente con su mismo nombre). Para cambiarlo:

sudo usermod -g grupo_nuevo nombre_usuario

Agregar un usuario a grupos secundarios

Imagina que quieres que juan tenga acceso a www-data (grupo del servidor web) y a docker. La opción -aG es la más segura porque añade sin quitar los grupos actuales:

sudo usermod -aG www-data,docker juan

[WARNING] No uses -G sin -a (es decir, usermod -G grupo juan), porque esto reemplazará todos los grupos secundarios y el usuario podría perder accesos importantes.

Bloquear o desbloquear una cuenta

Si un empleado se va o un usuario queda inactivo, puedes bloquear su acceso sin borrarlo:

sudo usermod -L nombre_usuario

Para desbloquear:

sudo usermod -U nombre_usuario

Cambiar la fecha de expiración

Para cuentas temporales o de prácticas:

sudo usermod -e 2025-06-30 nombre_usuario

Cambiar el shell o el directorio personal

sudo usermod -s /usr/sbin/nologin nombre_usuario

El shell nologin impide que el usuario inicie sesión interactiva, pero la cuenta sigue existiendo (útil para cuentas de servicio).


Listar y consultar información de usuarios

Para gestionar usuarios necesitas saber qué tienes. Estos comandos te ayudarán:

  • Ver todos los usuarios del sistema: cat /etc/passwd
  • Ver la información de un usuario concreto: id nombre_usuario
  • Ver la fecha de cambio de contraseña: chage -l nombre_usuario
  • Ver quién está conectado ahora mismo: who o w

Ejemplo de salida de id juan:

uid=1001(juan) gid=1001(juan) groups=1001(juan),33(www-data),999(docker)

Aquí ves el UID, el grupo principal y los grupos secundarios. Muy útil para depurar permisos.


Eliminar usuarios de forma segura

Llega un momento en que hay que borrar cuentas. El comando es userdel, pero cuidado:

sudo userdel nombre_usuario

Esto elimina la cuenta, pero no borra su carpeta personal. Si quieres eliminar también su /home y su bandeja de correo:

sudo userdel -r nombre_usuario

[WARNING] El flag -r es destructivo. No hay papelera. Si no estás seguro, haz una copia de seguridad antes.

Para forzar la eliminación de un usuario que tiene procesos en ejecución, usa -f (último recurso).


Crear y gestionar grupos

Los grupos son contenedores de permisos. Te permiten dar acceso a carpetas o comandos a varios usuarios a la vez.

Comandos básicos de grupos

  • Crear grupo: sudo groupadd nombre_grupo
  • Añadir usuario a grupo: sudo usermod -aG nombre_grupo usuario
  • Ver grupos de un usuario: groups nombre_usuario
  • Eliminar grupo: sudo groupdel nombre_grupo

Ejemplo práctico: grupo para desarrolladores

sudo groupadd developers
sudo usermod -aG developers juan
sudo usermod -aG developers maria

Ahora puedes dar permisos de una carpeta al grupo developers y ambos tendrán acceso.


Solución de problemas comunes al gestionar usuarios

Error al crear usuario: "useradd: cannot lock /etc/passwd"

Esto suele pasar por falta de permisos o por un archivo bloqueado. Prueba:

sudo ls -l /etc/passwd

Si el archivo tiene permisos raros, repara con:

sudo chattr -i /etc/passwd

Luego vuelve a intentar.

El usuario no puede conectarse por SSH

Asegúrate de que:

  • Tiene contraseña asignada (passwd).
  • No está bloqueado (usermod -U).
  • Su shell es válida (no nologin).
  • Está en el grupo ssh o permitido en /etc/ssh/sshd_config.

No recuerdo qué usuarios existen

Usa:

cut -d: -f1 /etc/passwd

Esto lista solo los nombres de usuario.


Buenas prácticas para gestionar usuarios en producción

Aquí tienes una lista de hábitos que te ahorrarán dolores de cabeza:

  1. Usa contraseñas robustas y cámbialas periódicamente con chage.
  2. No uses root para todo. Crea un usuario con sudo para tus tareas diarias.
  3. Elimina usuarios inactivos o bloquéalos con usermod -L.
  4. Documenta cada usuario: quién es, para qué sirve, cuándo expira.
  5. Revisa los logs de autenticación con journalctl -u ssh o /var/log/auth.log.
  6. Usa grupos en lugar de dar permisos individuales.

[TIP] Si tu servidor tiene Syspanel, recuerda que además de gestionar usuarios por SSH, puedes crear cuentas FTP o de correo desde el panel (puerto 2106). Pero los usuarios del sistema Linux que creas con useradd son independientes de los del panel.


Preguntas frecuentes (FAQ)

¿Cuál es la diferencia entre useradd y adduser?

adduser es un script interactivo (más amigable) que llama a useradd por debajo. Si estás en Debian/Ubuntu, adduser te guiará paso a paso. En sistemas Red Hat/CentOS, adduser es un enlace simbólico a useradd.

¿Puedo crear usuario linux sin contraseña?

Sí, pero es mala práctica. Si lo haces, la cuenta estará bloqueada hasta que asignes una contraseña. Usa passwd -d usuario solo para casos muy concretos (y luego cambia la política).

¿Cómo cambio el nombre de un usuario?

No existe un comando directo para renombrar en todas las distros. En Debian/Ubuntu puedes usar:

sudo usermod -l nuevo_nombre antiguo_nombre
sudo usermod -d /home/nuevo_nombre -m nuevo_nombre

Ten cuidado: los archivos que referencian el nombre antiguo (como cron o systemd) no se actualizan solos.

¿Qué hago si olvidé la contraseña de root?

Reinicia el servidor en modo rescate (single user) o usa sudo passwd root desde un usuario con privilegios.

¿Necesito crear un usuario para cada aplicación?

No necesariamente. A veces es mejor usar un usuario de servicio (sin shell) para evitar riesgos. Por ejemplo:

sudo useradd -r -s /usr/sbin/nologin mi_app

El flag -r crea un usuario de sistema con UID bajo.


Conclusión

Aprender a crear usuario linux y gestionar usuarios con useradd y usermod te da un control total sobre tu servidor. No es complicado: solo necesitas conocer unas pocas opciones y ser cuidadoso con los permisos.

Recuerda siempre probar en un entorno de desarrollo antes de tocar producción. Y si usas un panel como Syspanel (puerto 2106), ten en cuenta que los comandos de esta guía son complementarios, no sustitutos.

Con estos comandos en tu caja de herramientas, podrás dar de alta a compañeros, crear cuentas temporales, proteger servicios y mantener tu sistema ordenado y seguro.

[TIP FINAL] Guarda esta guía como referencia. La gestión de usuarios es de esas cosas que usas poco, pero cuando la necesitas, la necesitas bien. Y si te atascas, man useradd y man usermod siempre están a un comando de distancia.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel