usermodes una utilidad de línea de comandos que le permite modificar la información de inicio de sesión de un usuario.

Este artículo cubre cómo usar el usermodcomando para agregar un usuario a un grupo, cambiar el shell de un usuario, el nombre de inicio de sesión, el directorio de inicio y más.

usermodMando

La sintaxis del usermodcomando toma la siguiente forma:

usermod [options] USER

Solo los usuarios raíz o con sudo acceso pueden invocar usermody modificar una cuenta de usuario. En caso de éxito, el comando no muestra ningún resultado.

Agregar un usuario a un grupo

El caso de uso más típico usermodes agregar un usuario a un grupo.

Para agregar un usuario existente a un grupo secundario, use las -a -Gopciones seguidas del nombre del grupo y el nombre de usuario:

usermod -a -G GROUP USER

Si desea agregar el usuario a varios grupos a la vez, especifique los grupos después de la -Gopción separados por ,(comas) sin espacios en blanco intermedios.

Por ejemplo, para agregar el usuario heymarkething al gamesgrupo, ejecutaría el siguiente comando:

sudo usermod -a -G games heymarkething

Utilice siempre la -aopción (añadir) al agregar un usuario a un nuevo grupo. Si omite la -aopción, el usuario será eliminado de los grupos que no aparecen después de la -Gopción.

Si el usuario o grupo no existe, el comando le avisará.

Cambiar grupo principal de usuario

Para cambiar el grupo principal de un usuario, invoque el usermodcomando con la -gopción seguida del nombre del grupo y el nombre de usuario:

sudo usermod -g GROUP USER

En el siguiente ejemplo, estamos cambiando el grupo principal del usuario heymarkethingdevelopers:

usermod -g developers heymarkething

Cada usuario puede pertenecer exactamente a un grupo primario y cero o más grupos secundarios.

Cambiar la información del usuario

Para cambiar la información de GECOS (el nombre completo del usuario), ejecute el comando con la -copción seguida del nuevo comentario y nombre de usuario:

usermod -c "GECOS Comment" USER

Aquí hay un ejemplo que muestra cómo agregar información adicional al usuario heymarkething:

usermod -c "Test User" heymarkething

Esta información se almacena en el /etc/passwd archivo.

Cambio de un directorio de inicio de usuario

En la mayoría de los sistemas Linux, los directorios de inicio de los usuarios reciben el nombre del usuario y se crean bajo el /homedirectorio.

Si, por alguna razón, desea cambiar el directorio de inicio del usuario, invoque el usermodcomando con la -dopción seguida de la ruta absoluta del nuevo directorio de inicio y el nombre del usuario:

usermod -d HOME_DIR USER

De forma predeterminada, el comando no mueve el contenido del directorio de inicio del usuario al nuevo. Para mover el contenido, utilice la -mopción. Si el nuevo directorio aún no existe, se crea:

usermod -d HOME_DIR -m USER

Aquí hay un ejemplo que muestra cómo cambiar el directorio de inicio del usuario www-data/var/www:

usermod -d /var/www www-data

Cambio de un shell predeterminado de usuario

El shell predeterminado es el shell que se ejecuta después de iniciar sesión en el sistema. De forma predeterminada, en la mayoría de los sistemas Linux, el shell predeterminado se establece en Bash Shell.

Para cambiar el shell predeterminado del usuario, ejecute el comando con la -sopción siguió la ruta absoluta del shell y el nombre del usuario:

usermod -s SHELL USER

En el siguiente ejemplo, estamos cambiando el shell de usuario a Zsh:

sudo usermod -s /usr/bin/zsh heymarkething

Puede averiguar qué shells están disponibles en su sistema mostrando el /etc/shellscontenido del archivo.

Cambio de un UID de usuario

UID (el identificador de usuario) es un número asignado a cada usuario. Es utilizado por el sistema operativo para referirse a un usuario.

Para cambiar el UID del usuario, invoque el comando con la -uopción seguida del nuevo UID y el nombre del usuario:

usermod -u UID USER

El siguiente ejemplo muestra cómo cambiar el número "UID" a "1050":

sudo usermod -u 1050 heymarkething

El UID de los archivos que son propiedad del usuario y se encuentran en el directorio de inicio del usuario, y el archivo del buzón del usuario se cambiará automáticamente. La propiedad de todos los demás archivos debe cambiarse manualmente.

Cambiar un nombre de usuario

Aunque no muy a menudo, a veces es posible que desee cambiar el nombre de un usuario existente. La -lopción se utiliza para cambiar el nombre de usuario:

usermod -l NEW_USER USER

En el siguiente ejemplo, estamos cambiando el nombre del usuario heymarkething lisa"1050":

sudo usermod -l heymarkething lisa

Al cambiar el nombre de usuario, es posible que también desee cambiar el directorio de inicio del usuario para reflejar el nuevo nombre de usuario.

Configuración de una fecha de caducidad de usuario

La fecha de caducidad es la fecha en la que se desactivará la cuenta de usuario. Para configurar la fecha de caducidad del usuario, utilice la -eopción:

sudo usermod -e DATE USER

La fecha de caducidad debe establecerse utilizando el formato YYYY-MM-DD.

Por ejemplo, para deshabilitar el usuario heymarkething en 2022-02-21, ejecutaría el siguiente comando:

sudo usermod -e "2022-02-21" heymarkething

Para deshabilitar la caducidad de una cuenta, establezca una fecha de caducidad vacía:

sudo usermod -e "" heymarkething

Utilice el chage -lcomando para ver la fecha de caducidad del usuario:

sudo chage -l heymarkething
Last password change					: Jul 24, 2018
Password expires					: never
Password inactive					: never
Account expires						: never
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

La fecha de caducidad se almacena en el /etc/shadow archivo.

Bloqueo y desbloqueo de una cuenta de usuario

La -Lopción le permite bloquear una cuenta de usuario:

usermod -L USER

Los comandos insertarán un signo de exclamación ( !) delante de la contraseña cifrada. Cuando el campo de contraseña en el /etc/shadowarchivo contiene un signo de exclamación, el usuario no podrá iniciar sesión en el sistema mediante la autenticación de contraseña. Todavía se permiten otros métodos de inicio de sesión, como la autenticación basada en claves o el cambio al usuario . Si desea bloquear la cuenta y deshabilitar todos los métodos de inicio de sesión, también debe establecer la fecha de vencimiento en 1.

Los siguientes ejemplos muestran cómo bloquear al usuario heymarkething:

sudo usermod -L heymarkething
sudo usermod -L -e 1 heymarkething

Para desbloquear un usuario, ejecute usermodcon la -Uopción:

usermod -U USER

Conclusión

Le mostramos cómo usar el usermodcomando para configurar la información de la cuenta de usuario.

Siéntase libre de dejar un comentario si tiene alguna pregunta.