Este comando permite modificar las propiedades de las cuentas de usuario existentes en el sistema, desde cambiar el nombre de usuario hasta ajustar los grupos a los que pertenece.


Entre las herramientas más potentes para la gestión de usuarios se encuentra el comando usermod. Este comando permite modificar las propiedades de las cuentas de usuario existentes en el sistema, desde cambiar el nombre de usuario hasta ajustar los grupos a los que pertenece.

En este artículo, exploraremos en detalle el funcionamiento del comando usermod, sus usos principales, la sintaxis básica y algunos ejemplos prácticos que serán de gran utilidad para sysadmins.

¿Para qué se usa el comando?

El comando usermod se utiliza para modificar la configuración de las cuentas de usuario en un sistema GNU/Linux. Aunque usermod no crea ni elimina cuentas (para eso están useradd y userdel), sí permite realizar cambios en una cuenta ya existente. Algunas de las tareas que puedes realizar con usermod incluyen:

  • Cambiar el nombre de usuario.
  • Modificar el shell predeterminado del usuario.
  • Cambiar el directorio home del usuario.
  • Añadir o eliminar el usuario de grupos secundarios.
  • Bloquear o desbloquear la cuenta.
  • Establecer una fecha de expiración para la cuenta.

Este comando es esencial para los administradores de sistemas que necesitan ajustar configuraciones de usuarios sin eliminar y recrear cuentas.

Sintaxis básica

La sintaxis general de usermod es la siguiente:

usermod [opciones] nombre_usuario

Aquí, nombre_usuario es el usuario cuyo perfil deseas modificar, y las [opciones] son los parámetros que especifican qué cambios realizar. A continuación, te mostramos algunas de las opciones más comunes:

  • -l nuevo_nombre: Cambia el nombre de usuario.
  • -d nuevo_directorio_home: Cambia el directorio home del usuario.
  • -m: Mueve el contenido del directorio home al nuevo directorio (debe usarse con -d).
  • -s nuevo_shell: Cambia el shell de login predeterminado del usuario.
  • -g nuevo_grupo: Cambia el grupo primario del usuario.
  • -G grupos: Establece los grupos secundarios a los que pertenece el usuario.
  • -aG grupos: Añade el usuario a nuevos grupos sin eliminar los grupos secundarios anteriores.
  • -L: Bloquea la cuenta del usuario.
  • -U: Desbloquea la cuenta del usuario.
  • -e fecha_expiracion: Establece una fecha de expiración para la cuenta (formato YYYY-MM-DD).

Ejemplos prácticos

A continuación, veremos algunos ejemplos prácticos que te permitirán dominar el comando usermod.

Cambiar el nombre de usuario

Si necesitas cambiar el nombre de un usuario, puedes hacerlo con la opción -l. Por ejemplo, para cambiar el nombre de usuario de terrorzone a t3rrr0z0n3:

usermod -l t3rr0rz0n3 terrorzone

Modificar el directorio de home

Si quieres cambiar el directorio home de un usuario, usa la opción -d. Por ejemplo, para cambiar el directorio home de t3rr0rz0n3 a /home/t3rr0rz0n3, y mover los archivos al nuevo directorio, usa:

usermod -d /home/terrorzone -m t3rr0rz0n3

Cambiar el shell de inicio de sesión

Para cambiar el shell de login de un usuario, usa la opción -s. Por ejemplo, para cambiar el shell de bash a zsh para el usuario t3rr0rz0n3:

usermod -s /bin/zsh t3rr0rz0n3

Añadir un grupo secundario en un usuario

Si quieres añadir a un usuario a un nuevo grupo sin eliminarlo de los grupos a los que ya pertenece, utiliza -aG. Por ejemplo, para añadir a t3rr0rz0n3 al grupo sudo:

usermod -aG sudo t3rr0rz0n3

Bloquear y desbloquear una cuenta

Para bloquear la cuenta de un usuario, usa la opción -L. Esto prefija la contraseña del usuario con un carácter de !, efectivamente bloqueando el acceso:

usermod -L t3rr0rz0n3

Para desbloquearla, usa la opción -U:

usermod -U t3rr0rz0n3

Establecer una fecha de expiración a una cuenta

Si necesitas que una cuenta de usuario expire en una fecha determinada, utiliza la opción -e. Por ejemplo, para que la cuenta de t3rr0rz0n3 expire el 31 de diciembre de 2024:

usermod -e 2024-12-31 t3rr0rz0n3

Conclusión

Con sus múltiples opciones, permite ajustar configuraciones sin la necesidad de eliminar o recrear cuentas, lo que ahorra tiempo y esfuerzo. Al familiarizarte con este comando y sus diferentes opciones, estarás mejor preparado para gestionar de manera eficiente las cuentas de usuario en tu sistema.

Esperamos que esta guía técnica te haya proporcionado una comprensión más profunda del comando usermod y que puedas aplicar estos conocimientos en tu entorno de trabajo diario.


¿Buscas otro comando?

¡Revisa nuestro "Diccionario de comandos para GNU/Linux"!

Diccionario de comandos para GNU/Linux
Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación