LINUX

Cómo crear usuarios usando el comando Useradd en Linux

crear usuario usando el comando useradd en linux

En los sistemas operativos Linux y similares a Unix, el comando más común para crear usuarios es ‘useradd’ o ‘adduser’. Como administrador del sistema, a menudo requiere agregar usuarios, eliminar usuarios, crear grupos y asignar usuarios.

No hay diferencia entre los dos comandos mencionados anteriormente en cuanto a funciones. El comando adduser es más amigable y a algunos administradores de Debian / Ubuntu les encanta usarlo. Useradd es binario compilado con el sistema Linux y funciona como backend para adduser.

En este tutorial, aprendemos cómo crear usuarios en Linux desde la terminal usando el comando useradd.

Comando y sintaxis de Useradd

La siguiente línea muestra la sintaxis del comando useradd:

useradd [OPTIONS] username

Se puede agregar un usuario simplemente dando el nombre de usuario seguido del comando. Deberías correr useradd comando con privilegios de usuario root o sudo.

Aprendamos más sobre useradd comando y sus opciones.

1) Cómo crear un nuevo usuario en Linux

Como se mencionó anteriormente, para crear un nuevo usuario usamos el comando useradd.

El siguiente comando crea un nuevo usuario llamado ‘factura’ y el segundo comando establece al usuario (‘factura’) una nueva contraseña.

$ sudo useradd bill
$ sudo passwd bill

comando useradd

Esto crea el usuario con el directorio de inicio como /home/bill y copia archivos del directorio ‘/ etc / skel’ al directorio de inicio del usuario.

$ ls -al /home/bill/
total 20
drwx------. 2 bill bill 4096 Mar  9 06:49 .
drwxr-xr-x. 4 root root 4096 Mar  9 06:49 ..
-rw-r--r--. 1 bill bill   18 Nov  8 16:21 .bash_logout
-rw-r--r--. 1 bill bill  141 Nov  8 16:21 .bash_profile
-rw-r--r--. 1 bill bill  312 Nov  8 16:21 .bashrc

Este comando agrega una entrada a los archivos / etc / passwd, / etc / shadow, / etc / group y / etc / gshadow.

Nota: En la distribución relacionada con Ubuntu y Debian, useradd no creará un directorio de inicio predeterminado a menos que tenga que especificar con opciones. En su lugar, Debian recomienda usar el comando adduser.

2) Cree un usuario con un directorio de inicio específico

Para crear un usuario con un directorio de inicio específico como valor para el inicio de sesión del usuario, use -d opción. Asegúrese de crear el directorio de inicio base con el comando mkdir antes de ejecutar el comando.

Creemos el directorio de inicio base llamado ‘devops’:

$ sudo mkdir /devops

Ahora el siguiente comando crea el usuario ‘factura’ y establece su directorio de inicio como ‘/ devops / billhome’.

$ sudo useradd -d /devops/billhome bill
Output
$ sudo useradd -d /devops/billhome bill
$ ls -al /devops/billhome
total 12
drwxr-xr-x  2 bill bill  100 Dec 31 05:13 .
drwxr-xr-x 17 root root 3680 Dec 31 05:13 ..
-rw-r--r--  1 bill bill  220 Apr  4  2018 .bash_logout
-rw-r--r--  1 bill bill 3771 Apr  4  2018 .bashrc
-rw-r--r--  1 bill bill  807 Apr  4  2018 .profile

Puede usar una combinación de -m (crear un directorio de inicio si no existe) y -d (establecer la ruta dada como el nombre del directorio de inicio de sesión del usuario) para crear un usuario.

$ sudo useradd -m -d /home/bobhome bob

3) Creación de un usuario con ID de usuario específico

De forma predeterminada, cuando crea un usuario, asigna el siguiente UID disponible definido en el archivo login.defs. Pero usando -u opción puede crear un usuario con UID específico.

En el siguiente ejemplo, la factura de usuario se crea con un UID específico (3210).

$ useradd -u 3210 bill 
$ grep bill /etc/passwd bill:x:3210:3210::/home/bill:/bin/bash

El UID se puede ver en el archivo ‘/ etc / passwd’ como se muestra en la salida anterior.

4) Crear usuario con un shell de inicio de sesión específico

A veces necesitamos crear un usuario con un shell de inicio de sesión específico (como ksh, tcsh, zsh, etc.) o sin un inicio de sesión de shell (‘/ sbin / nologin’).

Podemos especificar el shell de inicio de sesión asociado con la cuenta del usuario con -s opción como se muestra a continuación:

$ useradd -s /bin/tcsh bill

Puede verificar el shell de inicio de sesión seleccionando el nombre de usuario del archivo / etc / passwd:

$ grep bill /etc/passwd bill:x:504:505::/home/bill:/bin/tcsh

5) Crear un directorio de inicio base específico

Por defecto, los directorios de inicio de los usuarios se encuentran en el directorio ‘/ home’ (variable en / etc / default / useradd). Mediante el uso -b opción, puede tener un directorio de inicio base diferente para el nuevo usuario.

El siguiente comando establece el directorio ‘/ mnt’ como directorio base y crea un directorio de inicio del usuario ‘bill’ como ‘/ mnt / bill’.

$ useradd -b /mnt bill 
$ grep bill /etc/passwd bill:x:504:505::/mnt/bill:/bin/bash

6) Crea un usuario con fecha de caducidad

Al crear un nuevo usuario, puede establecer una fecha de vencimiento para la cuenta de usuario usando -e opción.

El siguiente ejemplo establece la fecha de caducidad (el formato de la fecha es AAAA-MM-DD) para la ‘factura’ del usuario.

$ sudo useradd -e 2013-06-23 bill

Esto se puede verificar marcando el último campo del archivo ‘/ etc / shadow’. El último campo (15879) muestra la fecha de vencimiento en términos de la cantidad de días desde que el 1 de enero de 1970 la cuenta está deshabilitada.

$ sudo grep bill /etc/shadow bill:!!:15813:0:99999:7::15879:

Una forma más fácil de verificar la fecha de vencimiento del usuario es usar el comando chage como se muestra a continuación:

$ sudo chage -l bill
Last password change                                    : Feb 10, 2013
Password expires                                        : never
Password inactive                                       : never
Account expires                                         : Jun 23, 2013
Minimum number of days between password change          : 0
Maximum number of days between password change          : 99999
Number of days of warning before password expires       : 7

los -f La opción proporciona el número de días desde que caduca una contraseña hasta que la cuenta se deshabilita permanentemente. El valor de 0 desactiva la cuenta tan pronto como la contraseña ha expirado.

$ sudo useradd -f 20 bill

Como se muestra en el archivo de sombra, el número de días se establece en 20 (en la penúltima columna).

$ sudo grep bill /etc/shadow bill:!!:15813:0:99999:7:20::

7) Crear un usuario y agregarlo a varios grupos

Cada usuario en Linux debe permanecer en un grupo primario y cero o más grupos secundarios (grupo complementario).

El grupo principal de un usuario al que pertenece se puede configurar con la opción -g. El grupo provisto con esta opción ya debe existir.

$ sudo useradd -g xero bill
$ sudo id bill uid=504(bill) gid=505(xero) groups=505(xero) context=root:system_r:unconfined_t:SystemLow-SystemHigh

El grupo se puede verificar con el comando id. los -G La opción se utiliza para agregar un usuario a grupos adicionales.

$ sudo useradd -G g1,g2,g3 bill

$ sudo id bill uid=504(bill) gid=509(bill) groups=509(bill),506(g1),507(g2),508(g3) context=root:system_r:unconfined_t:SystemLow-SystemHigh

Veamos cómo crear un usuario y asignarlo a varios grupos. El comando creará un nuevo usuario llamado ‘factura’ con el grupo primario ‘equipos’ y los grupos secundarios ‘admin’ y ‘apache’.

$ sudo useradd -g teams -G admin,apache bill

8) Crear ID de usuario duplicado

los -o La opción permite crear una cuenta de usuario con un ID de usuario duplicado (no único). Debe proporcionar un número UID con -u opción.

Mira el siguiente ejemplo:

$ sudo useradd -o -u 503 bill

Aquí podemos ver que existen dos cuentas con 503 ID.

$ sudo grep 503 /etc/passwd 
jenny:x:503:503::/home/jenny:/bin/bash 
bill:x:503:505::/home/bill:/bin/bash

9) Cree un usuario como cuenta del sistema

Normalmente, los UID hasta 500 o 1000 están reservados para cuentas del sistema y no se asignan a usuarios normales. Con -r opción, se le da una cuenta con ID en el rango de usuarios del sistema al usuario que se está creando.

$ sudo useradd -r bill 
$ sudo grep bill /etc/passwd bill:x:101:102::/home/bill:/bin/bash

Aquí, no se crea el directorio de inicio para el usuario. Debe crearse manualmente o proporcionarse -m opción.

10) Cree un usuario sin directorio de inicio

Si no desea crear un directorio de inicio por sí mismo, -M se puede dar la opción.

$ sudo useradd -M bill 
$ sudo grep bill /etc/passwd 
bill:x:504:505::/home/bill:/bin/bash
$ ls /home/bill 
ls: /home/bill: No such file or directory

En la salida del comando ls, se puede ver que el directorio de inicio para el usuario de factura no existe.

11) Cree un usuario con contraseña

La contraseña del usuario está deshabilitada de forma predeterminada. Puede establecer manualmente la contraseña mediante el comando passwd. Pero si desea proporcionar la contraseña en el momento de la creación del usuario, puede utilizar -p opción.

Pero la contraseña proporcionada aquí debe estar cifrada, como la devuelve crypt (3).

$ sudo useradd -p '$1$ZsQB81$RCCVDuI5VR6q905nUPz4a/' bill

12) Cambiar las opciones predeterminadas

Cuando se agrega un usuario a un sistema, algunos valores se toman como predeterminados, por ejemplo, shell, directorio base, etc. El directorio base es el directorio donde residen los directorios de inicio de los usuarios. En la mayoría de los sistemas Linux, los directorios de inicio de los usuarios residen en el directorio / home.

Por ejemplo, el directorio de inicio del usuario tom será ‘/ home / tom’ por defecto. Entonces / home será su directorio base. Estas opciones predeterminadas se definen en el archivo ‘/ etc / defaults / useradd’. Estos valores predeterminados se pueden ver con -D opción para usar el comando useradd:

$ sudo useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/sh SKEL=/etc/skel CREATE_MAIL_SPOOL=no

El comando anterior también puede ser ejecutado por usuarios normales (usuarios no root). los -D La opción se usa no solo para ver los valores predeterminados, sino también para cambiarlos.

13) Crea un usuario con comentario personalizado

Podemos proporcionar el nombre completo o una breve descripción sobre el usuario (un comentario) al crear un usuario. Tienes que usar -c opción para agregar comentarios personalizados.

Dejame mostrarte un ejemplo:

$ sudo useradd -c "Bill Drape" bill

Este comentario se puede ver en la entrada del usuario en el archivo ‘/ etc / passwd’.

$ sudo grep bill /etc/passwd bill:x:504:505:Bill Drape:/home/bill:/bin/bash

Conclusión

En este tutorial, aprendimos cómo crear usuarios en Linux y diferentes opciones del comando useradd. Espero que haya disfrutado de la lectura y deje sus sugerencias en la sección de comentarios a continuación.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar