Linux es un sistema multiusuario, lo que significa que más de una persona puede interactuar con el mismo sistema al mismo tiempo. Como administrador del sistema, tiene la responsabilidad de administrar los usuarios y grupos del sistema creando y eliminando usuarios y asignándolos a diferentes grupos.
En este artículo, hablaremos sobre cómo crear nuevas cuentas de usuario usando useradd
comando.
useradd
Comando #
La sintaxis general para useradd
El comando es el siguiente:
useradd [OPTIONS] USERNAME
Solo los usuarios root o con privilegios sudo pueden usar el useradd
comando para crear nuevas cuentas 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.
Las variables definidas en este archivo difieren de una distribución a otra, lo que hace que useradd
Comando para producir diferentes resultados en diferentes sistemas.
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.
Cómo crear un nuevo usuario en Linux #
Para crear una nueva cuenta de usuario, invoque el useradd
comando seguido del nombre del usuario.
Por ejemplo, para crear un nuevo usuario llamado username
ejecutarías:
sudo useradd username
Cuando se ejecuta sin ninguna opción, useradd
crea una nueva cuenta de usuario utilizando la configuración predeterminada especificada en /etc/default/useradd
expediente.
El comando agrega una entrada a /etc/passwd
, /etc/shadow,
/etc/group
y /etc/gshadow
archivos.
Para poder iniciar sesión como el usuario recién creado, debe establecer la contraseña de usuario. Para hacerlo, ejecute passwd
comando seguido del nombre de usuario:
sudo passwd username
Se le pedirá que ingrese y confirme la contraseña. Asegúrate de utilizar una contraseña segura.
Changing password for user username.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
Cómo agregar un nuevo usuario y crear un directorio de inicio #
En la mayoría de las distribuciones de Linux, al crear una nueva cuenta de usuario con useradd
, el directorio de inicio del usuario no se crea.
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. Si enumera los archivos en /home/username
directorio, verá los archivos de inicialización:
ls -la /home/username/
drwxr-xr-x 2 username username 4096 Dec 11 11:23 .
drwxr-xr-x 4 root root 4096 Dec 11 11:23 ..
-rw-r--r-- 1 username username 220 Apr 4 2018 .bash_logout
-rw-r--r-- 1 username username 3771 Apr 4 2018 .bashrc
-rw-r--r-- 1 username username 807 Apr 4 2018 .profile
Dentro del directorio de inicio, el usuario puede escribir, editar y eliminar archivos y directorios.
Creación de un usuario con número de directorio de inicio específico
Por defecto useradd
crea el directorio de inicio del usuario en /home
. Si desea crear el directorio de inicio del usuario en otra ubicación, utilice la d
(--home
) opción.
Aquí hay un ejemplo que muestra cómo crear un nuevo usuario llamado username
con un directorio de inicio de /opt/username
:
sudo useradd -m -d /opt/username username
Creación de un usuario con número de ID de usuario específico
En los sistemas operativos Linux y similares a Unix, los usuarios se identifican mediante un UID y un nombre de usuario únicos.
El identificador de usuario (UID) es un número entero positivo único asignado por el sistema Linux a cada usuario. El UID y otras políticas de control de acceso se utilizan para determinar los tipos de acciones que un usuario puede realizar en los recursos del sistema.
De manera predeterminada, cuando se crea un nuevo usuario, el sistema asigna el siguiente UID disponible del rango de ID de usuario especificado en login.defs
archivo.
Invocar useradd
con el -u
(--uid
) opción para crear un usuario con un UID específico. Por ejemplo, para crear un nuevo usuario llamado username
con UID de 1500
escribirías:
sudo useradd -u 1500 username
Puede verificar el UID del usuario, usando el id
comando:
id -u username
1500
Creación de un usuario con número de ID de grupo específico
Los grupos de Linux son unidades de organización que se utilizan para organizar y administrar cuentas de usuario en Linux. El objetivo principal de los grupos es definir un conjunto de privilegios, como permiso de lectura, escritura o ejecución para un recurso determinado que se puede compartir entre los usuarios dentro del grupo.
Al crear un nuevo usuario, el comportamiento predeterminado del useradd
El comando es crear un grupo con el mismo nombre que el nombre de usuario y el mismo GID que el UID.
El -g
(--gid
) le permite crear un usuario con un grupo de inicio de sesión inicial específico. Puede especificar el nombre del grupo o el número GID. El nombre del grupo o GID ya debe existir.
El siguiente ejemplo muestra cómo crear un nuevo usuario llamado username
y establezca el grupo de inicio de sesión en users
tipo:
sudo useradd -g users username
Para verificar el GID del usuario, use el id
comando:
id -gn username
users
Creación de un usuario y asignación de varios grupos #
Hay dos tipos de grupos en los sistemas operativos Linux, el grupo primario y el grupo secundario (o complementario). Cada usuario puede pertenecer exactamente a un grupo principal y cero o más grupos secundarios.
Puede especificar una lista de grupos complementarios de los que el usuario será miembro con -G
(--groups
) opción.
El siguiente comando crea un nuevo usuario llamado username
con el grupo principal users
y grupos secundarios wheel
y docker
.
sudo useradd -g users -G wheel,developers username
Puede comprobar los grupos de usuarios escribiendo
id username
uid=1002(username) gid=100(users) groups=100(users),10(wheel),993(docker)
Creación de un usuario con Shell de inicio de sesión específico #
De forma predeterminada, el shell de inicio de sesión del nuevo usuario se establece en el especificado en /etc/default/useradd
expediente. En algunas distribuciones, el shell predeterminado se establece en /bin/sh
mientras que en otros se establece en /bin/bash
.
El -s
(--shell
) le permite especificar el shell de inicio de sesión del nuevo usuario.
Por ejemplo, para crear un nuevo usuario llamado username
con /usr/bin/zsh
como tipo de shell de inicio de sesión:
sudo useradd -s /usr/bin/zsh username
Verifique la entrada del usuario en /etc/passwd
archivo para verificar el shell de inicio de sesión del usuario:
grep username /etc/passwd
username:x :1001:1001::/home/username:/usr/bin/zsh
Creando un Usuario con Comentario Personalizado #
El -c
(--comment
) le permite agregar 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.
En el siguiente ejemplo, estamos creando un nuevo usuario llamado username
con cadena de texto Test User Account
como comentario:
sudo useradd -c "Test User Account" username
El comentario se guarda en /etc/passwd
archivo:
grep username /etc/passwd
username:x :1001:1001:Test User Account:/home/username:/bin/sh
El campo de comentarios también se conoce como GECOS
.
Creando un Usuario con Fecha de Vencimiento #
Para definir una hora en la que caducan las nuevas cuentas de usuario, use -e
(--expiredate
) opción. Esto es útil para crear cuentas temporales.
La fecha debe especificarse mediante el YYYY-MM-DD
formato.
Por ejemplo, para crear una nueva cuenta de usuario llamada username
con una fecha de vencimiento establecida para el 22 de enero de 2019, ejecutaría:
sudo useradd -e 2019-01-22 username
Usa el chage
comando para verificar la fecha de caducidad de la cuenta de usuario:
sudo chage -l username
La salida se verá así:
Last password change : Dec 11, 2018
Password expires : never
Password inactive : never
Account expires : Jan 22, 2019
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
Creación de un número de usuario del sistema
No existe una diferencia técnica real entre el sistema y los usuarios regulares (normales). Por lo general, los usuarios del sistema se crean al instalar el sistema operativo y los nuevos paquetes.
Usa el -r
(--system
) opción para crear una cuenta de usuario del sistema. Por ejemplo, para crear un nuevo usuario del sistema llamado username
ejecutarías:
sudo useradd -r username
Los usuarios del sistema se crean sin fecha de caducidad. Sus UID se eligen del rango de ID de usuario del sistema especificado en login.defs
archivo, que es diferente al rango utilizado para usuarios normales.
Cambiando los Valores Adicionales de Usuario Predeterminados #
Las opciones de adición de usuario predeterminadas se pueden ver y cambiar usando -D
, --defaults
opción, o editando manualmente los valores en el /etc/default/useradd
archivo.
Para ver las opciones predeterminadas actuales, escriba:
useradd -D
La salida se verá así:
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no
Digamos que desea cambiar el shell de inicio de sesión predeterminado de /bin/sh
a /bin/bash
. Para hacer eso, especifique el nuevo shell como se muestra a continuación:
sudo useradd -D -s /bin/bash
Puede verificar que el valor de shell predeterminado haya cambiado ejecutando el siguiente comando:
sudo useradd -D | grep -i shell
SHELL=/bin/bash
Conclusión #
Le mostramos cómo crear nuevas cuentas de usuario usando el useradd
dominio. Las mismas instrucciones se aplican a cualquier distribución de Linux, incluidos Ubuntu, CentOS, RHEL, Debian, Fedora y Arch Linux.
useradd
es una utilidad de bajo nivel, los usuarios de Debian y Ubuntu pueden usar el comando adduser más amigable en su lugar.
Siéntase libre de dejar un comentario si tiene alguna pregunta.