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.
Archivo | Descripción |
---|---|
/ etc / passwd | Contiene varios datos sobre el usuario. |
/ etc / group | Contiene información sobre cada grupo utilizado en el sistema. |
/ etc / gshadow | Contiene información de cuenta de grupo segura |
/etc/login.defs | Define la configuración específica del sitio para el conjunto de contraseñas ocultas. |
/ etc / shadow | Contiene 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:
Opciones | Uso |
---|---|
-l | Cambiar el nombre del usuario |
-D | Modificar el directorio de inicio de la cuenta de usuario existente |
-L | Bloquear la cuenta de usuario deshabilitando la contraseña |
-U | Desbloquear el bloqueo de contraseña |
-metro | Mover el contenido del directorio de inicio existente del usuario a cualquier nueva ubicación de directorio |
-u | Cambiar la identificación de usuario del usuario existente |
-gramo | Cambiar el grupo del usuario |
-GRAMO | Una lista de grupos complementarios de los que el usuario también es miembro. |
-s | Crear caparazón para nuevas cuentas |
-mi | Cambia 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 !