En las distribuciones Unix/Linux, el comando “ usermod ” se usa para modificar o cambiar cualquier atributo de una cuenta de usuario ya creada a través de la línea de comandos. El comando ‘ usermod. es similar al de ‘ useradd. o ‘ adduser. pero el inicio de sesión otorgado a un usuario existente.
15 Ejemplos de comandos de usermod
Se utiliza el comando ‘ useradd. o ‘ adduser. para crear cuentas de usuario en sistemas Linux. Para saber más sobre cómo crear usuarios del sistema, lea nuestra guía completa en:
- Una guía completa para el comando “useradd” en Linux
Después de crear cuentas de usuario, en algunos escenarios donde necesitamos cambiar los atributos de un usuario existente, como cambiar el directorio de inicio del usuario, el nombre de inicio de sesión, el shell de inicio de sesión, la fecha de caducidad de la contraseña, etc., donde en tal caso se usa el comando ‘usermod’.
Cuando ejecutamos el comando ‘usermod’ en la terminal, los siguientes archivos se utilizan y se ven afectados.
- /etc/passwd -Información de la cuenta de usuario.
- /etc/shadow : información segura de la cuenta.
- /etc/group : información de la cuenta del grupo.
- /etc/gshadow : información segura de la cuenta del grupo.
- /etc/login.defs : configuración del paquete de contraseñas ocultas ..
La sintaxis básica del comando es:
usermod [opciones] nombre de usuario Requisitos
- Debemos tener cuentas de usuario existentes para ejecutar el comando usermod.
- Solo superusuario ( raíz) es una Permitido ejecutar el comando usermod.
- El comando usermod se puede ejecutar en cualquier distribución de Linux.
- Debe tener conocimientos básicos del comando usermod con opciones
Opciones de Usermod freestar.config.enabled_slots.push
El comando ‘ usermod. es fácil de usar con muchas opciones para realizar cambios a un usuario existente. Veamos cómo usar el comando usermod modificando algunos usuarios existentes en el cuadro de Linux con la ayuda de las siguientes opciones.
- -c = Podemos agregar un campo de comentario para el useraccount.
- -d = Para modificar el directorio de cualquier cuenta de usuario existente.
- -e = Usando esta opción puede hacer que la cuenta caduque en un período específico.
- -g = Cambiar el grupo principal de un usuario.
- -G = Para agregar un grupo complementario.
- -a = Para agregar a alguien del grupo a un grupo secundario.
- -l = Para cambiar el nombre de inicio de sesión de tecmint a tecmint_admin.
- -L = Para bloquear la cuenta de usuario. Esto bloqueará la contraseña para que no podamos usar la cuenta.
- -m = mover el contenido del directorio de inicio desde el directorio de inicio existente al nuevo directorio.
- -p = Para utilizar una contraseña no cifrada para la nueva contraseña. (NO protegido).
- -s = Crear un shell especificado para nuevas cuentas.
- -u = Usado para asignar UID para la cuenta de usuario entre 0 y 999.
- -U = Para desbloquear las cuentas de usuario. Esto eliminará el bloqueo de contraseña y nos permitirá usar la cuenta de usuario.
En este artículo veremos ‘ 15 comandos de usermod. con sus ejemplos prácticos y su uso en Linux, lo que le ayudará a aprender y mejorar sus habilidades en la línea de comandos usando estas opciones.
Table of Contents
1. Agregar información a la cuenta de usuario
La opción “-c ” se utiliza para establecer un breve comentario (información) sobre la cuenta de usuario. Por ejemplo, agreguemos información sobre el usuario ‘ tecmint. , usando el siguiente comando.
# usermod-c “ Esto es Tecmint “tecmint
Después de agregar información sobre el usuario, el mismo comentario se puede ver en el archivo /etc/passwd.
# grep-E–color ‘tecmint’/etc/passwd tecmint: x: 500: 500: Este es Tecmint :/home/tecmint:/bin/sh Agregar información al usuario
2. Cambiar el directorio de inicio del usuario
En el paso anterior podemos ver que nuestro directorio de inicio está en /home/tecmint/, si necesitamos cambiarlo a otro directorio podemos cambiar usando la opción -d con el comando usermod.
Por ejemplo, quiero cambiar nuestro directorio de inicio a /var/www/, pero antes de cambiar, revisemos el directorio de inicio actual de un usuario, usando el siguiente comando.
# grep-E–color ‘/home/tecmint’/etc/passwd tecmint: x: 500: 500: Este es Tecmint: /home/tecmint :/bin/sh
Ahora, cambie el directorio de inicio de /home/tecmint. a /var/www/ y confirme el director de inicio después de cambiar.
# usermod-d/var/www/tecmint # grep-E–color ‘/var/www/’/etc/passwd tecmint: x: 500: 500: Este es Tecmint: /var/www :/bin/sh Cambiar directorio de inicio de usuario
3. Establecer la fecha de vencimiento de la cuenta de usuario
La opción ‘-e. se usa para establecer la fecha de vencimiento en una cuenta de usuario con el formato de fecha AAAA-MM-DD. Antes de configurar una fecha de vencimiento para un usuario, primero verifiquemos el estado de vencimiento de la cuenta actual usando el comando ‘ chage. (cambiar la información de vencimiento de la contraseña del usuario).
# chage-l tecmint Last cambio de contraseña: 2 de noviembre de 2014 La contraseña caduca: nunca Contraseña inactiva: nunca La cuenta caduca: 1 de diciembre de 2014 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 caduque la contraseña: 7
El estado de caducidad de un usuario ‘ tecmint. es 1 de diciembre de 2014 , cambiémoslo a 1 de noviembre de 2014 usando la opción ‘ usermod-e. y confirme la fecha de vencimiento con el comando ‘ chage. .
# usermod-e 2014-11-01 tecmint # chage-l tecmint Último cambio de contraseña: 2 de noviembre de 2014 La contraseña caduca: nunca Contraseña inactiva: nunca La cuenta caduca: 1 de noviembre de 2014 M 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 Establecer la fecha de vencimiento de la cuenta de usuario
4. Cambiar grupo primario de usuarios
Para configurar o cambiar un grupo primario de usuarios, usamos la opción “-g. con el comando usermod. Antes de cambiar el grupo principal del usuario, primero asegúrese de verificar el grupo actual para el usuario tecmint_test .
# id tecmint_test uid = 501 (tecmint_test) gid = 502 ( tecmint_test ) groups = 502 (tecmint_test)
Ahora, configure el grupo babin como grupo principal para el usuario tecmint_test y confirme el cambios.
# usermod-g babin tecmint_test # id tecmint_test uid = 501 (tecmint_test) gid = 502 ( babin ) groups = 502 (tecmint_test) Cambiar grupo primario de usuarios
5. Agregar un grupo a un usuario existente
Si desea agregar un nuevo grupo llamado ‘ tecmint_test0. al usuario ‘ tecmint. , puede usar la opción ‘ -G. ‘con el comando usermod como se muestra a continuación.
# usermod-G tecmint_test0 tecmint # id tecmint Agregar grupo al usuario
Nota. tenga cuidado al agregar nuevos grupos a un usuario existente con ‘ La opción -G ‘ por sí sola eliminará todos los grupos existentes a los que pertenece el usuario. Por lo tanto, siempre agregue la opción “-a. (agregar) con “-G. para agregar o agregar nuevos grupos.
6. Agregar un grupo complementario y principal al usuario
Si necesita agregar un usuario a cualquiera del grupo complementario, puede usar las opciones ‘-a. y ‘-G. ‘. Por ejemplo, aquí vamos a agregar una cuenta de usuario tecmint_test0 con la rueda usuario.
# usermod-a-G rueda tecmint_test0 # id tecmint_test0
Entonces, el usuario tecmint_test0 permanece en su grupo principal y también en el grupo secundario ( rueda. . Esto hará que mi cuenta de usuario normal ejecute cualquier comando con privilegios de root en el cuadro de Linux.
por ejemplo: sudo service httpd restart Agregar varios grupos al usuario
7. Cambiar nombre de inicio de sesión de usuario
Para cambiar cualquier nombre de inicio de sesión de usuario existente, podemos usar la opción “-l. (nuevo inicio de sesión). En el siguiente ejemplo, cambiamos el nombre de inicio de sesión tecmint. a tecmint_admin. Así que el nombre de usuario tecmint. ha sido renombrado con el nuevo nombre tecmint_admin.
# usermod-l tecmint_admin tecmint
Ahora busque el tecmint. usuario, no estará presente porque lo hemos cambiado a tecmint_admin.
# id tecmint
Busque la cuenta tecmint_admin. que estará allí con el mismo UID. y con el grupo existente lo que hemos agregado antes.
# id tecmint_admin Cambiar el nombre de inicio de sesión del usuario 8. Bloquear cuenta de usuario
Para bloquear cualquier cuenta de usuario del sistema, podemos usar la opción ‘-L. (bloquear). Una vez que la cuenta está bloqueada, no podemos iniciar sesión con la contraseña. y verá un ! agregado antes de la contraseña encriptada en el archivo /etc/shadow. significa que la contraseña está deshabilitada.
# usermod-L babin
Busque la cuenta bloqueada.
# grep-E–color ‘babin’ cat/etc/shadow
Bloquear cuenta de usuario
9. Desbloquear cuenta de usuario
La opción ‘-U. se usa para desbloquear cualquier usuario bloqueado, esto eliminará el ! antes de la contraseña cifrada.
# grep-E–color ‘babin’/etc/shadow # usermod-U babin
Verifica al usuario después del desbloqueo.
# grep-E–color ‘babin’/etc/shadow Desbloquear cuenta de usuario
10. Mover el directorio de inicio del usuario a la nueva ubicación
Supongamos que tiene una cuenta de usuario como “ pinky. con el directorio de inicio “/home/pinky. , desea moverse a una nueva ubicación, diga “/var/pinky. . Puede utilizar las opciones ‘-d. y ‘-m. para mover los archivos de usuario existentes desde el directorio de inicio actual a un nuevo directorio de inicio.
Busque la cuenta y su directorio de inicio actual.
# grep-E–color ‘pinky’/etc/passwd
Luego enumere los archivos que son propiedad del usuario pinky.
# ls-l/home/pinky/
Ahora tenemos que mover el directorio de inicio de /home/pinky. a /var/pinky.
# usermod-d/var/pinky/-m pinky
A continuación, verifique el cambio de directorio.
# grep-E–color ‘pinky’/etc/passwd
Busque los archivos en ‘/home/meñique. ‘. Aquí hemos movido los archivos usando la opción -m. para que no haya archivos. Los archivos de usuario de meñique ahora estarán en /var/pinky.
# ls-l/home/pinky/# ls-l/var/pinky/
Move User Home Directory
11. Crear una contraseña sin cifrar para el usuario
Para crear una contraseña sin cifrar, usamos la opción “-p. (contraseña). Para fines de demostración, estoy configurando una nueva contraseña que diga ‘ redha. t’ en un usuario pinky.
# usermod-p redhat pinky
Después de configurar contraseña, ahora verifique el archivo de sombra para ver si está en formato encriptado o no.
# grep-E–color ‘pinky’/etc/shadow
Crear contraseña de usuario sin cifrar
Nota. ¿Viste en la imagen de arriba?, la contraseña es claramente visible para todos. Por lo tanto, no se recomienda usar esta opción, porque la contraseña será visible para todos los usuarios.
12. Cambiar el shell de usuario
El shell de inicio de sesión del usuario se puede cambiar o definir durante la creación del usuario con el comando useradd. o con el comando ‘ usermod. usando la opción ‘-s. ‘(shell). Por ejemplo, el usuario ‘ babin. tiene el shell /bin/bash. por defecto, ahora quiero cambiarlo a /bin/sh. .
# grep-E–color ‘babin’/etc/passwd # usermod-s/bin/sh babin
Después de cambiar el shell del usuario, verifique el shell del usuario con el siguiente comando.
# grep-E–color ‘babin’/etc/passwd Cambiar Shell de inicio de sesión de usuario
13. Cambiar ID de usuario (UID)
En el ejemplo siguiente, puede ver que mi cuenta de usuario “ babin. tiene el UID de 502. ahora quiero cambiarlo a 888. como mi UID. Podemos asignar UID entre 0. y 999.
# grep-E–color ‘babin’/etc/passwd O # id babin
Ahora, cambiemos el UID para el usuario babin. usando la opción ‘-u. (uid) y verifiquemos los cambios.
# usermod-u 888 babin
# id babin Cambiar UID de usuario
14. Modificación de la cuenta de usuario con múltiples opciones
Aquí tenemos un jack de usuario y ahora quiero modificar su directorio de inicio, shell, fecha de caducidad, etiqueta, UID y grupo a la vez usando uno comando único con todas las opciones como discutimos anteriormente.
El usuario Jack tiene el directorio de inicio predeterminado /home/jack , ahora quiero cambiarlo a /var/www/html y asigne su shell como bash , establezca la fecha de caducidad como el 10 de diciembre de 2014, agregue una nueva etiqueta como Este es Jack , cambie el UID a 555 y será miembro del grupo de Apple.
Veamos cómo modificar la cuenta de Jack usando la opción múltiple ahora.
# usermod-d/var/www/html/-s/bin/bash-e 2014-12-10-c “Este es Jack”-u 555-aG apple jack
Luego, verifique los cambios en el UID y el directorio de inicio.
# grep-E-color ‘jack’/etc/passwd
Verificación de caducidad de la cuenta.
# chage-l jack
Compruebe el grupo del que todos los jack han sido miembros.
# grep-E–color ‘ jack ‘/etc/group Uso de múltiples opciones con usermod
15. Cambiar UID y GID de un usuario
Podemos cambiar UID y GID de un usuario actual. Para cambiar a un GID nuevo, necesitamos un grupo existente. Aquí ya hay una cuenta llamada naranja con GID de 777 .
Ahora mi cuenta de usuario jack quiere que se le asigne un UID de 666 y GID de Orange ( 777 ).
Verifique el UID y GID actuales antes de modificar.
# id jack
Modifique el UID y GID.
# usermod-u 666-g 777 jack
Compruebe los cambios.