Comandos LinuxExplicados en español
/
Ficha93 / 104
Categoría
Sistema
Ejemplos
5
Ver también
passwd · sudo · chown · whoami

useradd

user add (agregar usuario)

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.

Sintaxisuseradd [opciones] USUARIO
§ 1

Despiece

5 ejemplos
Crear un usuario con carpeta personal y Bash

Crear un usuario con carpeta personal y Bash

6 piezas
Lámina01 / 05
Comandosudo useradd -m -s /bin/bash ana
Piezas6
Escala1:1
N.ºPiezaTipoQué hace
1sudoComandoSe necesita root para crear usuarios.
2useraddComandoComando para agregar un usuario nuevo.
3-mOpciónCrea /home/ana.
4-sOpciónIndica el shell.
5/bin/bashValorBash, el shell más común.
6anaArgumentoNombre del usuario a crear.
Resultado

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

8 piezas
Lámina02 / 05
Comandosudo useradd -m -s /bin/bash -c "Ana Torres" ana
Piezas8
Escala1:1
N.ºPiezaTipoQué hace
1sudoComandoEjecuta con permisos de root.
2useraddComandoAgrega un usuario nuevo.
3-mOpciónCrea la carpeta personal.
4-sOpciónIndica el shell.
5/bin/bashValorShell Bash.
6-cOpciónAgrega un comentario.
7"Ana Torres"ValorNombre completo, entre comillas porque tiene espacio.
8anaArgumentoNombre de usuario.
Resultado

Se crea ana y el nombre Ana Torres queda guardado en /etc/passwd. Lo ves con getent passwd ana.

Crear un usuario administrador

8 piezas
Lámina03 / 05
Comandosudo useradd -m -s /bin/bash -G sudo ana
Piezas8
Escala1:1
N.ºPiezaTipoQué hace
1sudoComandoRequiere root.
2useraddComandoCrea el usuario.
3-mOpciónCrea la carpeta personal.
4-sOpciónIndica el shell.
5/bin/bashValorShell Bash.
6-GOpciónAgrega el usuario a grupos extra.
7sudoValorEl grupo sudo, que en Debian y Ubuntu permite usar sudo.
8anaArgumentoNombre de usuario.
Resultado

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

6 piezas
Lámina04 / 05
Comandosudo useradd -m -G docker,www-data ana
Piezas6
Escala1:1
N.ºPiezaTipoQué hace
1sudoComandoRequiere root.
2useraddComandoCrea el usuario.
3-mOpciónCrea la carpeta personal.
4-GOpciónGrupos extra, separados por coma y sin espacios.
5docker,www-dataValorLos grupos a los que se une ana.
6anaArgumentoNombre de usuario.
Resultado

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

6 piezas
Lámina05 / 05
Comandosudo useradd -r -s /usr/sbin/nologin miapp
Piezas6
Escala1:1
N.ºPiezaTipoQué hace
1sudoComandoPermisos de root.
2useraddComandoCrea el usuario.
3-rOpciónCuenta de sistema, sin carpeta personal.
4-sOpciónIndica el shell.
5/usr/sbin/nologinValorShell que no deja iniciar sesión.
6miappArgumentoUsuario con el que correrá el servicio.
Resultado

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.

§ 2

Opciones

Las que sí vas a usar
OpciónQué hace
-m--create-homeCrea la carpeta personal (/home/USUARIO) y copia ahí los archivos de /etc/skel. En Debian sin -m no se crea.
-s--shellDefine el shell del usuario, por ejemplo /bin/bash. Si no lo pones, en Debian y Ubuntu queda /bin/sh.
-G--groupsAgrega el usuario a grupos extra, separados por coma y sin espacios.
-g--gidDefine el grupo principal (nombre o número). El grupo debe existir.
-c--commentGuarda un comentario, normalmente el nombre completo.
-r--systemCrea una cuenta de sistema, pensada para servicios, con un UID bajo y sin carpeta personal.
-d--home-dirUsa otra ruta como carpeta personal. Combínalo con -m para que se cree.
-e--expiredateFecha en la que se desactiva la cuenta, en formato AAAA-MM-DD.
§ 3

Fallas comunes

FallaRemedio
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.
§ 4

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.
§ 5

Ver también