如何在 Linux 中强制用户在下次登录时更改密码?
在网络安全领域,强制执行密码策略是保护 Linux 系统免受未经授权访问的一项不可或缺的安全措施。在 Linux 中,要求用户经常更改密码是提高系统安全性的有效方法。
确保 Linux 系统的安全性对系统管理员至关重要,而实现这一目标的有效方法之一是实施强制用户定期更改密码的安全措施。本文旨在指导如何在 Linux 系统上强制用户在下次登录时更改密码。
本文将介绍两种可用于强制用户在下次登录 Linux 时修改密码的方法。通过采用这些方法,您可以确保系统用户始终使用安全密码,从而降低安全漏洞的可能性。
在 Linux 中,有两种方法可以强制用户在下次登录时更改密码 -
方法 1:使用 Passwd 命令
步骤 1-打开终端并以 root 用户身份登录,或使用 sudo 获取 root 权限。
要使用 passwd 命令使用户密码过期,您需要拥有 root 权限。这可以通过以 root 用户身份登录或使用 sudo 命令获取临时 root 权限来实现。
步骤 2 − 输入以下命令 −
passwd --expire username
Linux 中的 passwd 命令是一个允许用户更改其帐户密码的工具。但是,"--expire"选项可用于强制用户在下次登录时更改密码。要使用此选项,请将"username"替换为您要使其密码过期的用户的名称。
例如,假设我们要使用户"robin"的密码过期。我们将使用以下命令−
示例
passwd --expire robin
此命令将用户"robin"的密码过期时间设置为 0,这意味着密码已过期,系统将在下次登录时提示用户更改密码。
步骤 3−当用户尝试再次登录时,系统会提示输入新密码。
用户"robin"尝试再次登录时,系统会提示输入新密码。密码可以是字母、数字和特殊字符的任意组合,只要符合系统管理员设置的密码复杂度要求即可。
输出
[root@localhost ~]# passwd --expire robin passwd: password expiry information changed. [root@localhost ~]# su - robin Changing password for user robin. New password: Retype new password: passwd: all authentication tokens updated successfully. [robin@localhost ~]$ In the above example, we first logged in as the root user, then used the "passwd --expire robin" command to expire the password for the user "robin". When "robin" tried to log in again, he was prompted to enter a new password. The output shows that the password was successfully changed.
需要注意的是,用户密码过期只是一项临时措施,后续应定期更改密码,以确保用户帐户的安全。
方法二:使用 Chage 命令
chage 命令用于修改用户帐户的密码过期信息。此命令允许管理员指定用户密码的过期时间,并在下次登录时强制更改密码。操作方法如下:
步骤 1 − 打开终端并以 root 用户身份登录或使用 sudo 获取 root 权限。
在使用 chage 命令修改用户的密码到期信息之前,您需要以 root 用户身份登录或拥有 root 权限。这可以通过打开终端并使用 su 或 sudo 命令来实现。
步骤 2−使用 chage 命令修改用户帐户的密码过期信息。
要修改用户帐户的密码过期信息并强制用户在下次登录时立即更改密码,可以使用 chage 命令。此命令允许管理员将用户的密码设置为立即过期,从而提示用户在下次登录时更改密码。以下是实现此目的的示例命令。
示例
chage --lastday 0 username
输出
[root@localhost ~]# chage --lastday 0 jane Changing the last password change time for jane New expiration date is Mar 05, 2023
要使用 chage 命令修改特定用户帐户的密码过期信息,您需要将"username"替换为要使其密码过期的用户的实际名称。使用 chage 命令更改用户密码过期时,可以添加一个名为"--lastday 0"的选项。此选项会使用户的密码立即过期,这意味着用户下次登录时需要更改密码。您还需要通过将"username"替换为用户名来指示命令要修改哪个用户的帐户。
例如,如果我想使用户"jane"的密码过期,我会使用以下命令:-
示例
chage --lastday 0 jane
输出
[root@localhost ~]# chage --lastday 0 jane
Changing the aging information for jane
Enter the new value, or press ENTER for the default
Minimum Password Age [0]:
Maximum Password Age [99999]:
Last Password Change (YYYY-MM-DD) [2022-10-15]:
Expiration Date (YYYY-MM-DD) [2022-10-15]: 0
Password inactive after expiration (days) [99999]:
Account expires (YYYY-MM-DD) [never]:
Maximum number of days between password change [99999]:
Number of days of warning before password expires [7]:
执行此命令会将用户"jane"的密码信息设置为立即过期。因此,下次 Jane 尝试登录时,她将需要更改密码。
步骤 3− 验证密码过期信息是否已修改。
建议在执行 chage 命令后验证密码过期信息是否已正确更新。为此,请运行以下命令−
示例
chage -l username
输出
$ chage -l jane Last password change : Feb 28, 2023 Password expires : never Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 90 Number of days of warning before password expires : 7
将"username"替换为您更改密码的用户的名称。此命令会显示用户上次更改密码的时间、下次需要更改密码的时间以及其他有关其密码的重要信息。
例如,如果我想检查用户"jane"的密码过期信息,我会使用以下命令:-
示例
chage -l jane
输出
Last password change : Feb 28, 2023 Password expires : Mar 28, 2023 Password inactive : never Account expires : never Minimum number of days between password : 0 Maximum number of days between password : 30 Number of days of warning before password expires : 7
此命令将显示用户"jane"的当前密码到期信息。
步骤 4−等待用户登录并更改密码。
使用 chage 命令更改用户帐户的密码到期信息后,您应该等待用户登录并重置密码。下次尝试登录时,系统将提示用户创建新密码。用户输入新密码后,系统将自动更新密码到期信息,以反映最近的密码更改。此后,用户可以照常使用其帐户。
结论
强制用户在下次登录时更改密码是保护 Linux 系统敏感信息的重要安全措施。本文探讨了两种实现此目的的方法。第一种方法是使用带有 -e 选项的 passwd 命令使用户密码过期,而第二种方法是使用 chage 命令修改用户或系统上所有用户的密码时效策略。这两种方法都可以有效地强制用户更改密码,但 chage 命令更适合一次性更改多个用户的密码时效策略。管理员应定期使用这些方法,以确保用户创建安全可靠的密码,并保护其 Linux 系统免受未经授权的访问。
相关文章
有用资源
linux 参考教程 - 该教程包含有关 linux 的更多信息:https://www.cainiaomax.com/linux/

