如何使用 chage 在 Linux 上更改密码和帐户到期选项
管理用户密码的有效期限和所述帐户的到期日期是系统管理员应该能够执行的非常重要的任务。虽然其中一些参数可以在创建帐户时设置,但也可以使用 chage
实用程序再次更改它们;在本教程中,我们将了解如何使用此实用程序。
在本教程中您将学习:
如何获取有关用户帐户老化的信息
如何设置帐户到期日期
如何设置两次密码更改之间应经过的最短天数
如何设置密码有效期
如何设置不活跃天数阈值
如何设置用户何时应收到有关未来密码到期的警告
如何更改密码和帐户有效期
使用的软件要求和约定
获取老化状态信息
要使 chage
实用程序显示有关帐户老化状态的信息,我们所要做的就是使用 -l
选项(这是 -l
选项)调用它>--list)并提供我们要检查的帐户作为其参数。如果我们正在检查有关我们自己帐户的信息,我们可以在没有管理权限的情况下调用该实用程序;如果我们请求另一个帐户的信息(或者我们正在更改老化参数),我们应该在命令前加上 sudo 前缀,或者直接以 root 身份运行该命令。在下面的示例中,我请求一份有关我自己帐户的报告:
$ chage -l egdoc
以下是该命令的输出示例:
Last password change : May 07, 2021
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
输出的第一行报告上次更改帐户密码的日期 (Last_password_change)。在本例中,我们可以看到最后一次更改是在“2021 年 5 月 7 日”执行的。
第二行报告当前密码的到期日期 (Password_expires)。在这种情况下,报告的值为“never”,因此密码过期功能被禁用(密码永远不会过期)。
第三行显示密码无效日期。在这种情况下,该选项被禁用,但我们可以在密码过期后确定用户不活动的天数,然后再锁定用户帐户。
在第四行,我们可以检查帐户到期日期(帐户到期)。作为此选项的值,我们可以提供特定日期或自“1970 年 1 月 1 日”以来的天数,之后用户帐户将被锁定。
在接下来的两行中,我们可以看到两次密码更改之间应经过的最短天数(密码更改之间的最小天数),以及密码应有效的最大天数(密码更改之间的最大天数)。在这种情况下,第一个选项的值为0
,因此用户可以根据需要多次更改密码。
最后,在程序输出的最后一行中,我们可以看到在密码过期事件发生前多少天应向用户发送警告。当前值为7
;不过,这是无关紧要的,因为密码过期已被禁用。
更改密码有效期
使用 chage
实用程序,我们可以使用 -M
选项设置密码到期日期,以便设置密码应被视为有效的最大天数。例如将密码有效期设置为30
, 我们会运行:
$ sudo chage -M 30 egdoc
上述命令会将密码设置为自上次更改后 30
天到期。由于我们于 2021/05/07
进行了最后一次更改,密码现在将于 2021/06/06
到期。还可以使用 -d
选项手动输入上次更改密码的日期,该选项是 --lastday
的简短版本。例如,要将其设置为 2021/04/07
,我们将运行:
$ sudo chage -d 2021-04-07 egdoc
修改“最后更改”日期也会影响密码到期日期。
更改不活跃天数阈值
使用 chage
实用程序可以更改密码过期后应锁定帐户的天数。要执行此操作,我们希望使用 -I
选项 (--inactive
) 调用该实用程序,并提供天数作为参数(传递 -1
禁用该功能)。要将阈值设置为 15
非活动天数,我们将运行:
$ sudo chage -I 15 egdoc
考虑到在前面的示例中我们将密码到期日期设置为 2021-06-06
,通过运行上面的命令,帐户将在 2021-06-21
被锁定。
更改帐户到期日期
帐户到期日期通常在创建时设置,但可以使用 chage
实用程序对其进行修改。我们所要做的就是使用 -E
选项(--expiredate
的缩写)运行程序,并在 -E
选项中提供帐户到期的日期。代码>YYYY-MM-DD 格式。在以下示例中,我们将“egdoc”用户的帐户设置为 2021 年 8 月 15 日到期:
$ sudo chage -E 2021-08-15 egdoc
更改密码更改之间的最短天数
正如我们之前看到的,我们可以设置密码更改之间应经过的最短天数。在chage -l
命令的输出中,我们可以注意到该参数的值当前设置为0
,因此用户可以更改 他想要输入多少次密码就可以输入多少次。要更改此参数,我们必须使用 -m
选项 (--mindays
) 调用 chage
并提供天数作为参数。要将这个值设置为 3
天,我们将运行:
$ sudo chage -m 3 egdoc
如果用户尝试比预期更早更改密码,则会在控制台上收到以下错误:
You must wait longer to change your password.
但是,root 用户仍然可以不受任何限制地更改密码。
设置密码过期前多少天用户应收到警告
使用 chage
实用程序,我们可以设置在密码到期日期之前多少天,用户应该收到警告。要更改此参数的值,我们必须使用 -W
选项 (--warndays
) 运行该实用程序,并提供天数作为该选项的参数。要将这个值设置为 14
天,我们将运行:
$ sudo change -W 14 egdoc
结论
在本文中,我们学习了如何在 Linux 上使用“chage”实用程序来获取有关帐户到期日期的信息并修改相关参数。我们了解了如何设置帐户到期日期、如何设置密码更改之间应经过的最短天数、如何设置密码到期日期、非活动天数阈值以及用户应在密码到期前多少天收到通知一个警告。管理帐户到期日期是一项非常重要的任务:要更深入地了解 chage 实用程序,请查阅其手册。