Cómo usar el comando Usermod en Linux

Una guía detallada sobre los usos del comando usermod en los sistemas Linux con varios ejemplos

El usermod El comando es el comando más robusto de todas las utilidades de modificación de cuentas de usuario proporcionadas por los sistemas Linux. Proporciona un espacio para que el usuario realice modificaciones en las cuentas de usuario existentes.

Usermod ayuda a cambiar las propiedades de los usuarios existentes en un sistema Linux. Estas propiedades pueden incluir parámetros como contraseña, nombre de inicio de sesión, directorio de inicio de sesión, fecha de vencimiento, cambio de ID de usuario y muchos más.

Administrar todos los detalles de la cuenta de usuario desde la línea de comandos es una tarea bastante fácil, pero no todos conocen los comandos para hacerlo. Lo guiaremos a través de todos los escenarios posibles con usermod en el entorno Linux.

Nota: Ejecutar usermod comando debe ser un usuario root o debe tener sudo acceso.

Archivos con detalles de usuario

Como estás a punto de usar usermod comando, es muy importante que conozca los archivos con los que puede necesitar trabajar. Estos archivos contienen toda la información relacionada con las cuentas de usuario presentes en el sistema.

ArchivoDescripción
/ etc / passwdContiene varios datos sobre el usuario.
/ etc / groupContiene información sobre cada grupo utilizado en el sistema.
/ etc / gshadowContiene información de cuenta de grupo segura
/etc/login.defsDefine la configuración específica del sitio para el conjunto de contraseñas ocultas.
/ etc / shadowContiene la contraseña cifrada, así como otra información, como los valores de caducidad de la cuenta o la contraseña.

Sintaxis básica del comando Usermod

La sintaxis a utilizar usermod El comando es bastante básico por naturaleza. Lo importante es conocer las opciones con las que se debe ejecutar este comando.

Sintaxis:

usermod [opciones] nombre de usuario 

Opciones:

OpcionesUso
-lCambiar el nombre del usuario
-DModificar el directorio de inicio de la cuenta de usuario existente
-LBloquear la cuenta de usuario deshabilitando la contraseña
-UDesbloquear el bloqueo de contraseña
-metroMover el contenido del directorio de inicio existente del usuario a cualquier nueva ubicación de directorio
-uCambiar la identificación de usuario del usuario existente
-gramoCambiar el grupo del usuario
-GRAMOUna lista de grupos complementarios de los que el usuario también es miembro.
-sCrear caparazón para nuevas cuentas
-miCambia la fecha de vencimiento de la cuenta de usuario.

Aplicaciones del comando Usermod

Como se indica en la tabla anterior, usermod El comando se usa con diferentes opciones para manipular los atributos relacionados con la información de la cuenta de usuario.

Siga los ejemplos que se dan a continuación para utilizar el usermod comando para sus tareas relacionadas con la cuenta de usuario y la manipulación de sus atributos.

Cambiar el nombre de usuario

El nombre del usuario es una elección personal y se puede cambiar cuando el usuario lo desee. Puede cambiar el nombre de inicio de sesión del usuario de los usuarios existentes en los sistemas Linux a través de la línea de comandos, así como la GUI desde la Configuración. Puede seguir los comandos que se indican a continuación para hacerlo a través de la línea de comando usando el usermod mando.

Sintaxis:

usermod -l [nuevo nombre de usuario] [nombre de usuario existente]

Ejemplo:

sudo usermod -l batman temporal

Producción:

Puede confirmar el cambio de nombre de usuario ejecutando el id [usuario] comando comando.

gaurav @ ubuntu: ~ $ id batman uid = 1002 (batman) gid = 1002 (temporal) grupos = 1002 (temporal) gaurav @ ubuntu: ~ $ id id temporal: 'temporal': no ​​existe tal usuario gaurav @ ubuntu: ~ $

En el resultado anterior, está claro que el nombre de usuario "temporal" se cambia al nuevo nombre de usuario "batman".

Cambiar el grupo principal de un usuario existente

En el ecosistema Linux, la colección de usuarios del sistema informático se denomina "Grupo". El propósito principal de tener "Grupos" es definir ciertos privilegios (Leer, Escribir, Ejecutar) con respecto a los recursos compartidos dentro de los usuarios del grupo. Por lo general, el grupo principal de un usuario tiene el mismo nombre que el del nombre de usuario.

Con usermod, puede cambiar el grupo principal de un usuario y agregar el usuario a otro grupo.

Puede verificar los grupos en su sistema usando el grupos mando.

gaurav @ ubuntu: ~ $ grupos gaurav adm cdrom sudo dip plugdev lpadmin sambashare gaurav @ ubuntu: ~ $

Para cambiar el grupo principal de un usuario, necesitará el nombre de grupo del grupo principal al que está agregado el usuario actualmente. Utilizar el id [nombre de usuario] comando para obtener el nombre del grupo y la identificación del grupo del grupo principal actual del usuario.

gaurav @ ubuntu: ~ $ id batman uid = 1000 (batman) gid = 1000 (batman) grupos = 1000 (batman), 128 (sambashare), 4 (adm), 24 (cdrom), 27 (sudo) gaurav @ ubuntu: ~ $ 

Aquí el grupo principal es "hombre murciélago". Ahora, usa el usermod comando para cambiar el grupo primario del usuario. Estoy cambiando el grupo principal del usuario a "sambashare". Verifique el siguiente comando.

Sintaxis:

sudo usermod -g [nombre de grupo] [nombre de usuario]

Ejemplo:

 sudo usermod -g sambashare batman

Producción:

gaurav @ ubuntu: ~ $ sudo usermod -g sambashare batman gaurav @ ubuntu: ~ $ id batman uid = 1000 (batman) gid = 128 (sambashare) grupos = 128 (sambashare), 1000 (batman), 4 (adm), 24 (cdrom), 27 (sudo) gaurav @ ubuntu: ~ $ 

Usando la operación anterior, el grupo principal del usuario batman ahora se cambia a "sambashare".

Agregar un nuevo grupo a un usuario existente

La cuenta de usuario puede pertenecer a más de un grupo en el sistema Linux. Cada usuario tiene un grupo principal. Y Linux también permite agregar grupos secundarios a los usuarios.

Synatx:

sudo usermod -G [nuevo grupo] [nombre de usuario]

Ejemplo:

sudo usermod -G dip batman

Producción:

gaurav @ ubuntu: ~ $ sudo usermod -G dip batman gaurav @ ubuntu: ~ $ id batman uid = 1000 (batman) gid = 128 (sambashare) grupos = 128 (sambashare), 30 (dip) gaurav @ ubuntu: ~ $ 

Aquí se agrega un nuevo grupo llamado "dip" al usuario "batman".

Nota: Para agregar el nuevo grupo como "Grupo secundario", debe usar -a parámetro.

-a medio adjuntar. Utilizando -a antes de -GRAMO agregará el grupo como un "Grupo secundario" sin cambiar el "Grupo principal" del usuario.

Utilice el siguiente comando para mantener el grupo principal del usuario sin cambios.

sudo usermod -a -G [grupo para agregar] [Usuario]

Cambio del directorio de inicio del usuario

Cuando inicia sesión en su sistema, su sesión comienza en su directorio de inicio, que es exclusivo de su cuenta de usuario. El sistema asigna este directorio único cuando se crea la cuenta de usuario. Linux le ofrece la opción de cambiar su "Directorio de inicio". La mayoría de las veces, el nombre del "Directorio de inicio" es el mismo que el nombre de usuario y se coloca debajo de /casa directorio.

Utilice el siguiente comando para cambiar el "Directorio de inicio" del usuario.

Sintaxis:

sudo usermod -d [new_directory_path] [nombre de usuario]

Para verificar si el directorio de inicio ha cambiado, use el grep mando. He mostrado información sobre el usuario "batman" de la / etc / passwd Archivo.

gaurav @ ubuntu: ~ $ sudo usermod -d / var / hpq / batman gaurav @ ubuntu: ~ $ grep 'var / hpq /' / etc / passwd batman: x: 1001: 4 :: / var / hpq /: / bin / falso gaurav @ ubuntu: ~ $

Nota: Para mover el contenido del antiguo directorio de inicio al nuevo directorio, debe usar -metro. Utilice la sintaxis que se muestra a continuación.

sudo usermod -m -d [new_directory_path] [nombre de usuario]

Cambiar el Uid (identificador de usuario) de un usuario

Uid (Identificador de usuario) es el valor numérico único que Linux asigna a cada usuario. El sistema identifica al usuario con un único uid asignado a él. El UID cero se asigna al usuario root.

Puede cambiar el UID de un usuario usando el comando a continuación.

Sintaxis:

sudo usermod -u [new_UID] usuario

Ejemplo:

Verificando el uid actual para el usuario batman usando el id [usuario] mando.

gaurav @ ubuntu: ~ $ id batman uid = 1000 (batman) gid = 4 (adm) grupos = 4 (adm), 30 (dip)

El uid de Batman ahora es 1000. Cambiemos a 536 usando el usermod-u mando.

gaurav @ ubuntu: ~ $ sudo usermod -u 536 batman [sudo] contraseña para gaurav: gaurav @ ubuntu: ~ $

Ahora, revisemos nuevamente el uid del usuario batman usando el id [usuario] mando

gaurav @ ubuntu: ~ $ id batman uid = 536 (batman) gid = 4 (adm) grupos = 4 (adm), 30 (dip) gaurav @ ubuntu: ~ $

Aquí podemos ver que el uid del usuario batman se cambia de 1000 a 536 usando el usermod -u mando.

Agregar comentarios personales con la cuenta de usuario

Tomemos un ejemplo del usuario "batman". Este usuario está trabajando en una gran oficina y recientemente cambió su número de teléfono de trabajo y de escritorio. Para que pueda agregar estos detalles modificados a su cuenta de usuario mediante el usermod -c mando.

Sintaxis:

sudo usermod -c "Tu comentario" Usuario 

Producción:

gaurav @ ubuntu: ~ $ sudo usermod -c "Tony Stark, 405, 95985475" batman gaurav @ ubuntu: ~ $ sudo grep 'batman' / etc / passwd batman: x: 536: 4: Tony Stark, 405, 95985475: / var / hpq /: / bin / false gaurav @ ubuntu: ~ $

Los cambios se reflejarán en el / etc / passwd Archivo.

Bloquear / deshabilitar a los usuarios

Si desea restringir el acceso al sistema para un determinado usuario, puede hacerlo bloqueando la contraseña de ese usuario en particular. Entonces, incluso si el usuario intenta iniciar sesión con la contraseña, no se le otorgará acceso al sistema. ! El símbolo se agregará delante de la contraseña cifrada del usuario en el / etc / shadow archivo, lo que significa que la contraseña está deshabilitada.

Sintaxis:

sudo usermod -L [usuario]

Producción:

gaurav @ ubuntu: ~ $ sudo usermod -L batman gaurav @ ubuntu: ~ $ sudo grep batman / etc / shadow batman:!: 17612: 0: 99999: 7 ::: gaurav @ ubuntu: ~ $

Desbloqueo / habilitación de usuarios

Puede desbloquear / habilitar fácilmente la contraseña de un usuario que estaba previamente inhabilitado. Puedes consultar el / etc / shadow archivo para el cambio. ! El símbolo se eliminará de la contraseña cifrada del usuario.

Sintaxis:

sudo usermod -U [usuario]
gaurav @ ubuntu: ~ $ sudo usermod -U batman gaurav @ ubuntu: ~ $ sudo grep batman / etc / shadow batman: t: 18511: 0: 99999: 7 ::: gaurav @ ubuntu: ~ $

Cambiar el shell de usuario

El shell GNU / Linux es una utilidad interactiva especial. Proporciona una forma para que los usuarios inicien programas, administren archivos en el sistema de archivos y administren procesos que se ejecutan en el sistema Linux. El shell contiene un conjunto de comandos internos que se utilizan para controlar cosas como copiar archivos, mover archivos, cambiar el nombre de los archivos, mostrar los programas que se están ejecutando actualmente en el sistema y detener los programas que se ejecutan en el sistema.

Puede cambiar el usuario del shell usando usermod -s mando. Utilice la sintaxis dada a continuación.

Sintaxis:

sudo usermod -s / bin / sh [usuario]
gaurav @ ubuntu: ~ $ sudo usermod -s / bin / sh batman [sudo] contraseña para gaurav: gaurav @ ubuntu: ~ $ grep batman / etc / passwd batman: x: 536: 4: Esta es mi cuenta de demostración: / var / www /: / bin / sh

Puede verificar el cambio usando grep comando como se muestra en la salida anterior.

Establecer la fecha de vencimiento del usuario

Si desea que una determinada cuenta de usuario se utilice solo durante un período de tiempo específico, puede establecer una fecha de vencimiento en esa cuenta de usuario. La fecha de caducidad se pone en el formato de AAAA-MM-DD.

Sintaxis:

usermod -e [AAAA-MM-DD] [Usuario]

Para verificar la fecha de vencimiento actual de la cuenta, use el chage -l [usuario] mando.

gaurav @ ubuntu: ~ $ sudo chage -l batman [sudo] contraseña para gaurav: Último cambio de contraseña: 06 de septiembre de 2020 La contraseña expira: nunca Contraseña inactiva: nunca La cuenta expira: nunca Número mínimo de días entre cambios de contraseña: 0 Número máximo de días entre cambio de contraseña: 99999 Número de días de advertencia antes de que expire la contraseña: 7 gaurav @ ubuntu: ~ $ 

En el resultado anterior, podemos ver que actualmente la fecha de caducidad del usuario batman no está configurada. Ahora usaremos el modo de usuario comando para establecer la fecha de caducidad para el usuario batman.

Ejemplo:

sudo usermod -e 2022-06-19 batman

Ahora comprobaremos el estado de la fecha de caducidad del usuario nuevamente usando el chage -l [usuario] mando.

gaurav @ ubuntu: ~ $ sudo chage -l batman [sudo] contraseña para gaurav: Último cambio de contraseña: 6 de septiembre de 2020 La contraseña expira: nunca Contraseña inactiva: nunca La cuenta expira: 19 de junio de 2022 Número mínimo de días entre cambios de contraseña: 0 Número máximo de días entre cambios de contraseña: 99999 Número de días de advertencia antes de que expire la contraseña: 7 gaurav @ ubuntu: ~ $ 

De esta manera, hemos establecido una fecha de vencimiento para la cuenta de usuario "batman" como el 19 de junio de 2022.

Conclusión

En este tutorial, hemos visto las aplicaciones del usermod comando para modificar los datos básicos de la cuenta de usuario de una manera integral. No dude en comunicarse con nosotros en caso de que se nos escape algo.

Consulte nuestros otros artículos a continuación para obtener más información sobre tecnología. Feliz aprendizaje !