Tutorial del comando chage de Linux para principiantes (6 ejemplos)

La línea de comandos de Linux ofrece varias herramientas para la gestión de usuarios (de algunas de las cuales ya hemos hablado). Una de ellas es chage, que te permite modificar la información de caducidad de las contraseñas. En este tutorial, hablaremos de esta herramienta utilizando algunos ejemplos fáciles de entender. Pero antes de entrar en materia, vale la pena mencionar que todos los ejemplos aquí se han probado en una máquina Ubuntu 18.04 LTS.

El comando chage de Linux

El comando chage, como ya se ha explicado anteriormente, te permite modificar la información de caducidad de las contraseñas de los usuarios. A continuación se muestra su sintaxis:

chage [options] LOGIN

Y esto es lo que dice la página man sobre él:

       The chage command changes the number of days between password changes
       and the date of the last password change. This information is used by
       the system to determine when a user must change his/her password.

A continuación hay algunos ejemplos al estilo de las preguntas y respuestas que deberían darte una buena idea de cómo funciona el comando chage:

Q1. ¿Cómo ver la información sobre la caducidad de la contraseña actual?

Para ver la información sobre la fecha de caducidad de la contraseña de un usuario, utiliza la opción de línea de comandos -l.

chage -l [USERNAME]

Aquí tienes un ejemplo:

chage -l himanshu

Y la siguiente es la salida que produjo en mi sistema:

Last password change                    : Jul 26, 2018
Password expires                     : never
Password inactive                    : never
Account expires                        : never
Minimum number of days between password change        : 0
Maximum number of days between password change        : 99999
Number of days of warning before password expires    : 7

Así que actualmente, la contraseña está configurada para que caduque «nunca».

Q2. ¿Cómo cambiar la fecha de caducidad de la contraseña?

Puedes hacerlo utilizando la opción de línea de comandos -M, que requiere que pases un número (que se refiere al número máximo de días durante los que la contraseña es válida).

Por ejemplo:

chage -M 1000 himanshu

Ten en cuenta que esta operación requiere privilegios de root.

Cómo cambiar la fecha de caducidad de la contraseña

Como puedes ver en la captura de pantalla anterior, la caducidad de la contraseña se ha establecido en el 21 de abril de 2021.

Ten en cuenta que también puedes utilizar la opción de línea de comandos -m, que se utiliza para establecer el número mínimo de días entre los cambios de contraseña. La opción -M de la que hemos hablado anteriormente establece el número máximo de días durante los cuales una contraseña es válida.

Q3. ¿Cómo cambiar la fecha del último cambio de contraseña?

Puedes modificar la fecha de último cambio de contraseña utilizando la opción -d de la línea de comandos. Como entrada, puedes pasar un número a esta opción, o una fecha completa. Así es como lo explica la página man:

 -d, --lastday LAST_DAY
           Set the number of days since January 1st, 1970 when the password
           was last changed. The date may also be expressed in the format
           YYYY-MM-DD (or the format more commonly used in your area).

A continuación se muestra un ejemplo:

Cómo cambiar la fecha del último cambio de contraseña

Así puedes ver que el valor del campo «Último cambio de contraseña» se ha modificado correctamente.

Q4. ¿Cómo avisar al usuario antes de que caduque la contraseña?

El comando chage también te permite establecer el número de días de advertencia antes de que se requiera un cambio de contraseña. Esto puede hacerse utilizando la opción de línea de comandos -W.

-W, --warndays WARN_DAYS
           Set the number of days of warning before a password change is
           required. The WARN_DAYS option is the number of days prior to the
           password expiring that a user will be warned his/her password is
           about to expire.

Por ejemplo:

chage -W 10 himanshu

Este comando hará que el usuario vea el aviso de caducidad de la contraseña 10 días antes de que ésta caduque.

Q5. ¿Cómo bloquear una cuenta?

Utiliza la opción de línea de comandos -E para bloquear una cuenta. La forma en que acepta la entrada es similar a la opción -W de la que hablamos anteriormente. Para que te sirva de referencia, así es como lo explica la página man:

-E, --expiredate EXPIRE_DATE
           Set the date or number of days since January 1, 1970 on which the
           user's account will no longer be accessible. The date may also be
           expressed in the format YYYY-MM-DD (or the format more commonly
           used in your area). A user whose account is locked must contact the
           system administrator before being able to use the system again.

           Passing the number -1 as the EXPIRE_DATE will remove an account
           expiration date.

Por ejemplo:

chage -E 2019-06-21 himanshu

Este comando de arriba hará que la cuenta del usuario ‘himanshu’ sea inaccesible a partir del 21 de junio de 2019.

Q6. ¿Qué ocurre si se utiliza chage sin ninguna opción?

Esto es lo que ocurre en este caso:

       If none of the options are selected, chage operates in an interactive
       fashion, prompting the user with the current values for all of the
       fields. Enter the new value to change the field, or leave the line
       blank to use the current value. The current value is displayed between
       a pair of [ ] marks.

¿Qué ocurre si se utiliza el chage sin ninguna opción?

Conclusión

Si eres un administrador de sistemas Linux, o alguien que se encarga de la gestión de usuarios en máquinas Linux, merece la pena tener este comando en tu equipo. Aquí hemos cubierto varias opciones de la línea de comandos chage. Para saber más, dirígete a la página man de chage.

También te podría gustar...