Saltar al contenido

Cómo crear usuarios en Linux con el comando useradd

23 de octubre de 2020 8 min de lectura
Cómo crear usuarios en linux

Con la finalidad de obtener privacidad, personalización y sobre todo máximo aprovechamiento de los recursos, Linux es un sistema multi-usuario, esto quiere decir que más de una persona puede utilizar el mismo sistema al mismo tiempo.

Desde luego, entre todos estos usuarios es necesario que exista uno que lleve el mando. Ese serías tú: el administrador de sistema. Como tal, tienes la capacidad de manejar los usuarios y grupos de la plataforma, creando, eliminando o asignando usuarios a diferentes grupos del sistema.

Sin embargo, este proceso puede resultar pesado para aquellos que no cuenten con mucha experiencia en este sistema operativo. ¿Quieres saber más al respecto? ¡Sigue leyendo! Porque en este artículo aprenderás cómo crear nuevas cuentas de usuario Linux a través del comando useradd.

Las instrucciones que explicaremos a continuación te van a servir para cualquier distribución de Linux ya sea Ubuntu, Fedora, Debian, CentOs…

Comando useradd

La sintaxis general para el comando useradd es la siguiente:

useradd [OPTIONS] USERNAME

Sólo los usuarios root con privilegios sudo pueden usar el comando useradd para crear nuevas cuentas de usuario.

Un comando con resultados inciertos

Cuando insertamos el comando, useradd crea una nueva cuenta de usuario de acuerdo a las opciones especificadas en la línea de comandos y los valores por defecto establecidos en el archivo /etc/default/useradd/

Las variables definidas en este archivo difieren de distribución a distribución, lo que ocasiona que el comando useradd produzca resultados distintos según la distribución de Linux que estés usando.

useradd también lee el contenido del archivo /etc/login.defs . Dicho archivo contiene configuraciones para el paquete de contraseñas ocultas, tales como políticas de vencimiento de contraseñas, rangos de IDs de usuarios utilizados al crear usuarios normales y de sistema, y otros parámetros detallados.

Cómo crear un nuevo usuario en Linux

Es probable que tu sistema operativo sea compartido, y que hayas llegado a la conclusión de que quieres tener una cuenta para ti solo, ya sea por privacidad o por mera comodidad. Pero ¿Cómo se hace esto?

Para crear una nueva cuenta de usuario, basta con introducir el comando useradd seguido del nombre de usuario.

Por ejemplo, para crear un usuario llamado jorge ejecutarías el siguiente comando:

sudo useradd jorge

Cuando sea ejecutado sin ninguna otra opción, el comando useradd crea una nueva cuenta de usuario a través de las configuraciones por defecto especificadas en el archivo /etc/default/useradd .

Este comando añade una entrada los archivos /etc/passwd , /etc/shadow/ y /etc/gshadow/ .

Para poder entrar utilizando el usuario que acabas de crear, sólo necesitas configurar la contraseña de dicho usuario. Para hacerlo, necesitas ejecutar el comando passwd seguido del nombre de usuario, de esta forma:

sudo passwd jorge

Después de esto, el sistema te invitará a confirmar la contraseña. Por favor, asegúrate de que ingreses una contraseña lo suficientemente fuerte.

Cómo añadir un nuevo usuario y crear un directorio de inicio

En la mayoría de las distribuciones de Linux, cuando se crea una nueva cuenta de usuario con el comando useradd, el directorio de inicio del usuario no es creado a la par. Esto puede ser problemático y hasta incómodo ¿Cierto? Tranquilo, porque tenemos la solución.

Utiliza la opción –m (--create-home) para crear el directorio de inicio del usuario como /home/jorge:

sudo useradd –m jorge

Esta opción crea el directorio de inicio del nuevo usuario y copia archivos del directorio /etc/skel al drectorio de inicio del usuario.

Dentro del directorio de inicio, el usuario puede escribir, editar y borrar archivos y directorios.

Crear un usuario con un directorio específico de inicio

Por defecto, el comando useradd crea el directorio de inicio del usuario en /home . Si quieres crear el directorio de inicio del usuario en otra ubicación, utiliza la opción d (--home).

Aquí tenemos un ejemplo mostrando cómo crear un nuevo usuario llamado jorge con un directorio de inicio de /opt/jorge:

sudo useradd -m -d /opt/jorge jorge

Crear un usuario con un ID de usuario específico

En Linux y todos los sistemas operativos similares a Unix, los usuarios son identificados por un UID y nombre de usuario únicos.

El identificador de usuario (UID) es un entero único asignado por el sistema Linux a cada usuario. El UID y otras políticas de control de acceso se utilizan para establecer los tipos de acciones que un usuario puede ejecutar en los recursos del sistema.

Por defecto, cuando un nuevo usuario es creado, el sistema asigna el siguiente UID disponible de la variedad de ID de usuarios especificados en el archivo login.defs .

Introduce useradd con la opción –u (--uid) para crear un usuario con UID específico. Por ejemplo, para crear un usuario llamado jorge con UID de 2000, ingresarías lo siguiente:

sudo useradd -u 2000 jorge

Si quieres verificar el UID del usuario, puedes hacerlo utilizando el comando id:

id -u jorge

Salida

2000

Crear un usuario con un ID grupal específico

Los grupos de Linux son unidades organizacionales que son utilizadas para organizar y administrar las cuentas de usuario en Linux. El propósito primario de los grupos es definir un conjunto de privilegios tales como lectura, escritura o ejecución de permisos para determinados recursos que pueden ser compartidos entre los usuarios del grupo.

Cuando estás creando un nuevo usuario, el comportamiento por defecto del comando useradd es crear un grupo con el mismo nombre que el nombre de usuario, y el mismo GID y UID.

La opción –g (--gid) te permite crear un usuario con un grupo inicial de acceso. Puedes especificar tanto el nombre del grupo como el número GID, en cualquier caso, deben ser datos que ya existan en el sistema.

El siguiente ejemplo muestra cómo crear un nuevo usuario llamado jorge y establecer el grupo de acceso al grupo estudiantes:

sudo useradd -g estudiantes jorge

Para verificar el GID del usuario, utiliza el comando id:

id -gn jorge

Salida

estudiantes

Crear un usuario y asignarlo a varios grupos

Hay dos tipos de grupos en los sistemas operativos Linux: el grupo Primario y el grupo Secundario o suplementario. Cada usuario puede pertenecer a, específicamente, un grupo primario, y cero o más grupos secundarios.

Ahora te toca especificar una lista de grupos secundarios de los que el usuario será miembro con la opción –g (--groups) .

El comando que verás a continuación crea un nuevo usuario llamado jorge cuyo grupo primario es estudiantes y cuyos grupos secundarios son informaticos y programadores

sudo useradd -g estudiantes -G informaticos,programadores jorge

Puedes revisar los grupos del usuario introduciendo esto:

id jorge

Salida

uid=1002(jorge) gid=100(estudiantes) groups=100(estudiantes),10(informaticos),993(programadores)

Cómo crear un usuario con fecha de vencimiento en Linux

Para definir una fecha en la que la cuenta de usuario deje de ser válida, puedes usar la opción –e (--expiredate) . Esta opción es sumamente útil para crear cuentas temporales.

Si quieres hacerlo de forma sencilla y sin problemas, sólo debes especificar la fecha en formato AAAA-MM-DD.

Por ejemplo, si quieres crear una cuenta llamada jorge con una fecha de vencimiento de 20 de diciembre de 2022 entonces ejecuta el comando de la siguiente manera:

sudo useradd -e 2022-12-20 jorge

Puedes utilizar el comando chage para revisar la fecha de vencimiento de la cuenta:

sudo chage -l jorge

¡Y listo! Tendrás configurada tu cuenta con fecha de vencimiento.

Crear un usuario de sistema en Linux

En realidad, no hay ninguna diferencia técnica entre un usuario de sistema y uno normal. Generalmente, los usuarios de sistema son creados al instalar el sistema operativo y los nuevos paquetes. Pero si quieres crear una cuenta con privilegios en Linux, te lo mostramos:

Usa la opción –r(--system) para crear una cuenta de sistema. Por ejemplo, para crear un usuario de sistema llamado jorge deberás ejecutar:

sudo useradd -r jorge

Los usuarios de sistema no tienen fecha de vencimiento. Además, sus UID son escogidos entre una variedad de ID de usuarios de sistema especificados en el archivo login.defs.

Cambiar los valores useradd predeterminados

Las opciones useradd por defecto pueden ser revisadas y cambiadas a través de la opción –D.—defaults o editando manualmente los valores en el archivo /etc/default/useradd .

Para ver las opciones por defecto actuales, introduce:

useradd –D

La consola de comandos devolverá la siguiente información:

Salida

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/sh

SKEL=/etc/skel

CREATE_MAIL_SPOOL=no

Imaginemos que quieres cambiar el Shell de ingreso predeterminado de /bin/sh a /bin/bash . Para esto, sólo debes especificar el nuevo Shell de la siguiente forma:

sudo useradd -D -s /bin/bash

Sólo necesitas paciencia para obtener buenos resultados

Contrario a lo que muchos creen, el sistema Linux ofrece diversas ventajas con respecto a otros de la competencia. Si bien no es el más popular, no es una opción que debas dejar pasar desapercibido.

¡Deja de tenerle miedo! Sabemos que puede ser abrumador considerar un nuevo sistema operativo, por eso te ofrecemos una gran variedad de tutoriales de todo tipo. ¿Quieres saber más? Te invitamos a revisar el resto de nuestro contenido, seguro que no te arrepentirás.