Búsqueda de sitios web

15 comandos útiles de Useradd con ejemplos en Linux


Todos conocemos los comandos más populares llamados 'useradd' o 'adduser' en Linux. Hay ocasiones en las que se le pide a un administrador del sistema Linux que cree cuentas de usuario en Linux con propiedades, limitaciones o comentarios específicos.

En Linux, el comando 'useradd' es una utilidad de bajo nivel que se utiliza para agregar o crear cuentas de usuario en Linux y otros sistemas operativos similares a Unix. El comando 'adduser' es muy similar al comando 'useradd', ya que es solo un enlace simbólico al mismo.

En algunas distribuciones de Linux, el comando 'useradd' puede tener una versión ligeramente diferente. Sugiero leer su documentación antes de seguir nuestras instrucciones para crear nuevas cuentas de usuario en Linux.

Cuando ejecutamos el comando 'useradd' en la terminal de Linux, realiza las siguientes tareas principales:

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

Sintaxis del comando Useradd

La sintaxis básica del comando 'useradd' es:

useradd [options] username

En este artículo, demostraremos los 15 comandos 'useradd' más utilizados con ejemplos prácticos en Linux.

1. Cómo Agregar un Nuevo Usuario en Linux

Para agregar o crear un nuevo usuario, debe usar el comando 'useradd' o 'adduser' seguido del 'nombre de usuario'. El 'nombre de usuario' es el nombre de inicio de sesión que utiliza un usuario para iniciar sesión en el sistema.

Solo se puede agregar un usuario y el nombre de usuario debe ser único y no existir aún en el sistema.

Por ejemplo, para agregar un nuevo usuario llamado 'tecmint' use el siguiente comando:

useradd tecmint

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

passwd tecmint

Changing password for user tecmint.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

Una vez que se crea un nuevo usuario, su entrada se agrega automáticamente al archivo '/etc/passwd'. Este archivo se utiliza para almacenar la información del usuario y la entrada debe ser.

tecmint:x:1000:1000:tecmint:/home/tecmint:/bin/bash

La entrada anterior contiene un conjunto de siete campos separados por dos puntos, cada campo tiene su propio significado.

Veamos cuáles son estos campos:

  • Nombre de usuario: el nombre de inicio de sesión del usuario se utiliza para iniciar sesión en el sistema. Debe tener entre 1 y 32 caracteres.
  • Contraseña: la contraseña del usuario (o el carácter 'x') se almacena en el archivo '/etc/shadow' en un formato cifrado.
  • ID de usuario (UID): cada usuario debe tener un ID de usuario (UID), que significa Número de identificación de usuario. De forma predeterminada, UID 0 está reservado para el usuario raíz y los UID que van del 1 al 99 están reservados para otras cuentas predefinidas. Además, los UID que van del 100 al 999 están reservados para cuentas y grupos del sistema.
  • ID de grupo (GID):: el ID de grupo principal (GID), que significa Número de identificación de grupo, se almacena en el ' /etc/group'.
  • Información del usuario: este campo es opcional y le permite definir información adicional sobre el usuario, como el nombre completo del usuario. Esta información se puede completar usando el comando del dedo.
  • Directorio de inicio: la ubicación absoluta del directorio de inicio del usuario.
  • Shell: la ubicación absoluta del shell de un usuario, es decir, /bin/bash.

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

De forma predeterminada, el comando 'useradd' crea un directorio de inicio de usuario en el directorio '/home' con el nombre de usuario. Por ejemplo, como se vio arriba, el directorio de inicio predeterminado para el usuario 'tecmint' es '/home/tecmint'.

Sin embargo, este comportamiento se puede cambiar usando la opción '-d' junto con la ubicación del nuevo directorio de inicio (por ejemplo, '/data/projects'). Por ejemplo, el siguiente comando creará un usuario 'anusha' con un directorio de inicio configurado en '/data/projects'.

useradd -d /data/projects anusha
passwd anusha

Puede ver el directorio de inicio del usuario y otra información relacionada con el usuario, como ID de usuario, ID de grupo, shell y comentarios utilizando el siguiente comando cat.

cat /etc/passwd | grep anusha

anusha:x:1001:1001::/data/projects:/bin/bash

3. Cómo crear un usuario con una identificación de usuario específica

En Linux, cada usuario tiene su propio UID (Número de identificación único). De forma predeterminada, cuando creamos una nueva cuenta de usuario en Linux, asigna los ID de usuario 500, 501, 502, etc.

Sin embargo, podemos crear usuarios con ID de usuario personalizados usando la opción '-u'. Por ejemplo, el siguiente comando creará un usuario 'navin' con un ID de usuario personalizado '1002'.

useradd -u 1002 navin

Ahora, verifiquemos que el usuario creó con un ID de usuario definido (1002) usando el siguiente comando.

cat /etc/passwd | grep navin

navin:x:1002:1002::/home/navin:/bin/bash

NOTA: asegúrese de que el valor de una ID de usuario sea único respecto de cualquier otro usuario ya creado en el sistema.

4. Cómo crear un usuario con una ID de grupo específica

Del mismo modo, cada usuario tiene su propio GID (Identificador de grupo). También podemos crear usuarios con ID de grupo específicos usando la opción '-g'.

En este ejemplo, agregaremos un usuario 'tarunika' con un UID y un GID específicos simultáneamente con la ayuda del '- Opciones u' y '-g'.

useradd -u 1005 -g tecmint tarunika

Ahora, verifique la ID de usuario asignada y la ID de grupo en el archivo '/etc/passwd'.

cat /etc/passwd | grep tarunika

tarunika:x:1005:1000::/home/tarunika:/bin/bash

Para verificar el GID del usuario, use el comando id:

id -gn tarunika

5. Cómo agregar un usuario a varios grupos

La opción '-G' se utiliza para agregar un usuario a grupos adicionales. Cada nombre de grupo está separado por una coma, sin espacios intermedios.

En este ejemplo, agregamos un usuario 'tecmint' a varios grupos, como admins, webadmin y desarrolladores. fuerte>.

groupadd admins
groupadd webadmin
groupadd developers
usermod -a -G admins,webadmin,developers tecmint
useradd -G admins,webadmin,developers paddy

A continuación, verifique que los múltiples grupos estén asignados al usuario con el comando id.

id tecmint

uid=1000(tecmint) gid=1000(tecmint)
groups=1000(tecmint),1007(admins),1008(webadmin),1009(developers)
context=root:system_r:unconfined_t:SystemLow-SystemHigh

6. Cómo agregar un usuario sin directorio personal

En determinadas situaciones, en las que no queremos asignar directorios de inicio a un usuario por razones de seguridad, el directorio de inicio del usuario será raíz cuando inicie sesión en un sistema que acaba de reiniciar. Cuando dicho usuario utiliza el comando 'su', su directorio de inicio de sesión será el directorio de inicio del usuario anterior.

Para crear usuarios sin sus directorios personales, se utiliza la opción '-M'. Por ejemplo, el siguiente comando creará un usuario 'shilpi' sin un directorio de inicio.

useradd -M shilpi

Ahora, verifiquemos que el usuario se haya creado sin un directorio de inicio usando el comando ls.

ls -l /home/shilpi

ls: cannot access /home/shilpi: No such file or directory

7. Cómo Crear un Usuario con Fecha de Caducidad en Linux

De forma predeterminada, cuando agregamos usuarios con el comando 'useradd', la cuenta de usuario nunca caduca, lo que significa que su fecha de vencimiento se establece en 0 (lo que significa que nunca caduca).

Sin embargo, podemos establecer la fecha de vencimiento usando la opción '-e', que debe estar en el formato AAAA-MM-DD. Esto es útil para crear cuentas temporales por un período de tiempo específico.

En este ejemplo, creamos un usuario 'aparna' con una fecha de vencimiento de la cuenta, que es el 27 de agosto de 2021, en el formato AAAA-MM-DD . formato.

useradd -e 2021-08-27 aparna

A continuación, verifique la información de antigüedad de la cuenta y la contraseña utilizando el comando 'chage' para el usuario 'aparna' después de configurar la fecha de vencimiento de la cuenta.

chage -l aparna

Last password change					: Jun 25, 2021
Password expires					: never
Password inactive					: never
Account expires						: Aug 27, 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

8. Cómo crear un usuario con fecha de vencimiento de la contraseña

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

En este ejemplo, estableceremos una fecha de vencimiento de la contraseña de la cuenta, que es 45 días, para un usuario 'mansi' usando el código '-e' y opciones '-f'.

useradd -e 2014-04-27 -f 45 mansi

9. Cómo Agregar un Usuario con Comentarios en Linux

La opción '-c' le permite agregar comentarios personalizados, como el nombre completo del usuario, número de teléfono, etc., al archivo '/etc/passwd'. El comentario se puede agregar como una sola línea sin espacios.

Por ejemplo, el siguiente comando agregará un usuario 'mansi' e insertará el nombre completo de ese usuario, Manis Khurana, en el campo de comentarios.

useradd -c "Manis Khurana" mansi

Puede ver el comentario insertado en el archivo '/etc/passwd' en la sección de comentarios usando el comando tail.

tail -1 /etc/passwd

mansi:x:1010:1013:Manis Khurana:/home/mansi:/bin/sh

10. Cómo crear un Shell de inicio de sesión de usuario en Linux

A veces, agregamos usuarios que no tienen nada que ver con el shell de inicio de sesión o, a veces, se nos pide que asignemos diferentes shells a nuestros usuarios. Podemos asignar diferentes shells de inicio de sesión a cada usuario con la opción '-s'.

Aquí, en este ejemplo, se agregará un usuario 'tecmint' sin un shell de inicio de sesión, es decir, un shell '/sbin/nologin'.

useradd -s /sbin/nologin tecmint

Puede verificar el shell asignado al usuario en el archivo '/etc/passwd'.

tail -1 /etc/passwd

tecmint:x:1011:1014::/home/tecmint:/sbin/nologin

11. Cómo crear un usuario con inicio, shell y comentario especificados

El siguiente comando creará un usuario 'ravi' con un directorio de inicio '/var/www/tecmint', un shell predeterminado de /bin/bash e información adicional sobre el usuario.

useradd -m -d /var/www/ravi -s /bin/bash -c "TecMint Owner" -U ravi

En el comando anterior, las opciones '-m' y '-d' crean un usuario con un directorio de inicio específico, y '-s' La opción establece el shell predeterminado del usuario en /bin/bash. La opción '-c' agrega información adicional sobre el usuario y el argumento '-U' crea/agrega un grupo con el mismo nombre que el usuario.

12. Cómo crear un usuario con un inicio, shell, comentario, UID/GID definidos

El comando es muy similar al anterior, pero aquí definimos el shell como '/bin/zsh' y configuramos UID y GID personalizados. para un usuario 'tarunika'. La opción '-u' define el UID del nuevo usuario (es decir, 100), y la opción '-g' define el GID (es decir, , 1000).

useradd -m -d /var/www/tarunika -s /bin/zsh -c "TecMint Technical Writer" -u 1000 -g 100 tarunika

13. Cómo crear un usuario con inicio, sin shell, comentario y UID

El siguiente comando es muy similar a los dos comandos anteriores. La única diferencia es que aquí deshabilitamos el shell de inicio de sesión para un usuario llamado 'avishek' con una ID de usuario personalizada (es decir, 1019).

La opción '-s' establece el shell predeterminado en /bin/bash, pero en este caso, configuramos el shell de inicio de sesión en '/usr/sbin/ nologin'. Eso significa que el usuario 'avishek' no podrá iniciar sesión en el sistema.

useradd -m -d /var/www/avishek -s /usr/sbin/nologin -c "TecMint Sr. Technical Writer" -u 1019 avishek

14. Cómo crear un usuario con un inicio, un shell, un esqueleto y un UID específicos

El único cambio en este comando es que usamos la opción '-k' para configurar el directorio esqueleto personalizado en /etc/custom.skell en lugar del predeterminado, < fuerte>/etc/skel. También utilizamos la opción '-s' para definir un shell diferente, /bin/tcsh, para el usuario ‘navin‘.

useradd -m -d /var/www/navin -k /etc/custom.skell -s /bin/tcsh -c "No Active Member of TecMint" -u 1027 navin

15. Cómo crear un usuario sin inicio, shell o grupo, con comentario

El siguiente comando es muy diferente de los demás comandos explicados anteriormente. Aquí, usamos la opción '-M' para crear un usuario sin el directorio de inicio del usuario, y la opción '-N' se usa para indicarle al sistema que solo cree un nombre de usuario (sin grupo). La opción '-r' es para crear un usuario del sistema.

useradd -M -N -r -s /bin/false -c "Disabled TecMint Member" clayton

Para obtener más información y opciones sobre 'useradd', ejecute el comando 'useradd' en la terminal para ver las opciones disponibles

useradd

Si desea modificar los atributos de la cuenta de usuario, como modificar el nombre de usuario, la ID de usuario (UID), el directorio de inicio, el shell y más, use el comando usermod.