在 Linux 中配置用户密码老化/过期策略 |在 Linux 中配置用户密码老化/过期策略 |在 Linux 中配置用户密码老化/过期策略 |在 Linux 中配置用户密码老化/过期策略 |
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

在 Linux 中配置用户密码老化/过期策略 |

发表 admin at 2025年2月28日
类别
  • 未分类
标签

在本教程中,您将学习为 Linux 用户配置密码时效和过期策略,以及手动锁定和解锁用户帐户。实现了密码老化和过期功能,以更好地保证用户帐户的安全。

密码验证的工作原理

当用户尝试登录时,系统会在 /etc/shadow 文件中查找该用户的条目,将用户的盐与输入的未加密密码组合起来,并对它们进行加密使用指定的哈希算法。如果结果与加密的哈希值匹配,则用户输入了正确的密码。如果结果与加密的哈希值不匹配,则用户输入了错误的密码,并且登录尝试失败。

你将学会:

  • 首次登录时强制更改密码。
  • 每 X 天强制更改一次密码。
  • 将用户帐户设置为自当天起 X 天后过期。

在开始之前,我将为此练习创建一个用户帐户。

sudo useradd user1
sudo passwd  user1

您将通过示例了解其他用户操作。

练习 1:首次登录时强制更改密码

要在用户首次登录时强制更改密码,请使用以下命令:

sudo chage -d 0 user1

如果您以 user1 身份登录,系统将提示您更改密码。

$ ssh user1@localhost
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
user1@localhost's password: 
You are required to change your password immediately (administrator enforced)
Last login: Wed Feb 12 06:48:43 2020 from ::1
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for user user1.
Current password: 
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
Connection to localhost closed.

您现在可以使用更新后的密码登录。

ssh user1@localhost
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
user1@localhost's password: 
Last login: Wed Feb 12 06:48:53 2020 from ::1
[user1@localhost ~]$ exit
logout
Connection to localhost closed.

练习 2:更改用户的密码策略

现在让我们设置一个密码策略,要求每90 天输入一个新密码。

sudo chage -M 90 user1

确认密码策略设置成功。

$ sudo chage -l user1
Last password change : Feb 12, 2020
Password expires : May 12, 2020
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

练习 3:将用户帐户设置为在 X 天后过期

我们会将 user1 帐户设置为从当天起 120 天过期。

获取距离当前时间 120 天的日期和时间:

$ date -d "+120 days" +%F
2020-06-11

现在将帐户设置为在上面显示的日期到期。

sudo chage -E 2020-06-11 user1

验证帐户到期日期是否已成功设置:

$ sudo chage -l user1
Last password change					: Feb 12, 2020
Password expires					: May 12, 2020
Password inactive					: never
Account expires						: Jun 11, 2020
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

练习 4:锁定和解锁用户帐户

锁定帐户可防止用户使用密码对系统进行身份验证。 usermod 命令可用于通过 -L 选项锁定帐户。

sudo usermod -L user1

确认 :

$ su - user1
Password: 
su: Authentication failure

稍后可以使用 usermod -U 命令选项解锁该帐户。

sudo usermod -U user1

作为系统管理员,您可以使用单个 usermod 命令锁定帐户并使其过期。这对于离职员工来说是理想的选择。

sudo usermod -L -e 2020-02-20 user1

日期必须以自 1970-01-01 以来的天数形式给出,或采用 YYYY-MM-DD 格式。

练习 5:为所有用户设置密码策略

将所有用户的密码设置为自当前日期起 90 天到期。编辑文件 /etc/login.defs 需要管理权限。

sudo vim /etc/login.defs

将 PASS_MAX_DAYS 设置为 90。

PASS_MAX_DAYS   90

它应该看起来像这样:

您可以配置的所有密码时效参数包括:

  • PASS_MAX_DAYS 密码可以使用的最大天数。
  • PASS_MIN_DAYS 密码更改之间允许的最短天数。
  • PASS_MIN_LEN可接受的最小密码长度。
  • PASS_WARN_AGE 密码过期前发出警告的天数。

当您编辑文件/etc/login.defs时,默认密码和帐户到期设置将对新用户有效,但对现有用户无效。

标签:

  • 在Linux中配置用户密码老化
  • 如何在 Linux 中首次登录时使用户密码过期
  • 在Linux中设置用户密码策略
  • 在 Linux 上设置用户密码在 X 天后过期
  • 如何在 Linux 中锁定用户帐户
  • 如何在 Linux 上解锁用户帐户
©2015-2025 Norria support@norria.com