Cómo crear usuarios dentro de Linux usando el comando useradd

Esta guía muestra cómo crear usuarios dentro de Linux usando la línea de comando.

Si bien muchos escritorios de las distintas distribuciones de Linux proporcionan una herramienta gráfica para crear usuarios, es una buena idea aprender a hacerlo desde la línea de comandos para que puedas transferir tus habilidades de una distribución a otra sin aprender nuevas interfaces de usuario.

Cómo crear un usuario

Comencemos por crear un usuario simple.

El siguiente comando agregará un nuevo usuario que se llamará test a tu sistema:

sudo useradd test

Lo que sucederá cuando se ejecute este comando dependerá del contenido del archivo de configuración ubicado en / etc / default / useradd.

Para ver los contenidos de / etc / default / useradd, ejecuta el siguiente comando:

sudo nano / etc / default / useradd

El archivo de configuración establecerá un shell por defecto que en Ubuntu es bin / sh. Todas las otras opciones están comentadas.

Las opciones comentadas te permiten establecer una carpeta principal predeterminada, un grupo, el número de días después de que la contraseña haya expirado antes de que la cuenta se deshabilite y una fecha de vencimiento predeterminada.

Lo importante de la información anterior es que ejecutar el comando useradd sin ningún modificador puede producir resultados diferentes en diferentes distribuciones y todo está relacionado con la configuración en el archivo / etc / default / useradd.

Además del archivo / etc / default / useradd, también hay un archivo llamado /etc/login.defs que se tratará más adelante en la guía.

Importante: sudo no está instalado en todas las distribuciones. Si no está instalado, debes iniciar sesión en una cuenta con los permisos adecuados para crear usuarios

Cómo crear un usuario con su directorio home

El ejemplo anterior fue bastante simple, pero el usuario puede o no haber sido asignado a un directorio de inicio basado en el archivo de configuración.

Para forzar la creación de un directorio home tienes que usar el siguiente comando:

useradd –m test

El comando anterior crea una carpeta / home / test para el usuario test.

Cómo crear un usuario con un directorio home diferente

Si deseas que el usuario tenga una carpeta home en un lugar diferente al predeterminado, puedes usar el modificador -d.

sudo useradd -m -d / test test

El comando anterior creará una carpeta llamada test para el usuario test debajo de la carpeta root.

Nota: Puede ser que con el modificador -m, la carpeta no se puede crear. Depende de la configuración que se encuentre en  /etc/login.defs.

Para que esto funcione sin especificar un modificador -m tienes que editar el archivo /etc/login.defs y en la parte inferior del archivo agrega la siguiente línea:

CREATE_HOME yes

Cómo cambiar la contraseña de un usuario con Linux

Ahora que has creado un usuario con una carpeta home, deberás cambiar la contraseña del usuario.

Para configurar una contraseña de usuario, debes usar el siguiente comando:

passwd test

El comando anterior te permitirá configurar la contraseña del usuario test. Se te pedirá la contraseña que deseas usar.

Cómo cambiar de usuario

Puedes probar la cuenta de tu nuevo usuario escribiendo lo siguiente en una ventana de terminal:

su - test

El comando anterior cambia al usuario a la cuenta de test y, suponiendo que hayas creado una carpeta home, se colocará en la carpeta home de ese usuario.

Crear un usuario con una fecha de caducidad

Si estás trabajando en una oficina y tienes un nuevo contratista que comenzará a trabajar en tu oficina por un corto período de tiempo, querrás establecer una fecha de vencimiento en su cuenta de usuario.

Del mismo modo, si tienes un familiar que viene para quedarse, puedes crear una cuenta de usuario para ese miembro de la familia que expira después de que se haya ido.

Para establecer una fecha de caducidad al crear un usuario, usa el siguiente comando:

 useradd -d / home / test -e 2018-07-05 test

La fecha debe especificarse en el formato AAAA-MM-DD donde AAAA es el año, MM es el número de mes y DD es el número de día.

Cómo crear un usuario y asignarlo a un grupo

Si tienes un nuevo usuario que se une a tu empresa, entonces puedes asignar grupos específicos para ese usuario para que tenga acceso a los mismos archivos y carpetas que otros miembros de su equipo.

Por ejemplo, imagina que tenías una persona llamada John y se estaba uniendo como contador.

El siguiente comando agregaría a john al grupo de cuentas.

useradd -m john -G accounts

Ajuste de valores predeterminados de inicio de sesión dentro de Linux

El archivo /etc/login.defs es un archivo de configuración que proporciona el comportamiento predeterminado de las actividades de inicio de sesión.

Hay algunas configuraciones claves en este archivo. Para abrir el archivo /etc/login.defs, tienes que ingresar el siguiente comando:

sudo nano /etc/login.defs

El archivo login.defs contiene la siguiente configuración, el cual es posible cambiarla si es lo que deseas:

PASS_MAX_DAYS: cuánto tiempo transcurrirá antes de que caduque la contraseña

PASS_MIN_DAYS: con qué frecuencia se puede cambiar una contraseña

PASS_WARN_AGE: cantidad de días antes de mostrar la advertencia de que está por caducar la contraseña

LOGIN_RETRIES: cantidad de intentos de inicio de sesión antes de que muestre una falla

LOGIN_TIMEOUT: cuánto tiempo pasa antes de que el inicio de sesión agote el tiempo de espera.

DEFAULT_HOME: puedes iniciar sesión un usuario si no existe una carpeta de inicio

Ten en cuenta que estas son las opciones predeterminadas y que pueden ser anuladas al crear un nuevo usuario.

Cómo especificar el vencimiento de la contraseña de inicio de sesión al crear un usuario

Puedes establecer una fecha de vencimiento de la contraseña, el número de intentos de inicio de sesión y el tiempo de espera al crear un usuario.

El siguiente ejemplo muestra cómo crear un usuario con una advertencia de contraseña, un número máximo de días antes de que caduque la contraseña y la configuración de reintentos de inicio de sesión.

sudo useradd test5 -m -K PASS_MAX_DAYS = 5 -K PASS_WARN_AGE = 3 -K LOGIN_RETRIES = 1

Cómo forzar la creación de un usuario sin una carpeta home

Si el archivo login.defs tiene configurada la opción CREATE_HOME yes , cuando se crea un usuario, se crea automáticamente una carpeta home.

Para crear un usuario sin una carpeta home, independientemente de la configuración, usa el siguiente comando:

useradd -M test

Es bastante confuso que -m significa crear la carpeta home y -M significa no crear la carpeta home.

Especifica el nombre completo del usuario al crear un usuario

Como parte de tu política de creación de usuarios, puedes elegir hacer algo como la primera inicial del nombre, seguido del apellido. Por ejemplo, el nombre de usuario para una persona que se llama «John Smith» será «jsmith».

Al buscar detalles sobre un usuario, es posible que no puedas distinguir entre John Smith y Jenny Smith.

Entonces puedes agregar un comentario al crear una cuenta para que sea más fácil averiguar el nombre real del usuario.

El siguiente comando muestra cómo hacer esto:

useradd -m jsmith -c "john smith"

Analizando el archivo / etc / passwd

Cuando creas un usuario, los detalles de ese usuario se agregan al archivo / etc / passwd.

Para ver los detalles sobre un usuario en particular, puedes usar el comando grep de la siguiente manera:

grep john / etc / passwd

Nota: El comando anterior devolverá detalles sobre todos los usuarios con la palabra john como parte del nombre de usuario.

El archivo / etc / passuword contiene una lista de campos separados por dos puntos sobre cada usuario.

Los campos son los siguientes:

  • usuario
  • contraseña encriptada (la cual obviamente no la puedes ver)
  • identidad de usuario
  • ID de grupo del usuario
  • nombre completo del usuario
  • directorio de inicio del usuario
  • login shell

 


9 comentarios en “Cómo crear usuarios dentro de Linux usando el comando useradd

  1. Muy buena la instrucción bro, aunque estaba buscando como ponerle límites de conexión por usuario, osea creo un usuario con su contraseña y que solo 10 personas logren conectarse por medio de ese Usuario, gracias…

Deja una respuesta

“- Hey, Doc. No tenemos suficiente carretera para ir a 140/h km. - ¿Carretera? A donde vamos, no necesitaremos carreteras.”