# phpman > man > CHAGE(1)

> **TLDR:** Change user account and password expiry information.
>
- List password information for the user:
  `chage {{-l|--list}} {{username}}`
- Enable password expiration in 10 days:
  `sudo chage {{-M|--maxdays}} {{10}} {{username}}`
- Disable password expiration:
  `sudo chage {{-M|--maxdays}} {{1}} {{username}}`
- Set account expiration date:
  `sudo chage {{-E|--expiredate}} {{YYYY-MM-DD}} {{username}}`
- Force user to change password on next log in:
  `sudo chage {{-d|--lastday}} {{0}} {{username}}`
- Re-enable an account:
  `sudo chage {{-E|--expiredate}} -1 {{username}}`

*Source: tldr-pages*

---

[CHAGE(1)](https://www.chedong.com/phpMan.php/man/CHAGE/1/markdown)                                    User Commands                                   [CHAGE(1)](https://www.chedong.com/phpMan.php/man/CHAGE/1/markdown)



## NAME
       chage - change user password expiry information

## SYNOPSIS
       **chage** [_options_] _LOGIN_

## DESCRIPTION
       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.

## OPTIONS
       The options which apply to the **chage** command are:

### -d --lastday
           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).

### -E --expiredate
           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.

### -h --help
           Display help message and exit.

### -i --iso8601
           When printing dates, use YYYY-MM-DD format.

### -I --inactive
           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.

### -l --list
           Show account aging information.

### -m --mindays
           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.

### -M --maxdays
           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.

### -R --root
           Apply changes in the _CHROOT_DIR_ directory and use the configuration files from the
           _CHROOT_DIR_ directory.

### -W --warndays
           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.

## NOTE
       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.

## CONFIGURATION
       The following configuration variables in /etc/login.defs change the behavior of this tool:

## FILES
       /etc/passwd
           User account information.

       /etc/shadow
           Secure user account information.

## EXIT VALUES
       The **chage** command exits with the following values:

       _0_
           success

       _1_
           permission denied

       _2_
           invalid command syntax

       _15_
           can't find the shadow password file

## SEE ALSO
       [**passwd**(5)](https://www.chedong.com/phpMan.php/man/passwd/5/markdown), [**shadow**(5)](https://www.chedong.com/phpMan.php/man/shadow/5/markdown).



shadow-utils 4.8.1                           02/06/2024                                     [CHAGE(1)](https://www.chedong.com/phpMan.php/man/CHAGE/1/markdown)
