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
- Crear un nuevo usuario
- Agregar un nuevo usuario y crear un directorio de inicio
- Crear un usuario con un directorio de inicio diferente
- Usuario con una identificación de usuario específica
- Usuario con una identificación de usuario específica
- Agregar un usuario a varios grupos
- Usuario sin directorio de inicio
- Usuario con fecha de caducidad de la cuenta
- Usuario con fecha de caducidad de la contraseña
- Agregar comentarios personalizados al usuario
- Especificación de un shell de inicio de sesión de usuario
- Creación de un usuario del sistema
- Encadenamiento de argumentos
- Cambiar los valores predeterminados de useradd
- Eliminar un usuario de Linux
- Agregar un grupo en Linux
- 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