Linux - 重置密码过期时间、期限和历史记录
用户管理是Linux管理的重要组成部分,因此了解Linux系统上的所有用户帐户至关重要。一些常见的用户管理任务包括列出用户、禁用用户帐户或创建和修改用户帐户。
在本指南中,我们将重点关注管理用户密码。通过将密码设置为过期来强制用户每隔一段时间更改一次密码是一种良好的安全实践。在下面的示例中,您将了解如何重置用户的密码、将其密码设置为过期(立即或将来)以及查看用户密码的有效期。我们还将了解如何在日志文件中查看密码更改,从而让我们深入了解用户的密码更改历史记录。
在本教程中您将学习:
如何设置用户密码过期
如何查看用户密码的年龄
如何在日志文件中查看密码更改
Linux 上的密码过期和历史信息
将用户密码设置为过期
作为 root 用户,您可以通过执行 passwd -e
命令将用户的密码设置为过期。以下示例将使用户“linuxconfig”的密码过期。这样做将提示用户在下次尝试登录系统时更改密码。
$ sudo passwd -e linuxconfig
使用 passwd -e 命令强制用户密码过期
这将强制用户选择新密码。当我们尝试恢复旧密码时,您可以在下面的屏幕截图中看到我们收到的“密码未更改”错误。
尝试重新使用旧密码时收到的错误
如果你不希望用户的密码立即过期(即执行上面的命令后),那么我们可以使用chage
命令。请注意,这个命令看起来很像“change”这个词,但请注意这不是拼写错误,它实际上是没有“n”的 chage
。
将 -M
选项添加到您的命令中,并指定用户密码到期的时间长度(以天为单位)。以下示例将使用户“linuxconfig”密码在 30 天后过期。
$ sudo chage -M 30 linuxconfig
我们还可以使用 -E
选项并以 YYYY-MM-DD
格式指定日期来选择密码过期的日期。此命令将强制用户的密码于 2023 年 1 月 15 日到期。
$ sudo chage -E 2023-01-15 linuxconfig
使用 -W
选项警告用户其密码即将过期。例如,此命令将提前 7 天警告用户其密码即将过期。
$ sudo chage -W 7 linuxconfig
查看用户密码的年龄
当我们希望查看有关用户密码期限的信息时,我们可以再次使用 chage
命令。 -l
选项将列出用户密码上次更改的时间以及密码设置为过期的时间。
$ chage -l linuxconfig
查看密码最后一次更改的时间以及未来的过期信息
在日志文件中查看密码更改
Linux 记录大量数据,密码更改也不例外。基于 Debian 的系统(例如 Ubuntu)会将密码更改存储在 /var/log/auth.log
文件中,而基于 Red Hat 的系统将此信息存储在 /var/log/secure
中>。使用以下 grep 命令查看相应的文件。
$ grep -R -i passwd /var/log/auth.log
在日志文件中查看密码更改
正如您在上面的屏幕截图中看到的,日志向我们显示了“linuxconfig”用户帐户的密码何时设置为过期,并且还显示了用户密码何时更改。
结束语
在本指南中,我们了解了如何在 Linux 上管理用户帐户密码,方法包括强制密码过期、将其设置为将来过期、查看密码上次更改时间以及查看日志以查看密码更改。这些应该是您需要了解的所有命令,以便管理用户帐户密码并通过定期使密码过期来确保系统安全。