Linux, Ubuntu, and Linux-based Docker images, the password expiry can be set by using the change command.
chage - change user password expiry information
Let us explore it in detail.
Viewing the user password expiry details.
To view the current password expiry date, use the -l option
chage -l <USERNAME>
Example:
root@codetryout:~# chage -l codex
Last password change : Sep 28, 2020
Password expires : Oct 08, 2020
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 10
Number of days of warning before password expires : 7
The option to set the user password to never expire
To make the user password never expire, set the MAX_DAYS to -1 (minus one)
chage -M -1 <USERNAME>
Example:
chage -M -1 codex
Let us verify the change:
root@codetryout:~# chage -l codex
Last password change : Sep 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 : -1
Number of days of warning before password expires : 7
Here is the complete list of options available:
Usage: chage [options] LOGIN
Options:
-d, --lastday LAST_DAY set date of last password change to LAST_DAY
-E, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE
-h, --help display this help message and exit
-i, --iso8601 use YYYY-MM-DD when printing dates
-I, --inactive INACTIVE set password inactive after expiration
to INACTIVE
-l, --list show account aging information
-m, --mindays MIN_DAYS set minimum number of days before password
change to MIN_DAYS
-M, --maxdays MAX_DAYS set maximum number of days before password
change to MAX_DAYS
-R, --root CHROOT_DIR directory to chroot into
-W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS
Reference: Ubuntu – change command man page
Note: This is tested on Ubuntu Linux, the same should work across most Linux distributions and Linux-based containers.