Introducción
El usermod
command es uno de los varios comandos de Linux que los administradores de sistemas tienen a su disposición para la administración de usuarios. Se utiliza para modificar los detalles de la cuenta de usuario existente, como el nombre de usuario, la contraseña, la ubicación del directorio de inicio, el shell predeterminado y más.
En este tutorial, aprenderá a usar el usermod
comando en Linux para cambiar la información de inicio de sesión del usuario.
Requisitos previos
- Un sistema que ejecuta Linux
- Acceso a la línea de comando
Sintaxis Linux de usermod
La sintaxis básica para usermod
el comando es:
usermod [options] [username]
El usermod
El comando modifica los archivos de configuración que contienen información de la cuenta de usuario. Esos archivos son:
/etc/passwd
– información sobre las cuentas de los usuarios/etc/shadow
– información relacionada con la seguridad del usuario/etc/group
– información sobre grupos/etc/gshadow
– información relacionada con la seguridad del grupo/etc/login.defs
– configuración del conjunto de contraseñas ocultas
Es posible editar los archivos mencionados anteriormente directamente, utilizando un editor de texto como nano o vim. Sin embargo, usermod
hace que el proceso sea más rápido y sencillo.
Ejemplos de comandos de usermod
A continuación se muestra una lista de usermod
opciones, junto con la sintaxis y los ejemplos específicos de la opción.
Añadir información a un usuario
Usa usermod
con -c
opción para agregar información sobre un usuario al /etc/passwd
expediente. Esto ayuda a identificar al usuario y proporciona espacio para comentarios temporales relacionados con el usuario.
sudo usermod -c "[information]" [username]
Usa el getent
comando para verificar la entrada relacionada con el usuario en /etc/passwd
archivo.
La entrada ahora contiene el comentario agregado con usermod
.
Establecer directorio de inicio del usuario
Cuando crea un usuario en Linux, el sistema crea automáticamente una carpeta de inicio para ellos en /home/[username]
. Para cambiar la ubicación de la carpeta de inicio del usuario, use -d
opción:
sudo usermod -d [directory-location] [username]
El ejemplo anterior cambió la carpeta de inicio del usuario de /home/mike
a /var/mike
. El getent
El comando confirma el cambio exitoso.
El -d
La opción no mueve el contenido de la carpeta de inicio a la nueva ubicación. Si el usuario ha utilizado previamente la carpeta de inicio para almacenar sus archivos, agregue -m
opción para mover el contenido del directorio de inicio del usuario:
sudo usermod -d [location] -m [username]
En el caso del usuario del ejemplo anterior, el comando se ve así:
sudo usermod -d /var/mike -m mike
Establecer la fecha de caducidad de la cuenta del usuario
Las cuentas de usuario no caducan en Linux de forma predeterminada. Usa el chage -l
Comando para comprobar la información de antigüedad de la cuenta de un usuario:
sudo chage -l [username]
Como muestra el ejemplo anterior, la cuenta está configurada para no caducar. Cambia esto usando usermod
con -e
opción. Le permite especificar el año, mes y día de vencimiento de la cuenta:
sudo usermod -e [YYYY-MM-DD] [username]
Confirme el cambio exitoso verificando la cuenta con chage -l
comando de nuevo:
Establecer shell del usuario
Usa usermod -s
para cambiar el shell predeterminado para un solo usuario:
sudo usermod -s [shell] [username]
Si el cambio fue exitoso, getent
muestra el nuevo shell predeterminado al final de la entrada.
Cambiar UID del usuario
Un UID (identificador de usuario) es el número único asignado al usuario al crear la cuenta con el useradd
dominio. El /etc/login.defs
El archivo define el rango de valores de UID. Cambie el UID de un usuario con usermod -u
comando:
sudo usermod -u [new-UID] [username]
En el passwd
entrada, busque el UID justo después del nombre de usuario y la contraseña:
Cambiar el nombre de inicio de sesión del usuario
Cambie un nombre de usuario agregando -l
opción. La sintaxis es la siguiente:
sudo usermod -l [newname] [oldname]
Como muestra el ejemplo anterior, usar el nombre de usuario anterior para verificar el /etc/passwd
El archivo ya no devuelve datos. Sin embargo, los mismos datos ahora están disponibles con el nuevo nombre.
Bloquear y desbloquear un usuario
Bloquee una cuenta de usuario usando -L
opción.
sudo usermod -L [username]
Una vez bloqueada la cuenta con -L
, los intentos de inicio de sesión del usuario fallan al escribir la contraseña:
Para desbloquear la cuenta que bloqueó anteriormente, escriba usermod -U
seguido del nombre de la cuenta:
sudo usermod -U [username]
Como puede ver en el ejemplo anterior, la contraseña ahora vuelve a funcionar y se inicia el shell zsh.
Establecer contraseña para un usuario
La forma más común de establecer una contraseña para un usuario es usando el comando passwd. usermod
también tiene el -p
dedicado opción para crear una contraseña:
sudo usermod -p [password] [username]
Sin embargo, no se recomienda este método para crear una contraseña ya que la contraseña está visible en el /etc/shadow
expediente. Si usa el comando grep para buscar un nombre de usuario en /etc/shadow
archivo, la entrada contiene la versión de texto sin formato de la contraseña creada con usermod
:
Cambiar el grupo principal del usuario
Cambie el grupo principal de un usuario con usermod -g
:
sudo usermod -g [group] [username]
El id
El comando confirma el cambio exitoso del grupo principal:
Agregar un usuario a un grupo complementario
Aparte de su grupo principal, los usuarios pueden ser miembros de cualquier número de grupos complementarios. El -G
opción agrega el usuario a un grupo suplementario:
sudo usermod -G [group] [username]
Sin embargo, si el usuario ya pertenece a algunos grupos complementarios, usermod -G
los elimina de esos grupos y los agrega solo a los especificados después del comando.
En el siguiente ejemplo, el usuario ya es miembro de un grupo complementario. La combinación de -a
y -G
options agrega al usuario al grupo especificado y lo deja en el grupo complementario del que ya era miembro.
sudo usermod -a -G [group] [username]
Cambiar la cuenta del usuario usando múltiples opciones
Use múltiples opciones en un comando para una forma más conveniente de editar un usuario. El siguiente ejemplo muestra un usermod
ordena que:
- cambia la carpeta de inicio y el shell,
- establece una fecha de caducidad de la cuenta,
- añade un comentario,
- cambia el UID, y
- añade al usuario a un grupo complementario.
sudo usermod -d [home-folder] -s [shell] -e [YYYY-MM-DD] -c "[comment]" -u [UID] -aG [group] [username]
Mostrar todos los comandos y argumentos de usermod
Para leer usermod
ayuda, use el --help
argumento:
usermod --help
Para obtener una lista más detallada de opciones y funciones, use el comando man:
man usermod