Todo Administrador de Sistemas en Linux pasa gran parte de su tiempo gestionando usuarios, y una de las tareas más recurrentes es añadir un usuario en Linux. Si bien hay herramientas gráficas, dominar la creación de usuarios desde la consola con useradd es una habilidad fundamental que te da control total y es indispensable para la automatización y los scripts. En esta guía verificada, vamos a desglosarlo paso a paso.
Para añadir un usuario en Linux desde la terminal se utiliza el comando
useradd. La sintaxis básica esuseradd -m nombre_usuario, donde la opción-mcrea su directorio personal. Tras crearlo, es fundamental asignarle una contraseña con el comandopasswd nombre_usuariopara desbloquear la cuenta y permitir el inicio de sesión.
Una de las características clave de Linux es su arquitectura multiusuario. Esto significa que pueden existir múltiples cuentas en un mismo ordenador. Cada una de ellas tiene su propio espacio de trabajo, configuraciones y recursos. Gracias a esto, los usuarios tienen la posibilidad de trabajar en una misma máquina simultáneamente, aislando sus datos y actividades entre sí.
La Gran Duda: ¿useradd o adduser?
Antes de sumergirnos en los comandos, es crucial aclarar una de las confusiones más comunes, especialmente en sistemas Debian y Ubuntu.
useradd: Es la herramienta de bajo nivel, un binario universal presente en prácticamente todas las distribuciones de Linux. Es potente y perfecta para scripts, pero requiere que especifiques manualmente cada detalle, como la creación del directorio personal o el establecimiento de la contraseña en un paso posterior.adduser: Es un script de Perl de alto nivel, muy común en Debian y sus derivados. Actúa como un asistente amigable que, por debajo, utilizauseradd, pero automatiza varias tareas: crea el directorio home por defecto, copia los ficheros de/etc/skely te pide de forma interactiva la contraseña y otros datos del usuario.
En mis scripts siempre uso useradd por su universalidad y control. Para una creación manual rápida en un sistema Debian/Ubuntu, adduser es más cómodo. En esta guía nos centraremos en useradd porque es la herramienta fundamental que todo SysAdmin debe dominar a fondo.
El Comando useradd: Sintaxis y Opciones
Para agregar un usuario en Linux, es necesario utilizar un comando específico. Su sintaxis se describe a continuación:
useradd [lista_de_opciones] nombre_de_usuarioPara ejecutar este comando, la cuenta debe tener privilegios sudo.
Para consultar la lista completa de opciones disponibles para el comando useradd, basta con introducir en la consola el siguiente comando useradd :
useradd -hSi creaste una cuenta y olvidaste añadir alguna opción, no hay problema. Para estos casos, Linux dispone del comando usermod, diseñado para modificar los parámetros y la configuración de una cuenta ya existente:
usermod [opciones] nombre_de_usuarioAhora que estás familiarizado con la sintaxis del comando useradd y las posibles opciones para configurar correctamente la cuenta, pasaremos a la parte práctica de este capítulo: añadir un usuario en Linux a través de la consola.
Ejemplos Prácticos con useradd
Ejemplo n.º 1: Modificar la configuración por defecto de useradd
En este ejemplo, modificaremos la configuración actual por defecto para la creación de cuentas.
Primero, examinemos la configuración actual utilizando el siguiente comando:
useradd -DA continuación, modificaremos los valores de las opciones SHELL y HOME:
useradd -D -b /home/WorkingProject -s /bin/bashEste comando modifica los valores por defecto del directorio de inicio y del shell para los nuevos usuarios.
Verifica que los cambios se hayan aplicado:
useradd -DTodos los nuevos usuarios creados a partir de ahora tendrán los parámetros especificados anteriormente.
Ejemplo n.º 2: Crear un usuario básico y añadir contraseña
En este ejemplo, crearemos un usuario estándar. Primero, abre el terminal e inicia sesión como superusuario, si aún no lo has hecho. Puedes hacerlo con el comando su o usando sudo antes de cada comando, dependiendo de tu sistema; si tienes dudas, puedes consultar las diferencias entre su y sudo.
suPara crear un usuario en Linux, introduce el comando ya estudiado con las opciones correspondientes:
useradd -m user123Aquí, la opción -m creará el directorio de inicio para el usuario en la ruta especificada en el archivo /etc/default/useradd.
El usuario ha sido creado, pero actualmente se encuentra bloqueado. Puedes solucionar esto al añadir contraseña a usuario linux con el comando passwd:
passwd user123Verifica que la nueva cuenta ha sido creada realmente. Para ello, abre el siguiente archivo:
nano /etc/passwdEn la imagen de abajo, la nueva cuenta se encuentra al final del archivo.
Ejemplo n.º 3: Usuario con directorio de inicio único y fecha de expiración
En este segundo ejemplo, cambiaremos la ruta del directorio de inicio a una única y especificaremos que la cuenta será válida hasta una fecha determinada.
Para crear un nuevo usuario en Linux con un directorio de inicio único y una fecha de expiración, introduce el siguiente comando en el terminal:
useradd -m -d /Work/SeptemberProject -e 2026-10-01 septemberuserDesbloquea la cuenta asignándole una contraseña:
passwd septemberuserAhora, verifica que el nuevo usuario ha sido creado correctamente. Primero, revisemos la ruta del directorio de inicio:
nano /etc/passwdPara verificar la fecha de expiración de la cuenta en Linux, puedes utilizar el comando chage:
chage -l septemberuserComo se muestra en la salida, la cuenta expira el 1 de octubre de 2026. Este caso es perfecto para crear cuentas temporales para consultores externos, pasantes o empleados con contrato a término fijo. Es una excelente práctica de seguridad.
Ejemplo n.º 4: Usuario de sistema sin directorio de inicio, shell ni grupo
En este último ejemplo, el nuevo usuario de Linux no tendrá directorio de inicio, shell de comandos ni grupos de usuario. Lo único que añadiremos será un comentario.
El comando para crear la cuenta descrita anteriormente tendrá el siguiente formato:
useradd -r -M -N -s /bin/false -c "Disabled system user" systemuser123A continuación, se presenta una lista de todas las opciones utilizadas y su descripción:
-r– crea una cuenta de sistema.-M– indica que no se creará un directorio de inicio.-N– indica que no se creará un grupo separado para este usuario del sistema.-s /bin/false– deniega al usuario el acceso al shell de comandos.-c "Disabled system user"– añade un comentario.
Este es el procedimiento estándar al instalar servicios o aplicaciones como un servidor web (Nginx), una base de datos (PostgreSQL) o un demonio de sistema. Estas cuentas no necesitan un login interactivo y se crean por seguridad para aislar los procesos.
Desbloquea la cuenta asignándole una contraseña:
passwd systemuser123Verifica que dicho usuario ha sido añadido al sistema. Para ello, repite el proceso ya conocido:
nano /etc/passwdComo se puede ver, el usuario del sistema con el nombre systemuser123 fue añadido correctamente.
Cómo Añadir un Usuario a un Grupo en Linux (sudo y otros)
Un usuario recién creado tiene permisos limitados. Para darle privilegios de administrador o asignarlo a un grupo de trabajo, usamos el comando usermod.
En sistemas basados en Debian/Ubuntu, el grupo de administradores es sudo. En sistemas como CentOS/RHEL/Fedora, suele ser wheel, tal y como se especifica en la documentación sobre el grupo wheel. Para añadir el usuario user123 a este grupo, el comando es:
usermod -aG sudo user123-a(append): Es crucial. Añade el usuario al grupo, sin eliminarlo de otros grupos a los que ya pertenezca.-G(Groups): Especifica el grupo (o grupos) al que se añadirá.
Este método no se limita solo al grupo sudo. Puedes usarlo para agregar un usuario a grupo linux que exista en tu sistema. Por ejemplo, si tienes un grupo para desarrolladores, el comando sería usermod -aG developers nombre_usuario. De esta forma, puedes gestionar los permisos de acceso a archivos y directorios para añadir usuarios a grupos linux de forma organizada.
Archivos de Configuración de Usuarios Clave
A continuación, se presenta una lista de algunos archivos relacionados con las cuentas de usuario y grupos que resultará útil examinar:
/etc/passwd– este archivo contiene información básica de los usuarios, como sus nombres, identificadores numéricos (UID), identificadores de grupo (GID), directorios de inicio y shells de comandos. Puedes consultar la documentación oficial del fichero passwd./etc/shadow– en este archivo se almacenan las contraseñas cifradas de los usuarios y otra información confidencial sobre ellos./etc/group– archivo que contiene información sobre los grupos de usuarios, sus identificadores (GID) y la lista de cuentas que pertenecen a cada grupo./etc/gshadow– análogo al archivo/etc/shadow, pero contiene información sobre los grupos./etc/default/useradd– archivo de configuración para el comandouseraddque define los valores por defecto al crear nuevas cuentas./etc/skel/– directorio plantilla que contiene archivos y configuraciones que se copiarán en los directorios de inicio de los nuevos usuarios al crearlos./etc/login.defs– archivo de configuración que contiene ajustes generales para las cuentas de usuario, como la longitud mínima y máxima de la contraseña, el tiempo máximo de validez de la cuenta y otros parámetros.
Control Total sobre la Gestión de Usuarios
Como has visto, crear usuarios en la línea de comandos te ofrece un control granular sobre cada aspecto de la cuenta. Dominar useradd y entender los archivos de configuración asociados es una habilidad clave para cualquier administrador de sistemas para añadir usuarios en linux de manera eficiente.
Ahora que sabes cómo crear usuarios, el siguiente paso es dominar su eliminación de forma segura. Puedes continuar aprendiendo en mi guía completa sobre cómo eliminar usuarios en Linux.
¿Qué te parece?
Es bueno conocer tu opinión. Deja un comentario.