useradd
Crea un usuario nuevo en el sistema local.
Sirve para crear una cuenta de usuario nueva en el equipo, ya sea para otra persona o para un servicio. Necesita sudo. En Debian y Ubuntu, useradd sin opciones no crea la carpeta personal y deja /bin/sh como shell; si quieres algo más guiado, usa adduser, que pregunta todo paso a paso.
useradd [opciones] USUARIODespiece
5 ejemplosCrear un usuario con carpeta personal y Bash
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | sudo | Comando | Se necesita root para crear usuarios. |
| 2 | useradd | Comando | Comando para agregar un usuario nuevo. |
| 3 | -m | Opción | Crea /home/ana. |
| 4 | -s | Opción | Indica el shell. |
| 5 | /bin/bash | Valor | Bash, el shell más común. |
| 6 | ana | Argumento | Nombre del usuario a crear. |
No muestra nada si todo sale bien. Se crea ana con /home/ana y Bash como shell. Todavía no puede entrar: falta ponerle contraseña con sudo passwd ana.
Crear un usuario con su nombre completo
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | sudo | Comando | Ejecuta con permisos de root. |
| 2 | useradd | Comando | Agrega un usuario nuevo. |
| 3 | -m | Opción | Crea la carpeta personal. |
| 4 | -s | Opción | Indica el shell. |
| 5 | /bin/bash | Valor | Shell Bash. |
| 6 | -c | Opción | Agrega un comentario. |
| 7 | "Ana Torres" | Valor | Nombre completo, entre comillas porque tiene espacio. |
| 8 | ana | Argumento | Nombre de usuario. |
Se crea ana y el nombre Ana Torres queda guardado en /etc/passwd. Lo ves con getent passwd ana.
Crear un usuario administrador
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | sudo | Comando | Requiere root. |
| 2 | useradd | Comando | Crea el usuario. |
| 3 | -m | Opción | Crea la carpeta personal. |
| 4 | -s | Opción | Indica el shell. |
| 5 | /bin/bash | Valor | Shell Bash. |
| 6 | -G | Opción | Agrega el usuario a grupos extra. |
| 7 | sudo | Valor | El grupo sudo, que en Debian y Ubuntu permite usar sudo. |
| 8 | ana | Argumento | Nombre de usuario. |
ana queda en su propio grupo ana y además en el grupo sudo, así que podrá ejecutar comandos como administrador.
Crear un usuario en varios grupos
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | sudo | Comando | Requiere root. |
| 2 | useradd | Comando | Crea el usuario. |
| 3 | -m | Opción | Crea la carpeta personal. |
| 4 | -G | Opción | Grupos extra, separados por coma y sin espacios. |
| 5 | docker,www-data | Valor | Los grupos a los que se une ana. |
| 6 | ana | Argumento | Nombre de usuario. |
ana queda en los grupos docker y www-data. Si alguno no existe, useradd marca error y no crea al usuario.
Crear un usuario para un servicio
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | sudo | Comando | Permisos de root. |
| 2 | useradd | Comando | Crea el usuario. |
| 3 | -r | Opción | Cuenta de sistema, sin carpeta personal. |
| 4 | -s | Opción | Indica el shell. |
| 5 | /usr/sbin/nologin | Valor | Shell que no deja iniciar sesión. |
| 6 | miapp | Argumento | Usuario con el que correrá el servicio. |
Se crea miapp con un UID bajo y sin carpeta personal. Sirve para que un programa corra con su propio usuario, pero nadie puede entrar con él.
Opciones
Las que sí vas a usar| Opción | Qué hace |
|---|---|
| -m--create-home | Crea la carpeta personal (/home/USUARIO) y copia ahí los archivos de /etc/skel. En Debian sin -m no se crea. |
| -s--shell | Define el shell del usuario, por ejemplo /bin/bash. Si no lo pones, en Debian y Ubuntu queda /bin/sh. |
| -G--groups | Agrega el usuario a grupos extra, separados por coma y sin espacios. |
| -g--gid | Define el grupo principal (nombre o número). El grupo debe existir. |
| -c--comment | Guarda un comentario, normalmente el nombre completo. |
| -r--system | Crea una cuenta de sistema, pensada para servicios, con un UID bajo y sin carpeta personal. |
| -d--home-dir | Usa otra ruta como carpeta personal. Combínalo con -m para que se cree. |
| -e--expiredate | Fecha en la que se desactiva la cuenta, en formato AAAA-MM-DD. |
Fallas comunes
| Falla | Remedio |
|---|---|
| Crear el usuario sin -m en Debian o Ubuntu y luego no tener carpeta personal. | useradd no crea /home/USUARIO por defecto. Usa -m al crearlo o, si ya existe, crea la carpeta y ajusta el dueño con chown. |
| Olvidar ponerle contraseña al usuario nuevo. | useradd deja la cuenta sin contraseña usable, así que no puede entrar. Asígnale una con sudo passwd USUARIO. |
| Que el usuario tenga una terminal rara, sin historial ni autocompletado. | Sin -s queda /bin/sh. Créalo con -s /bin/bash o cámbialo después con sudo usermod -s /bin/bash USUARIO. |
| Poner espacios entre los grupos de -G. | Escribe -G sudo,docker, sin espacios. Con espacio, useradd toma lo que sigue como otro argumento y marca error. |
Preguntas frecuentes
- ¿Cómo creo un usuario en Linux desde la terminal?
- Con sudo useradd -m -s /bin/bash NOMBRE y luego sudo passwd NOMBRE para ponerle contraseña. Así queda con carpeta personal y Bash.
- ¿Cuál es la diferencia entre useradd y adduser?
- useradd es el comando básico: hace solo lo que le indicas con opciones. adduser es un script de Debian y Ubuntu que crea la carpeta personal, te pide la contraseña y los datos paso a paso. Para crear usuarios a mano, adduser es más cómodo.
- ¿Por qué useradd no crea la carpeta home?
- En Debian y Ubuntu useradd no crea la carpeta personal a menos que uses -m. Por eso se recomienda sudo useradd -m USUARIO o usar adduser.
- ¿Cómo creo un usuario con permisos de sudo?
- Agrégalo al grupo sudo al crearlo: sudo useradd -m -s /bin/bash -G sudo USUARIO. Si ya existe, usa sudo usermod -aG sudo USUARIO.
- ¿Cómo veo si un usuario se creó bien?
- Con id USUARIO ves su UID y sus grupos. Con getent passwd USUARIO ves su carpeta personal y su shell.