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 their password.
| Use Case | Command | Description |
|---|---|---|
| 🔍 View account aging information | chage -l user | Shows when password expires, last changed, and account inactivity |
| ⏳ Set account expiration date | chage -E YYYY-MM-DD user | Sets the absolute date when the account will be locked |
| ⬆️ Set maximum password validity | chage -M days user | Sets the maximum number of days a password is valid |
| ⬇️ Set minimum password age | chage -m days user | Sets the minimum number of days between password changes |
| 🚫 Set password inactivity lock | chage -I days user | Sets the days of inactivity after password expiry before the account is locked |
| ⚠️ Set password warning period | chage -W days user | Sets the number of days of warning before a password change is required |
| 💬 Interactive mode | chage user | Prompts for all aging fields interactively, displaying current values in [ ] |
chage [options] LOGIN
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 their password.
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).
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.
Display help message and exit.
When printing dates, use YYYY-MM-DD format.
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.
Show account aging information.
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 their password at any time.
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 their password before being able to use their 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.
Apply changes in the CHROOT_DIR directory and use the configuration files from the CHROOT_DIR directory.
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 their password is about to expire.
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.
The chage program requires a shadow password file to be available.
The chage command is restricted to the root user, except for the -l option, which may be used by an unprivileged user to determine when their password or account is due to expire.
The following configuration variables in /etc/login.defs change the behavior of this tool:
| Code | Meaning |
|---|---|
| 0 | success |
| 1 | permission denied |
| 2 | invalid command syntax |
| 15 | can't find the shadow password file |
Generated by phpman v4.9.26-5-g7740029 Author: Che Dong Under GNU General Public License
2026-08-16 10:13 @2600:1f28:365:80b0:7cb9:fb:26c1:e368
CrawledBy CCBot/2.0 (https://commoncrawl.org/faq/)