一个第一反应是拼写错误的linux命令:chage
chage简介
chage用来查看和修改用户账号和密码过期时间信息。
chage可以修改的内容包括:密码过期时间,上一次密码修改时间,账户过期时间等。
系统管理员可以使用此命令管理账户的有效时间。
chage使用实例
只有root用户或者具有sudo权限用户可以执行chage命令。
chage使用用户名作为参数。
语法:
$ sudo chage [options] user
options选项:
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M:密码保持有效的最大天数。
-w:用户密码到期前,提前收到警告信息的天数。
-E:帐号到期的日期。过了这天,此帐号将不可用。
-d:上一次更改的日期。
-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
1 显示账户的实效信息
通过参数 -l显示账户的时效信息
$ sudo chage -l user
示例:
$ chage -l yunzhong
Last password change : Jun 14, 2022
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
2 使用命令修改账户的上一次密码变更日期
可以使用参数-d 或者 --lastday 修改上一次密码变更日期。参数可以是 天数(NUM_DAYS)也可以是一个指定的日期。如果是一个天数,会自动从 January 1st, 1970. 计算,往后添加天数。日期的格式:YYYY-MM-DD。
$ sudo chage -d YYYY-MM-DD user
或者
$ sudo chage --lastday YYYY-MM-DD user
示例:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
[sudo] password for yunzhong:
Last password change : Sep 07, 2022
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
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -d 2022-01-01 test1
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
Last password change : Jan 01, 2022
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
3 chage 命令设置账号过期时间
chage可以设置或者修改账号的过期日期,选项为-E或者--expiredate。
命令格式:
$ sudo chage -E YYYY-MM-DD user
或者
$ sudo chage --expiredate YYYY-MM-DD user
示例:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -E 2022-12-01 test1
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
Last password change : Jan 01, 2022
Password expires : never
Password inactive : never
Account expires : Dec 01, 2022
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
4 chage命令修改账户最小的密码修改
可以使用参数-m 或者 --mindays 设置修改密码的最小间隔。用户不能再最小时间间隔之内多次修改密码。数字0代表没有限制。
命令格式:
$ sudo chage -m NUM_DAYS user
或者
$ sudo chage --mindays NUM_DAYS user
示例:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
Last password change : Jan 01, 2022
Password expires : never
Password inactive : never
Account expires : Dec 01, 2022
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
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -m 2 test1
[sudo] password for yunzhong:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
Last password change : Jan 01, 2022
Password expires : never
Password inactive : never
Account expires : Dec 01, 2022
Minimum number of days between password change : 2
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
yunzhong@DESKTOP-9VB7LN7:~$
5 设置password修改的最大时间间隔
password将会在最大时间间隔之后失效。用户可以通过-M 或者 --maxdays 修改最大时间间隔。-1代表未设置。
命令格式:
$ sudo chage -M NUM_DAYS user
或者
$ sudo chage --maxdays NUM_DAYS user
示例:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -M 10 test1
[sudo] password for yunzhong:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
Last password change : Jan 01, 2022
Password expires : Jan 11, 2022
Password inactive : never
Account expires : Dec 01, 2022
Minimum number of days between password change : 2
Maximum number of days between password change : 10
Number of days of warning before password expires : 7
yunzhong@DESKTOP-9VB7LN7:~$
6 设置密码超期后多久之后不可用
通过 -I 或 --inactive 参数,设置密码在超期后多少天之后不可用。账户会被锁定而不可用。
$ sudo chage -I NUM_DAYS user
或者
$ sudo chage --inactive NUM_DAYS user
示例:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -I 10 test1
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
Last password change : Jan 01, 2022
Password expires : Jan 11, 2022
Password inactive : Jan 21, 2022
Account expires : Dec 01, 2022
Minimum number of days between password change : 2
Maximum number of days between password change : 10
Number of days of warning before password expires : 7
7 设置在password失效之前多少天开始预警
在用户密码失效之前,提前进行预警。可以通过 -W 或者 --warndays 修改天数。
$ sudo chage -W NUM_DAYS user
或者
$ sudo chage --warndays NUM_DAYS user
示例:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -W 10 test1
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
Last password change : Jan 01, 2022
Password expires : Jan 11, 2022
Password inactive : Jan 21, 2022
Account expires : Dec 01, 2022
Minimum number of days between password change : 2
Maximum number of days between password change : 10
Number of days of warning before password expires : 10
8 chage默认参数
用户可以使用chage,却不传输任何参数。命令将会交互式的让用户输入所有的设置信息。用户可以设置一个新的值,或者什么都不设置保留当前的值。当前的值将会在[]中显示。
命令格式:
$ sudo chage user
示例:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage test1
Changing the aging information for test1
Enter the new value, or press ENTER for the default
Minimum Password Age [2]: 3
Maximum Password Age [10]: 30
Last Password Change (YYYY-MM-DD) [2022-01-01]:
Password Expiration Warning [10]: 15
Password Inactive [10]: 5
Account Expiration Date (YYYY-MM-DD) [2022-12-01]:
yunzhong@DESKTOP-9VB7LN7:~$ chage -l test1
chage: Permission denied.
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
Last password change : Jan 01, 2022
Password expires : Jan 31, 2022
Password inactive : Feb 05, 2022
Account expires : Dec 01, 2022
Minimum number of days between password change : 3
Maximum number of days between password change : 30
Number of days of warning before password expires : 15
9 设置密码超期时间为never
将值设置为-1,代表never,即不生效。
命令格式:
$ sudo chage -M -1 user
示例:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -M -1 test1
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
Last password change : Jan 01, 2022
Password expires : never
Password inactive : never
Account expires : Dec 01, 2022
Minimum number of days between password change : 3
Maximum number of days between password change : -1
Number of days of warning before password expires : 15
10 删除失效日期设置
和上面的类似,将值设置为-1.
命令格式:
$ sudo chage -E -1 user
示例:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -E -1 test1
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
Last password change : Jan 01, 2022
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 3
Maximum number of days between password change : -1
Number of days of warning before password expires : 15