一:概述
Linux系统中的用户和密码都是有使用期限的,超过设置日期期限之后,必须更改密码以防止产生漏洞。如果我们使用Linux系统中有一个账号被人盗了,就容易是文件窃取,危害系统安全。
二:设置Linux系统中的失效日期
useradd命令与和指定选项搭配可以设置默认的失效日期。useradd命令中的-D选项表示显示或者设置默认值,-f选项表示密码失效之后,用户被禁用之前的天数。使用useradd搭配使用选项就可以设置用户的失效日期。
如果你想按天数设置这个失效日期,命令格式为:
useradd -D -f 天数
用户的配置文件/etc/default/useradd中的INACTIV表示密码过期后至无法使用该账户的天数。系统默认是1,表示不启用。
举个例子:
设置用户的失效日期为400天,设置完成后,配置文件中的INACTIVE值为400,就表示设置成功。需要使用的命令如下所示:
第一个命令
grep INACTIVE /etc/default/useradd
第二个命令
useradd -D -f 400
第三个命令
grep INACTIVE /etc/default/useradd
如果你想按日期指定用户的失效日期,你可以使用useradd命令的-e选项:
默认情况下,/etc/default/useradd用户配置文件中的EXPORE为空值,表示账户密码永不过期。设置日期时,格式为YYYY/MM/DD,缺省表示永久有效。先查看这个配置文件里面的EXPIRE的值,确认值后,再进行useradd -D -e 2025/10/23命令设置失效日期,然后再次使用grep命令查看配置文件中的值是否修改成功,如果改变了说明修改成功了。
三:change命令设置失效日期
命令格式:change [选项] 用户名
指定不同的选项可以设置/etc/shadow文件中不同的字段值,如下表所示:
选项 | 说明 |
-l | 显示账户和密码的失效日期信息,仅限于普通用户 |
-d | 设置上次密码更新的日期,以YYYY/MM/DD格式指定日期,也就是/etc/shadow文件的第三个字段 |
-m | 设置两次密码更改之间的最短天数,也就是etc/shadow文件中的第四个字段 |
-M | 设置不更改密码的最长使用天数,也就是/etc/shadow文件中的第五个字段 |
-W | 指定密码更改截止日期之前发出警告的天数,也就是/etc/shadow文件中的第六个字段 |
-I | 密码更改到期的宽限天数,也就是/etc/shadow文件中的第七个字段 |
-E | 设置账户的失效日期,也就是/etc/shadow文件中的第八个字段 |
注意:使用date日期可以查看当前的日期。
下面演示一下,查看用户user3的相关参数:
可以发现第八个字段为空。
如果你想改变设置用户的失效日期,可以使用以下的命令进行修改:
第一个命令设置失效的日期
change -E 2024/3/4 uer3
第二个命令再次查看/etc/shadow文件中的第八个字段内容
grep user3 /etc/shadow