一、账户有效期相关参数

1.1 概念

密码有效期:当一个密码过期后,系统会要求修改密码后才能登录。
账户有效期:当一个账号过期了,将无法再登录。也不提供修改密码的机会。

1.2 查看账号信息

使用chage -l root命令可以查看用户的相关信息。
Snipaste_2024-12-12_17-19-49.jpg

前四个比较难以理解,这里进行详细的解释:
Last password change:表示最后一次修改密码的日期。例如一个密码的有效期设置为90天。那么从Last password change开始往后推90天的日期,就是密码的过期时间。当密码过期,用户再登录时会被要求更改密码,只有更改密码之后才能登录。

#修改上次修改密码的日期为2024年10月10日
chage -d 2024-10-10 root

Password expires:表示密码的过期日期,注意这里是日期,而非密码的有效天数,但是这个日期实际上和密码的有效天数是直接相关的。如果密码永久有效,这里显示never。如果密码是90天,这里显示一个具体的日期时间,时间从Last password change开始向后推90天。(修该这个值会同步修改Maximum number of days between password change

#密码在90天后过期
chage -M 90 root

#密码在99999天后过期(永不过期)
chage -M 99999 root

#密码在-1天后过期(永不过期)
chage -M -1 root

Password inactive:默认天数为-1,这里会显示never。也就是密码过期之后,用户再进行登录,系统会要求用户进行修改。而如果设置了7天,则表示密码过期7天内,用户还有修改密码的机会,超过7天账号将被锁定,连修改密码的机会也没有。只能通过管理员用户(如root)才能解锁账号。

#密码过期的7天内,可以修改密码并登录。超过7天账号会被锁定。
chage -I 7 root

#不论密码过期多久,都可以修改密码并登录
chage -I -1 root

Account expires:账号过期时间,表示账号在多少天后会过期,即便此时密码并没有过期。

#账号在2025年12月31日过期
chage -E 2025-12-31 root

#账号永不过期
chage -E -1 root
如果root账号过期了怎么办?
如果root账号过期,将无法登录系统。并且系统内也没有其它管理员账号。则只能进入救援模式,执行命令passwd root修改密码,然后执行chage -E -1 root取消过期设置。

二、管理命令

1.查看用户密码有效期

chage -l root

输出

Last password change                                : Dec 12, 2024
Password expires                                    : never
Password inactive                                    : never
Account expires                                        : never
Minimum number of days between password change        : 0
Maximum number of days between password change        : 12345
Number of days of warning before password expires    : 7

2.修改密码最小有效期

用户在修改密码之后,要再等7天才能再次修改。(没啥用)

chage -m 7 root

3.修改密码最大有效期

表示密码从“上次修改的日期往后99999天内有效”,设置为99999或者-1表示密码永久生效。

chage -M 99999 root

4.修改密码过期警告时间

系统将在密码过期7天前开始警告。

chage -W 7 root

5.设置用户密码的最后修改日期

如果修改为0天,则会要求用户在下次登陆时,必须修改密码。

chage -d 0 root

设置为今天
相当于重置了密码的有效期

chage -d $(date +%Y-%m-%d) root

标签: none

添加新评论