Comando usermod para Linux
El comando usermod de Linux es el utilizado para modificar las propiedades de los usuarios que existan en nuestro sistema. Este comando está muy relacionado con el comando adduser, desde el que podemos crear usuarios.
Recomendado crear un usuario nuevo de prueba para realizar las modificaciones de este tutorial.
Para cambiar el nombre de un usuario de nuestro sistema debemos hacer uso del comando usermod.
sudo usermod nuevo_nombre nombre_actual
Aunque si queremos evitar problemas de configuraciones, inicios de sesión, configuraciones del sistema, etc, es muy recomendable realizar el cambio del nombre incluyendo la opción -l.
Opciones con usermod en Linux
Como para la mayoría de comandos de Linux, si queremos dar más potencia se suele hacer uso de las opciones.
Vamos a ver algunas opciones para usermod, aunque recuerda que puedes ver todas las que existen ejecutando el comando man usermod.
- -l → indicamos la intención de cambiar el nombre de usuario, el de inicio de sesión y algunas configuraciones más.
- -d → para cambiar la carpeta de inicio de un usuario.
- -g → sustituye el grupo principal asignado inicialmente por otro nuevo.
Ejemplo cambiando nombre de usuario con usermod
sudo usermod -l nuevo_nombre nombre_actual
Con la opción usermod -l garantizamos que todos los ajustes relacionados con el usuario se actualizan correctamente.
Antes de cambiar el nombre de algún usuario de nuestro sistema vamos a listar los que tenemos. Para esto hacemos uso del comando de Linux cat.
sudo cat /etc/passwd
Después de ejecutar el comando aparece un listado con todos los usuarios de nuestro sistema. Al final de la lista aparece un usuario llamado «tecnico» que será con el que practiquemos.
tecnico:x:50000:1000:a,b,c,d,e:/home/tecnico:/bin/bash
Ahora haciendo uso de la opción -l vamos a cambiar de nombre al usuario «tecnico» por «tecnico_blockchain». Después realizaremos una consulta con la ayuda de los comandos cat y grep para ver si se ha cambiado correctamente.
sudo usermod -l tecnico_blockchain tecnico

Podemos ver la línea de respuesta y diferenciar los siguientes datos:
- tecnico_blockchain → nombre de usuario.
- x→ dispone de contraseña encriptada en /etc/shadow.
- 50000 → UID identificador del usuario User ID.
- 1000 → GID identificador del grupo Group ID.
- a,b,c,d,e → información adicional del usuario ya existente.
- /home/tecnico → ubicación del directorio del usuario.
- /bin/bash → shell predeterminada asignada al usuario.
Observamos que la carpeta por defecto sigue siendo la que había anteriormente al cambio de nombre /home/tecnico.
Ahora vamos a cambiarla para que coincida con el nuevo nombre de usuario tecnico_blockchain.
Creamos la carpeta nueva para el directorio o cambiamos el nombre de la anterior (realizar una acción u otra va a depender de si tenemos datos que nos interese conservar).
sudo mkdir /home/tecnico_blockchain
sudo mv /home/tecnico /home/tecnico_blockchain
Ahora con la ayuda de la opción -d le indicamos que queremos que sea /home/tecnico_blockchain el nuevo directorio.
sudo usermod -d /home/tecnico_blockchain tecnico_blockchain
Podemos ver en la captura de pantalla que el cambio de nombre de usuario y del directorio de inicio para éste se han realizado correctamente.

Cambiando de grupo principal a un usuario
Ahora vamos a cambiar el grupo principal del usuario al que hemos modificado su nombre y ruta del directorio de inicio.
Si mostramos la información del usuario tecnico_blockchain podemos observar entre otras cosas lo siguiente:
sudo cat /etc/passwd | grep tecnico_blockchain
tecnico_blockchain:x:50000:1000:a,b,c,d,e:/home/tecnico_blockchain:/bin/bash
- 1000 → GID identificador del grupo Group ID.
Este 1000 hace referencia al identificador del grupo kali, que fue el grupo principal que se le asignó al crear a este usuario en otro tutorial. Ahora vamos a cambiar este grupo principal por otro, le asignaremos el grupo coder que tiene como identificador el 1002.
Ahora haremos uso de la opción -g para cambiar de grupo principal.
sudo usermod -g coder tecnico_blockchain
Si volvemos a mostrar la información del usuario tecnico_blockchain podemos ver que su grupo principal ha cambiado de 1000 a 1002.
sudo cat /etc/passwd | grep tecnico_blockchain
tecnico_blockchain:x:50000:1002:a,b,c,d,e:/home/tecnico_blockchain:/bin/bash

Podemos verificar también que el cambio de grupo se ha realizado correctamente consultado a qué grupos pertenece el usuario tecnico_blockchain.
sudo groups tecnico_blockchain
tecnico_blockchain : coder users