Linux Commands – chage
Hello Everyone
Welcome to CloudAffaire and this is Debjeet.
In the last blog post, we have discussed passwd command in Linux which is used to add, update or delete user’s password.
https://cloudaffaire.com/linux-commands-passwd/
In this blog post, we will discuss chage command in Linux. chage command is used to update user password expiry information. 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. You need to have root or sudo privileges to view other users password expiry information.
Linux Commands – chage:
You can use chage -l or –list options to get an account aging information.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
############################ ## Linux Commands | chage ## ############################ ## Prerequisites: One Unix/Linux/POSIX-compliant operating system with bash shell ## ----- ## chage ## ----- ## chage [options] LOGIN ## chage -l or --list options sudo useradd myuser ## create a user sudo passwd myuser ## set myuser password sudo chage -l myuser ## list myuser password expiry info ## returns ## Last password change : May 28, 2020 ## 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 |
You can use chage -d or –lastday LAST_DAY options to 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). If the LAST_DAY is set to 0 the user is forced to change his password on the next log on.
1 2 3 4 5 6 7 8 9 |
## chage -d or --lastday LAST_DAY options sudo chage -l myuser ## list myuser password expiry info ## Last password change : May 28, 2020 sudo chage -d 2020-12-20 myuser ## set password last change date sudo chage -l myuser ## list myuser password expiry info ## Last password change : Dec 20, 2020 |
You can use chage -E or –expiredate EXPIRE_DATE options to 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.
1 2 3 4 5 6 7 8 9 |
## chage -E or --expiredate EXPIRE_DATE options sudo chage -l myuser ## list myuser password expiry info ## Account expires : never sudo chage -E 2021-12-12 myuser ## set password last change date sudo chage -l myuser ## list myuser password expiry info ## Account expires : Dec 12, 2021 |
You can use chage -M or –maxdays MAX_DAYS options to set the maximum number of days during which a password is valid. When MAX_DAYS plus LAST_DAY is less than the current day, the user will be required to change his/her password before being able to use his/her account. This occurrence can be planned for in advance by use of the -W option, which provides the user with advance warning. Passing the number -1 as MAX_DAYS will remove checking a password’s validity.
1 2 3 4 5 6 7 8 9 10 11 |
## chage -M or --maxdays MAX_DAYS options sudo chage -l myuser ## list myuser password expiry info ## Password expires : never ## Maximum number of days between password change : 99999 sudo chage -M 90 myuser ## set password expiry date sudo chage -l myuser ## list myuser password expiry info ## Password expires : Mar 20, 2021 ## Maximum number of days between password change : 90 |
You can use chage -m or –mindays MIN_DAYS options to set the minimum number of days between password changes to MIN_DAYS. A value of zero for this field indicates that the user may change his/her password at any time.
1 2 3 4 5 6 7 8 9 |
## chage -m or --mindays MIN_DAYS options sudo chage -l myuser ## list myuser password expiry info ## Minimum number of days between password change : 0 sudo chage -m 60 myuser ## set password change date sudo chage -l myuser ## list myuser password expiry info ## Minimum number of days between password change : 60 |
You can use chage -I or –inactive INACTIVE options to set the number of days of inactivity after a password has expired before the account is locked. The INACTIVE option is the number of days of inactivity. 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 INACTIVE will remove an account’s inactivity.
1 2 3 4 5 6 7 8 9 |
## chage -I or --inactive INACTIVE options sudo chage -l myuser ## list myuser password expiry info ## Password inactive : never sudo chage -I 30 myuser ## set password inactive date sudo chage -l myuser ## list myuser password expiry info ## Password inactive : Apr 19, 2021 |
You can use chage -W or –warndays WARN_DAYS options to 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.
1 2 3 4 5 6 7 8 9 10 11 |
## chage -W or --warndays WARN_DAYS options sudo chage -l myuser ## list myuser password expiry info ## Number of days of warning before password expires : 7 sudo chage -W 30 myuser ## set password warning date sudo chage -l myuser ## list myuser password expiry info ## Number of days of warning before password expires : 30 sudo userdel -rf myuser ## delete the user |
Hope you have enjoyed this article. In the next blog post, we will discuss usermod command.