Skip to main content

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

Exercício Python #037 - Conversor de Bases Numéricas (Abril 2025)

Exercício Python #037 - Conversor de Bases Numéricas (Abril 2025)
Anonim

Esta guía le muestra cómo crear usuarios dentro de Linux usando la línea de comandos. Si bien muchas distribuciones de Linux de escritorio proporcionan una herramienta gráfica para crear usuarios, es una buena idea aprender a hacerlo desde la línea de comandos para que pueda transferir sus habilidades de una distribución a otra sin aprender nuevas interfaces de usuario.

Cómo crear un usuario

Vamos a empezar por crear un usuario simple.

El siguiente comando agregará un nuevo usuario llamado prueba a su sistema:

prueba de sudo useradd

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 ejecute el siguiente comando:

sudo nano / etc / default / useradd

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

Las opciones comentadas le permiten establecer una carpeta de inicio predeterminada, un grupo, número de días después de que la contraseña haya caducado antes de que la cuenta se deshabilite y una fecha de caducidad predeterminada.

Lo importante a partir de la información anterior es que ejecutar el comando useradd sin ningún modificador puede producir resultados diferentes en diferentes distribuciones y todo tiene que ver con la configuración en el / etc / default / useradd expediente.

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

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

Cómo crear un usuario con un directorio de inicio

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

Para forzar la creación de un directorio de inicio para usar el siguiente comando:

useradd -m test

El comando anterior crea un / casa / prueba Carpeta para la prueba de usuario.

Cómo crear un usuario con un directorio de inicio diferente

Si desea que el usuario tenga una carpeta de inicio en un lugar diferente al predeterminado, puede usar el modificador -d.

sudo useradd -m -d / prueba

El comando anterior creará una carpeta llamada prueba para la prueba del usuario en la carpeta raíz.

Dentro del modificador -m, la carpeta no se puede crear. Depende de la configuración dentro de /etc/login.defs.

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

CREATE_HOME si

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

Ahora que ha creado un usuario con una carpeta de inicio, deberá cambiar la contraseña del usuario.

Para establecer la contraseña de un usuario, necesita usar el siguiente comando:

prueba de contraseña

El comando anterior le permitirá configurar la contraseña del usuario de prueba. Se le pedirá la contraseña que desea utilizar.

Cómo cambiar de usuario

Puede probar la cuenta de su nuevo usuario escribiendo lo siguiente en una ventana de terminal:

su - prueba

El comando anterior cambia de usuario a la cuenta de prueba y suponiendo que creó una carpeta de inicio, se lo ubicará en la carpeta de inicio de ese usuario.

Crear un usuario con una fecha de caducidad

Si está trabajando en una oficina y tiene un nuevo contratista que comienza y estará en su oficina por un corto período de tiempo, entonces querrá establecer una fecha de vencimiento en su cuenta de usuario.

Del mismo modo, si su familia se va a quedar, puede crear una cuenta de usuario para el miembro de la familia que caduque una vez que se haya ido.

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

useradd -d / home / test -e 2016-02-05 test

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

Cómo crear un usuario y asignarlo a un grupo

Si tiene un nuevo usuario que se une a su empresa, es posible que desee asignar grupos específicos para ese usuario para que tengan acceso a los mismos archivos y carpetas que otros miembros de su equipo.

Por ejemplo, imagina que tenías un tipo llamado John y se unía como contador.

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

useradd -m john -G cuentas

Ajuste de los valores predeterminados de inicio de sesión en Linux

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

Hay algunas configuraciones clave en este archivo. Para abrir el /etc/login.defs archivo ingrese el siguiente comando:

sudo nano /etc/login.defs

El archivo login.defs contiene la siguiente configuración que puede cambiar:

  • PASS_MAX_DAYS - Cuánto tiempo transcurre antes de que caduque una contraseña.
  • PASS_MIN_DAYS - Con qué frecuencia se puede cambiar una contraseña.
  • PASS_WARN_AGE - Número de días de aviso antes de que caduque una contraseña.
  • LOGIN_RETRIES - Número de intentos de inicio de sesión antes del fallo.
  • SE TERMINÓ EL TIEMPO PARA LA AUTENTICACIÓN - ¿Cuánto tiempo transcurre antes de que se agote el tiempo de inicio de sesión?
  • DEFAULT_HOME - ¿Puede un usuario iniciar sesión si no existe una carpeta de inicio.

Estas son las opciones predeterminadas y se pueden anular al crear un nuevo usuario.

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

Puede establecer una fecha de caducidad de la contraseña, el número de reintentos 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 se establezcan los reintentos de inicio de sesión.

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

Forzar la creación de un usuario sin una carpeta de inicio

Si el archivo login.defs tiene la opción CREATE_HOME siestablece entonces cuando se crea un usuario se creará automáticamente una carpeta de inicio.

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

useradd -M prueba

Es bastante confuso que -m significa crear hogar y -M significa no crear hogar.

Especifique el nombre completo del usuario al crear un usuario

Como parte de su política de creación de usuarios, puede elegir hacer algo como la primera inicial, seguida del apellido. Por ejemplo, el nombre de usuario para "John Smith" será "jsmith".

Cuando busque detalles sobre un usuario, es posible que no pueda distinguir entre John Smith y Jenny Smith.

Puede 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 a la / etc / passwd expediente.

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

grep john / etc / passwd

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

los / etc / contraseña archivo contiene una lista de campos separados por dos puntos sobre cada usuario.

Los campos son los siguientes:

  • Nombre de usuario
  • Contraseña encriptada (que obviamente no puedes ver);
  • Userid;
  • Identificación de grupo del usuario;
  • Nombre completo del usuario;
  • Directorio de inicio del usuario;
  • Login shell.