如何在Linux中强制用户在下一次登录时更改密码?


在网络安全领域,强制执行密码策略是保护您的Linux系统免受未授权访问的必不可少的安全措施。在Linux中,要求用户频繁更改密码是提高系统安全性的有效方法。

确保Linux系统的安全对于系统管理员至关重要,而实现这一目标的有效方法之一是实施安全措施,强制用户定期更改密码。本文旨在指导如何在Linux系统上强制用户在下一次登录时更改密码。

本文将介绍两种方法,可用于强制用户在下一次登录Linux时修改其密码。通过使用这些方法,您可以确保系统用户始终使用安全的密码,从而降低安全漏洞的可能性。

在Linux中,强制用户在下一次登录时更改密码有两种方法:

方法一:使用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系统上敏感信息的重要安全措施。在本文中,我们探讨了实现此目的的两种方法。第一种方法涉及使用passwd命令和-e选项使用户的密码过期,而第二种方法使用chage命令修改系统上用户或所有用户的密码老化策略。两种方法都能有效地强制用户更改密码,但chage命令更适合一次更改多个用户的密码老化策略。管理员应定期使用这些方法,以确保用户创建强大且安全的密码,并保护其Linux系统免受未授权访问。

更新于:2023年7月27日

3000+ 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告