La creación de usuarios en un sistema Linux o Unix es una tarea rutinaria para los administradores de sistemas.
A veces, puede crear un solo usuario con la configuración predeterminada, o crear un solo usuario con una configuración personalizada, o crear varios usuarios al mismo tiempo usando algún método de creación masiva de usuarios.
En este artículo, repasemos cómo crear usuarios de Linux en 4 métodos diferentes usando el comando useradd, adduser y newusers con ejemplos prácticos.
Método 1:comando useradd de Linux:crear un usuario con configuraciones predeterminadas
Esta es una herramienta fundamental de bajo nivel para la creación de usuarios. Para crear un usuario con configuraciones predeterminadas, use useradd como se muestra a continuación.
Syntax: # useradd LOGIN-NAME
Al crear usuarios como se mencionó anteriormente, se tomarán todas las opciones predeterminadas, excepto la identificación del grupo. Para ver las opciones predeterminadas, dé el siguiente comando con la opción -D.
$ useradd -D GROUP=1001 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/sh SKEL=/etc/skel CREATE_MAIL_SPOOL=no
- GRUPO: Esta es la única opción que no se tomará como predeterminada. Porque si no especifica la opción -n, se creará un grupo con el mismo nombre que el usuario y el usuario se agregará a ese grupo. Para evitar eso y hacer que el usuario sea miembro del grupo predeterminado, debe dar la opción -n.
- INICIO: Este es el prefijo de ruta predeterminado para el directorio de inicio. Ahora el directorio de inicio se creará como /home/USERNAME.
- INACTIVO: -1 de forma predeterminada desactiva la función de desactivar la cuenta una vez que la contraseña del usuario ha caducado. Para cambiar este comportamiento, debe dar un número positivo, lo que significa que si la contraseña caduca después de la cantidad de días dada, la cuenta de usuario se desactivará.
- VENCIMIENTO: La fecha en la que se desactivará la cuenta de usuario.
- CONCHA: Shell de inicio de sesión de los usuarios.
- SKEL :El contenido del directorio skel se copiará en el directorio de inicio de los usuarios.
- CREATE_MAIL_SPOOL :Según el valor crea o no crea la cola de correo.
Ejemplo 1:Creación de un usuario con todas las opciones predeterminadas y con su propio grupo.
El siguiente ejemplo crea ramesh de usuario con ramesh de grupo. Use el comando passwd de Linux para cambiar la contraseña del usuario inmediatamente después de la creación del usuario.
# useradd ramesh # passwd ramesh Changing password for user ramesh. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. # grep ramesh /etc/passwd ramesh:x:500:500::/home/ramesh:/bin/bash # grep ramesh /etc/group ramesh:x:500: [Note: default useradd command created ramesh as username and group]
Ejemplo 2:Creación de un usuario con todas las opciones predeterminadas y con el grupo predeterminado.
# useradd -n sathiya # grep sathiya /etc/passwd sathiya:x:511:100::/home/sathiya:/bin/bash # grep sathiya /etc/group [Note: No rows returned, as group sathiya was not created] # grep 100 /etc/group users:x:100: [Note: useradd -n command created user sathiya with default group id 100] # passwd sathiya Changing password for user sathiya. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. [Note: Always set the password immediately after user creation]
Ejemplo 3:Edición de las opciones predeterminadas utilizadas por useradd.
El siguiente ejemplo muestra cómo cambiar el shell predeterminado de /bin/bash a /bin/ksh durante la creación del usuario.
Syntax: # useradd -D --shell=<SHELLNAME> # useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel [Note: The default shell is /bin/bash] # useradd -D -s /bin/ksh # useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/ksh SKEL=/etc/skel [Note: Now the default shell changed to /bin/ksh] # adduser priya # grep priya /etc/passwd priya:x:512:512::/home/priya:/bin/ksh [Note: New users are getting created with /bin/ksh] # useradd -D -s /bin/bash [Note: Set it back to /bin/bash, as the above is only for testing purpose]
Método 2:comando useradd de Linux:crear usuarios con configuraciones personalizadas
En lugar de aceptar los valores predeterminados (por ejemplo, grupo, shell, etc.) proporcionados por el comando useradd como se muestra en el método anterior, puede especificar valores personalizados en la línea de comando como parámetros para el comando useradd.
Syntax: # useradd -s <SHELL> -m -d <HomeDir> -g <Group> UserName
- -s CONCHA :Shell de inicio de sesión para el usuario.
- -m :crea el directorio de inicio del usuario si no existe.
- -d DirecciónInicio :directorio de inicio del usuario.
- Grupo -g :nombre de grupo o número del usuario.
- Nombre de usuario :ID de inicio de sesión del usuario.
Ejemplo 4:crear un usuario de Linux con configuraciones personalizadas usando el comando useradd
El siguiente ejemplo crea una cuenta (lebron) con el directorio de inicio /home/king, shell predeterminado como /bin/csh y con el comentario "LeBron James".
# useradd -s /bin/csh -m -d /home/king -c "LeBron James" -g root lebron # grep lebron /etc/passwd lebron:x:513:0:LeBron James:/home/king:/bin/csh
Nota: Puede dar la contraseña usando la opción -p, que debe ser una contraseña cifrada. O puede usar el comando passwd para cambiar la contraseña del usuario.
Método 3:Comando adduser de Linux:crear usuarios de forma interactiva
Estas son las herramientas más amigables para el usuario de bajo nivel. De forma predeterminada, elige el formato de política de Debian para UID y GID. Una forma muy sencilla de crear un usuario en la línea de comandos de forma interactiva es mediante el comando adduser.
Syntax: # adduser USERNAME
Ejemplo 5:Creación de un usuario de forma interactiva con el comando adduser
# adduser spidey Adding user `spidey' ... Adding new group `spidey' (1007) ... Adding new user `spidey' (1007) with group `spidey' ... Creating home directory `/home/spidey' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for spidey Enter the new value, or press ENTER for the default Full Name []: Peter Parker Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [y/N] y
Método 4:Comando Linux newusers — Creación de usuarios masivos
En ocasiones, es posible que desee crear varios usuarios al mismo tiempo. El uso de cualquiera de los 3 métodos anteriores para la creación masiva de usuarios puede ser muy tedioso y llevar mucho tiempo. Afortunadamente, Linux ofrece una forma de cargar usuarios usando el comando newusers. Esto también se puede ejecutar en modo por lotes, ya que no puede solicitar ninguna entrada.
# newusers FILENAME
Este formato de archivo es el mismo que el archivo de contraseña.
loginname:password:uid:gid:comment:home_dir:shell
Ejemplo 6:Creación de una gran cantidad de usuarios mediante el comando newusers
Si la familia Simpson decide unirse a su organización y necesita acceso a su servidor Linux, puede crear una cuenta para todos juntos usando el comando newusers como se muestra a continuación.
# cat homer-family.txt homer:HcZ600a9:1008:1000:Homer Simpson:/home/homer:/bin/bash marge:1enz733N:1009:1000:Marge Simpson:/home/marge:/bin/csh bart:1y5eJr8K:1010:1000:Bart Simpson:/home/bart:/bin/ksh lisa:VGz638i9:1011:1000:Lisa Simpson:/home/lisa:/bin/sh maggie:5lj3YGQo:1012:1000:Maggie Simpson:/home/maggie:/bin/bash
Nota: Mientras especifica las contraseñas para los usuarios, siga las mejores prácticas de contraseña, incluida la regla de contraseña 8-4 que analizamos hace un tiempo.
Ahora cree cuentas para la familia Simpson usando el comando newusers como se muestra a continuación.
# newusers homer-family.txt