GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo administrar usuarios con useradd en linux

añadir usuario El comando es una utilidad de bajo nivel que se usa para agregar/crear cuentas de usuario en Linux y otros similares a Unix sistemas operativos.

Linux es un sistema multiusuario, lo que significa que más de una persona puede interactuar con el mismo sistema al mismo tiempo. Estos usuarios deben crearse antes de que usen el sistema.

Cuando se invoca, useradd crea una nueva cuenta de usuario de acuerdo con las opciones especificadas en la línea de comando y los valores predeterminados establecidos en /etc/default/useradd expediente. useradd también lee el contenido de /etc/login.defs expediente. Este archivo contiene la configuración para el conjunto de contraseñas ocultas, como la política de caducidad de la contraseña, los rangos de ID de usuario utilizados al crear el sistema y los usuarios regulares, y más.

Solo los usuarios root o con privilegios sudo pueden usar el comando useradd para crear una nueva cuenta de usuario. Cuando se invoca, useradd crea una nueva cuenta de usuario de acuerdo con las opciones especificadas en la línea de comando y los valores predeterminados establecidos en /etc/default/useradd archivo.

  • Edita /etc/passwd , /etc/sombra , /etc/grupo y /etc/gshadow archivos para las cuentas de usuario recién creadas.
  • Crea y llena un directorio de inicio para el nuevo usuario.
  • Establece permisos y propiedades para el directorio de inicio.

Tabla de contenido

  1. Crear un nuevo usuario
  2. Agregar un nuevo usuario y crear un directorio de inicio
  3. Crear un usuario con un directorio de inicio diferente
  4. Usuario con una identificación de usuario específica
  5. Usuario con una identificación de usuario específica
  6. Agregar un usuario a varios grupos
  7. Usuario sin directorio de inicio
  8. Usuario con fecha de caducidad de la cuenta
  9. Usuario con fecha de caducidad de la contraseña
  10. Agregar comentarios personalizados al usuario
  11. Especificación de un shell de inicio de sesión de usuario
  12. Creación de un usuario del sistema
  13. Encadenamiento de argumentos
  14. Cambiar los valores predeterminados de useradd
  15. Eliminar un usuario de Linux
  16. Agregar un grupo en Linux
  17. Cambiar grupo de usuario

1. Crear un nuevo usuario

Sintaxis básica del useradd el comando es:

# sudo useradd [options] username

Ejemplo:

sudo useradd citizix

Cuando agregamos un nuevo usuario en Linux con useradd comando, se crea en un estado bloqueado y para desbloquear esa cuenta de usuario, necesitamos establecer una contraseña para esa cuenta con passwd comando.

$ sudo passwd citizix
Changing password for user citizix.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

Se agrega automáticamente una entrada a /etc/passwd archivo:

$ cat /etc/passwd | grep citizix
citizix:x:1001:1001::/home/citizix:/bin/bash

Los campos en /etc/passwd están separados por dos puntos : y representan lo siguiente:

  • Nombre de usuario :Nombre de inicio de sesión del usuario utilizado para iniciar sesión en el sistema. Debe tener entre 1 y 32 caracteres.
  • Contraseña :Contraseña de usuario (o carácter x) almacenada en /etc/shadow archivo en formato cifrado.
  • ID de usuario (UID) :Todo usuario debe tener un ID de usuario (UID ) Número de identificación del usuario. Por defecto, UID 0 está reservado para el usuario raíz y los UID que van desde 1-99 están reservados para otras cuentas predefinidas. Más UID que van desde 100-999 están reservados para cuentas y grupos del sistema.
  • ID de grupo (GID) :el ID de grupo principal (GID ) Número de identificación del grupo almacenado en /etc/group archivo.
  • Información de usuario :Este campo es opcional y le permite definir información adicional sobre el usuario. Por ejemplo, nombre completo del usuario. Este campo se llena con el comando 'dedo'.
  • Directorio principal :La ubicación absoluta del directorio de inicio del usuario.
  • Concha :la ubicación absoluta del shell de un usuario, es decir, /bin/bash .

2. Agregar un nuevo usuario y crear un directorio de inicio

Utilice el -m (--create-home ) opción para crear el directorio de inicio del usuario como /home/username :

sudo useradd -m username

El comando anterior crea el directorio de inicio del nuevo usuario y copia los archivos de /etc/skel directorio al directorio de inicio del usuario.

3. Crear un usuario con un directorio de inicio diferente

De forma predeterminada, useradd creará un directorio de inicio con el mismo nombre que el nombre de usuario. Para crear un directorio de inicio diferente, use -d argumento con la ruta a ese directorio.

Este comando crea el directorio de inicio /opt/citizixone para el usuario citizixone.

sudo useradd -d /opt/citizixone citizixone

Registrar /etc/passwd

$ cat /etc/passwd | grep citizixone
citizixone:x:1002:1002::/opt/citizixone:/bin/bash

4. Usuario con ID de usuario específico

Si necesita especificar una identificación de usuario para el usuario que se está creando, use el argumento -u (--uid ) así:

sudo useradd -u 1009 citizix

5. ID de grupo específico

Para especificar una identificación de grupo, use -g (--gid ) opción como en este ejemplo:

sudo useradd -g citizix citizixtwo

Verifique el GID del usuario con este comando:

$ sudo id citizixtwo
uid=1003(citizixtwo) gid=1001(citizix) groups=1001(citizix)

$ cat /etc/passwd | grep citizixtwo
citizixtwo:x:1003:1001::/home/citizixtwo:/bin/bash

6. Agregar un usuario a varios grupos

Si desea agregar un usuario a varios grupos, use -G (--groups ) opción como en este ejemplo:

Agregue el usuario citizix a los grupos admins , webadmin , developers :

sudo usermod -a -G admins,webadmin,developers citizix

Crear un usuario citizixtwo añadiéndolo a los grupos admins , webadmin , developers :

sudo useradd -G admins,webadmin,developers citizix

Use estos comandos para verificar que los usuarios se agreguen a los grupos correctamente:

sudo id citizix
sudo id citizixtwo

7. Usuario sin directorio de inicio

Si desea crear un usuario sin un directorio de inicio, use -M opción:

sudo useradd -M citizix

8. Usuario con fecha de caducidad de la cuenta

A veces desea crear un usuario con fecha de caducidad. Use este comando para crear un usuario citizixfour que caducará el 2021-12-30 :

sudo useradd -e 2021-12-30 citizixfour

Para verificar la antigüedad de la cuenta y la contraseña use el chage comando:

$ sudo chage -l citizixfour
Last password change                    : Oct 08, 2021
Password expires                    : never
Password inactive                   : never
Account expires                     : Dec 30, 2021
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

9. Usuario con fecha de caducidad de la contraseña

El -f El argumento se utiliza para definir el número de días que el usuario está inactivo después de que caduca una contraseña. Un valor de 0 desactivar la cuenta de usuario tan pronto como la contraseña haya caducado. De forma predeterminada, el valor de caducidad de la contraseña se establece en -1 significa que nunca caduca.

Aquí, en este ejemplo, estableceremos una fecha de caducidad de la contraseña de la cuenta para que sea 45 days en un usuario citizixfive usando -e y -f opciones.

sudo useradd -e 2021-12-30 -f 45 citizixfive
sudo chage -l citizixfive

10. Agregar comentarios personalizados al usuario

El -c (--comment ) añade una breve descripción para el nuevo usuario. Por lo general, el nombre completo del usuario o la información de contacto se agregan como un comentario.

sudo useradd -c "Citizix User" citizixsix

Compruebe el /etc/passwd

$ cat /etc/passwd | grep citizixsix
citizixsix:x:1006:1006:Citizix User:/home/citizixsix:/bin/bash

11. Especificación de un shell de inicio de sesión de usuario

El -s (--shell ) se utiliza para especificar un shell de inicio de sesión. Podemos usar uno de los shells instalados como /bin/bash o bin/zsh o para los usuarios que no tienen nada que ver con el shell de inicio de sesión podemos hacer /sbin/nologin para especificar que no hay shell de inicio de sesión:

# Specify /bin/zsh
sudo useradd -s /bin/zsh citizix

# Specify no login
sudo useradd -s /sbin/nologin citizix

12. Creación de un usuario del sistema

A veces necesitamos usuarios del sistema que serán utilizados por el sistema o las aplicaciones que instalamos en el sistema.
Utilice -r (--system ) argumento para definir un usuario del sistema:

sudo useradd -r grafana

13. Encadenamiento de argumentos

También podemos encadenar los argumentos al crear un usuario.

Verifique este ejemplo creando un usuario mientras crea un directorio de inicio específico /var/www/citizix y definiendo un shell de inicio de sesión personalizado /bin/zsh y agregando un comentario Citizix Web User :

sudo useradd -m -d /var/www/citizix -s /bin/zsh -c "Citizix Web User" -U citizix

14. Cambio de los valores predeterminados de adición de usuario

El useradd los valores predeterminados se almacenan en el archivo /etc/default/useradd .

Revisa el contenido de /etc/default/useradd :

$ cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

También puede consultarlos usando el argumento -D para useradd comando:

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

Para actualizar o cambiar estos valores, edite el archivo o use useradd -D pasando los valores.

Ejemplo cambiando el shell de inicio de sesión de /bin/bash a /bin/zsh

sudo useradd -D -s /bin/zsh

Verifiquemos que se actualizó:

$ sudo useradd -D | grep -i shell
SHELL=/bin/zsh

15. Eliminación de un usuario de Linux

Para eliminar un usuario, use el userdel comando:

sudo userdel citizixfive

16. Agregar un grupo en Linux

Para crear manualmente un grupo, use el comando.

Esto crea un grupo sftp-users en nuestro sistema:

sudo groupadd sftp-users

Confirmemos que el grupo fue creado

$ sudo grep sftp-users /etc/group
sftp-users:x:1007:

Utilice el comando -G para otros grupos (-G agrega al usuario a un nuevo grupo pero también lo mantiene en el anterior (adjuntar).

Usa el id comando para confirmar

sudo id citizix

17. Cambiar grupo de usuario

Para crear un usuario y cambiar su grupo principal al especificado, use -g opción:

sudo useradd -g citizix citizixseven

Conclusión

Hemos explorado cómo hacer operaciones básicas con useradd comandos Logramos crear usuarios, agregarlos a grupos y modificarlos o eliminarlos.

Puede usar las páginas de manual para obtener más información sobre el comando useradd:

man useradd

Para verificar todas las opciones para useradd, escriba el comando en la terminal sin opción:

$ useradd
Usage: useradd [options] LOGIN
       useradd -D
       useradd -D [options]

Options:
  -b, --base-dir BASE_DIR       base directory for the home directory of the
                                new account
  -c, --comment COMMENT         GECOS field of the new account
  -d, --home-dir HOME_DIR       home directory of the new account
  -D, --defaults                print or change default useradd configuration
  -e, --expiredate EXPIRE_DATE  expiration date of the new account
  -f, --inactive INACTIVE       password inactivity period of the new account
  -g, --gid GROUP               name or ID of the primary group of the new
                                account
  -G, --groups GROUPS           list of supplementary groups of the new
                                account
  -h, --help                    display this help message and exit
  -k, --skel SKEL_DIR           use this alternative skeleton directory
  -K, --key KEY=VALUE           override /etc/login.defs defaults
  -l, --no-log-init             do not add the user to the lastlog and
                                faillog databases
  -m, --create-home             create the user's home directory
  -M, --no-create-home          do not create the user's home directory
  -N, --no-user-group           do not create a group with the same name as
                                the user
  -o, --non-unique              allow to create users with duplicate
                                (non-unique) UID
  -p, --password PASSWORD       encrypted password of the new account
  -r, --system                  create a system account
  -R, --root CHROOT_DIR         directory to chroot into
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
  -s, --shell SHELL             login shell of the new account
  -u, --uid UID                 user ID of the new account
  -U, --user-group              create a group with the same name as the user
  -Z, --selinux-user SEUSER     use a specific SEUSER for the SELinux user mapping

Linux
  1. Administre los directorios de inicio de los usuarios de Linux con systemd-homed

  2. Cómo eliminar cuentas de usuario con el directorio de inicio en Linux

  3. Cómo crear varias cuentas de usuario en Linux

  4. Agregar usuario a grupo en Linux, cómo hacerlo (con ejemplos)

  5. Administrar usuarios de Linux y grupos de Linux

Cómo crear usuarios usando el comando Useradd en Linux

Cómo administrar versiones de Nodejs con n en Linux

Agregar nuevos usuarios en Linux con el comando Useradd

Cómo crear y administrar nuevos usuarios en Linux

Cómo administrar el almacenamiento con GParted Linux

Cómo crear/agregar usuarios en Linux