一:概述

  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的相关参数:

        失效日期管理和账户锁定1(Ubuntu)_字段

可以发现第八个字段为空。

如果你想改变设置用户的失效日期,可以使用以下的命令进行修改:

第一个命令设置失效的日期
change -E 2024/3/4 uer3
第二个命令再次查看/etc/shadow文件中的第八个字段内容
grep user3 /etc/shadow