El comando usermod es una herramienta clave para que los administradores de sistemas gestionen cuentas de usuario en Linux. Permite a los usuarios modificar permisos, cambiar grupos, configurar el directorio personal e incluso deshabilitar cuentas cuando sea necesario. Esta flexibilidad convierte a usermod en la opción ideal para un control total del entorno de trabajo y garantizar la seguridad del sistema. Con algunos usos prácticos, puede simplificar muchas tareas que podrían parecer complejas para principiantes, convirtiéndolo en una herramienta indispensable para cualquier persona que trabaje a diario con la gestión de usuarios de Linux.
El comando usermod es una herramienta para actualizar los detalles de una cuenta de usuario existente en el sistema. Es similar a modificar el perfil de un usuario de Linux. Con él, se puede modificar todo, desde el nombre de usuario hasta la interfaz de inicio de sesión, sin tener que eliminar y volver a crear la cuenta.
Índice
Activa8. Actualizar la información del usuario
Si solo desea cambiar la información general del usuario, como la descripción de la cuenta (también llamada "campo de comentarios"), puede usar la opción -c. Este campo suele usarse para información como el nombre completo del usuario, su departamento u otra descripción breve. A continuación, se muestra un ejemplo:
sudo usermod -c "Usuario de prueba HTG" htg
El indicador -c se utiliza para el campo de comentarios. Todo lo que escriba entre comillas aparecerá en "/etc/passwd". Después de ejecutar esto, puede verificar que la actualización se realizó correctamente consultando el archivo "/etc/passwd":
grep htg /etc/passwd
Observe el "Usuario de prueba HTG" en el quinto campo. Esta es la descripción que acabamos de añadir. Este campo a veces lo utilizan administradores de pantalla o utilidades como finger. Es útil en servidores multiusuario, donde es posible que no recuerde la identidad de un usuario específico.
7. Cambiar nombre de usuario
A veces, puede que necesites cambiar el nombre de usuario. Quizás sea temporal o simplemente quieras estandarizar las convenciones de nombres. El comando usermod te permite hacerlo sin tener que eliminar y volver a crear la cuenta. Aquí te explicamos cómo cambiar el nombre de usuario de nuestro ejemplo de "htg" a "howtogeek":
sudo usermod -l howtogeek htg
El símbolo -l (L minúscula) indica el nombre de usuario. Este símbolo le indica a usermod que desea cambiar el nombre de usuario de la cuenta. Preste mucha atención a la sintaxis. Primero debe ingresar el nuevo nombre de usuario y luego el nombre de usuario actual del usuario cuyo nombre desea cambiar.
Tras ejecutar este comando, la cuenta ahora usa "howtogeek" como nombre de inicio de sesión. Puede verificar el cambio revisando de nuevo el archivo "/etc/passwd":
grep howtogeek /etc/passwd
También debe tener en cuenta que cambiar el nombre de inicio de sesión no cambia automáticamente el nombre del directorio de inicio del usuario. Por lo tanto, en este ejemplo, el usuario seguirá teniendo "/home/htg" como directorio de inicio a menos que lo cambie explícitamente (se explica más adelante). Antes de ejecutar el comando, asegúrese de que el usuario haya cerrado la sesión para evitar errores o comportamientos inesperados.
6. Modificar identificadores de usuario
Cada usuario en un sistema Linux se identifica no solo por su nombre, sino también por su ID de usuario (UID). El UID es lo que el sistema analiza al verificar la propiedad y los permisos de los archivos. Normalmente, no es necesario cambiar los UID, pero podría ser necesario en algunos casos, como al mover usuarios entre sistemas manteniendo la propiedad de los archivos de forma consistente, o al resolver conflictos cuando dos usuarios comparten accidentalmente el mismo UID.
A continuación se explica cómo cambiar el UID de nuestro usuario de ejemplo “htg” del actual a 1500:
sudo usermod -u 1500 htg
La opción -u asigna un nuevo ID de usuario al usuario. A continuación, le pasamos el nuevo número de ID. Asegúrese de que sea único en el sistema. Tras cambiar el ID de usuario, confírmelo ejecutando el siguiente comando:
identificación htg


Después de cambiar el UID “htg”, el archivo en su carpeta de inicio se actualizó al nuevo UID.
5. Establecer o restablecer la contraseña de usuario
Cambiar la contraseña de un usuario es una de las tareas administrativas más comunes. Normalmente, se usa el comando passwd para ello, pero curiosamente, el comando usermod también permite gestionar cambios relacionados con las contraseñas.
Pero hay una trampa. El comando usermod no cifra la contraseña. Esto significa que la contraseña se guardará como texto sin formato en el archivo "/etc/shadow". Esta es la sintaxis general:
sudo usermod -p contraseña htg
Puedes echar un vistazo al archivo “/etc/shadow” para confirmar que se ha cambiado la contraseña.
sudo grep htg /etc/shadow
Como puede ver, la contraseña se ha cambiado, pero puede leerse como texto sin formato. Esto implica un riesgo. Esto puede ser útil en casos especiales al escribir un script y necesitar contraseñas predefinidas. En la mayoría de los demás casos, passwd es la mejor opción para cambiar la contraseña de un usuario.
4. Redefinir el directorio de inicio del usuario
De forma predeterminada, al crear un usuario, este obtiene un directorio personal en "/home/nombreusuario". Pero ¿qué ocurre si desea mover ese directorio a otro lugar, quizás a otro disco? ¿O quizás ha renombrado al usuario y desea que el directorio personal coincida? Aquí es donde entra en juego la opción -d del comando usermod.
sudo usermod -d /home/howtogeek htg
La opción -d especifica una nueva ruta al directorio personal del usuario. Tras ejecutar esta opción, Linux reconocerá "/home/howtogeek" como el directorio personal del usuario. Pero lo importante es que esto no mueve ningún archivo; solo cambia la referencia. Si "/home/howtogeek" no existe, el directorio personal estará vacío (o incluso inexistente).
Si desea mover archivos del antiguo directorio de inicio al nuevo, agregue la opción -m:
sudo usermod -d /home/howtogeek -m htg
usermod ahora moverá todo de "/home/htg" a "/home/howtogeek". Esto es especialmente útil al renombrar usuarios para que su directorio de inicio coincida con su nuevo nombre de usuario. Después de mover, se recomienda listar el directorio y asegurarse de que todo esté completo:
ls -la /inicio/howtogeek
Si puede ver los archivos del usuario, el proceso fue exitoso.
3. Configuración de grupos de usuarios
En Linux, los grupos son una forma de organizar a los usuarios y controlar su acceso a archivos, carpetas y servicios. Cada usuario pertenece al menos a un grupo principal y también puede unirse a varios grupos adicionales (o secundarios). El comando usermod permite cambiar tanto los grupos principales como los secundarios, así como añadir o eliminar usuarios de grupos existentes.
El grupo principal suele crearse al mismo tiempo que la cuenta de usuario y tiene el mismo nombre de usuario. Puedes cambiarlo con la opción -g.
sudo usermod -g desarrolladores htg
Ahora, cuando htg crea un archivo, este pertenecerá al grupo de desarrolladores (en lugar de a su antiguo grupo principal). Normalmente, querrás agregar usuarios a otros grupos para que puedan acceder a ciertos recursos (por ejemplo, sudo).
sudo usermod -aG sudo htg
sudo usermod -G sudo htg
Ahora, "htg" solo existe en el grupo sudo (además de su grupo principal). Por lo tanto, tenga cuidado al usarlo, ya que podría impedir que alguien acceda a privilegios importantes por accidente.
No es posible eliminar un usuario de un grupo con usermod. Sin embargo, puedes especificar a qué grupos quieres que pertenezca. Por ejemplo, supongamos que 'htg' pertenece a los grupos Empleado, Administrador y TI. Quieres eliminar al usuario de Administrador. Para ello, ejecuta:
sudo usermod -G empleado,IT htg
Ahora, 'htg' está fuera del grupo de administración, pero aún dentro de los departamentos de RR.HH. y TI.
2. Configurar la interfaz de usuario
Cada vez que un usuario inicia sesión, Linux inicia un shell, el entorno de línea de comandos mediante el cual interactúa con el sistema. El shell predeterminado suele ser "/bin/bash", pero existen muchos otros, como "/bin/zsh" y "/bin/sh", o incluso shells especializados y restringidos.
Usando usermod, puedes cambiar la interfaz que se inicia cuando un usuario inicia sesión. Aquí hay un ejemplo donde cambiamos la interfaz de usuario 'htg' a Zsh:
sudo usermod -s /bin/zsh htg
La opción -s especifica la interfaz de inicio de sesión del usuario. A continuación, pasamos la ruta a la interfaz que queremos asignar al usuario. Ahora, cuando el usuario "htg" inicie sesión, lo recibirá Zsh en lugar de Bash. Si no está seguro de las rutas disponibles a las distintas interfaces de usuario en su sistema, intente ejecutar el siguiente comando:
gato / etc / shells
Esto muestra una lista de interfaces disponibles junto con sus rutas. Después de cambiar la interfaz predeterminada, puede verificar que el proceso se haya realizado correctamente ejecutando el siguiente comando:
Obtener contraseña htg
Como puede ver, la interfaz de usuario predeterminada para "htg" se ha cambiado de Bash a Zsh. Esto resulta útil si desea restringir la actividad del usuario mediante una interfaz menos potente.
1. Bloquear y desbloquear cuentas de usuario
A veces no quieres eliminar a un usuario, pero quieres evitar que inicie sesión. Quizás esté de vacaciones, haya dejado la empresa y necesites conservar sus archivos, o quizás estés solucionando un problema. Ahí es donde entra en juego el bloqueo de cuentas. Con usermod, puedes bloquear o desbloquear rápidamente la contraseña de la cuenta.
Para bloquear la cuenta de usuario “htg”, ejecutaré el siguiente comando:
sudo usermod -L htg
La opción -L bloquea la cuenta. Funciona añadiendo un signo de exclamación (!) antes de la contraseña cifrada dentro de "/etc/shadow". Después, el usuario "htg" no podrá iniciar sesión con la contraseña. Cuando esté listo para recuperar el acceso, ejecute el siguiente comando:
sudo usermod -U htg
La opción -U desbloquea la cuenta eliminando el ! delante del hash de la contraseña.
El bloqueo solo afecta a los inicios de sesión con contraseña. Si el usuario tiene claves SSH configuradas, podrá iniciar sesión con ellas a menos que se tomen medidas adicionales. En caso de suspensión temporal, se puede combinar la modificación del usuario con las fechas de vencimiento de la cuenta. Por ejemplo:
sudo usermod -e 2025-09-30 htg
Después del 30 de septiembre de 2025, su cuenta se desactivará automáticamente.
Si eres administrador de sistemas o te interesa gestionar usuarios de Linux, estos consejos te resultarán útiles. Hay muchos otros consejos para ahorrar tiempo en Linux que deberías aprender. También puedes explorar otros comandos, como el comando nc.
Dominar el comando usermod te brinda gran flexibilidad para administrar usuarios de Linux y mejorar el control del sistema. Aunque su uso pueda parecer simple, sus resultados son cruciales, tanto en términos de seguridad como de estructura organizativa. Si deseas administrar cuentas de usuario eficientemente, usermod seguirá siendo una de tus herramientas más esenciales.







