一个第一反应是拼写错误的linux命令:chage

73人浏览   2024-04-11 14:35:01


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

相关推荐