在 CentOS/RHEL 中更改密码时出错“You must wait longer to change your password”

替代方式

我们也可以将密码老化信息更改为 linux 默认值,然后再次尝试更改密码。
将第 4 个字段更改为“0”会将密码更改之间的最小天数更改为“0”,以便用户可以不受任何限制地更改其密码。

以 root 用户身份对“/etc/shadow”文件进行以下更改:

user:#4$jhagsjas$GJASJgjas/LNh8it5jT.N0:16345:0:99999:7:::

或者我们也可以使用 root 帐户使用户的密码过期:

# chage -d 0 user1

如果我们再次验证用户的密码信息,我们会发现:

# chage -l user1
Last password change : Nov 07, 2017
Password expires : Jan 08, 2017
Password inactive : Jan 23, 2017
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

尝试更改密码,现在应该可以使用了。

www. On IT Road .com

解决方案

相关用户密码老化信息如下:

# chage -l user1
Last password change : Nov 07, 2017
Password expires : Jan 08, 2017
Password inactive : Jan 23, 2017
Account expires : never
Minimum number of days between password change : 30
Maximum number of days between password change : 90
Number of days of warning before password expires : 7

密码时效信息显示密码于 2017 年 2 月 7 日更改,“密码更改之间的最小天数”为 30 天。
此用户的下一次密码更改可以在 2017 年 2 月 7 日之后的 30 天完成。
在这种情况下,用户试图在 2017 年 2 月 7 日再次更改密码,这是不允许的。

用户连续两次密码更改之间的时间限制由“密码更改之间的最短天数”定义。
或者用户应等待最少天数再次更改其密码,或者应修改“密码更改之间的最少天数”设置。

如果我们想让用户随时自行更改密码,请进行以下更改:

  1. 对于现有用户,
# chage --mindays 0 username
  1. 要使其成为所有要创建的新用户的默认设置,请将 /etc/login.defs 中的 PASS_MIN_DAYS 设置为零。
# vi /etc/login.defs
PASS_MIN_DAYS 0

如果要将“密码更改之间的最小天数”设置为任何其他值,请将上述命令中的零替换为所需的值。

问题

创建了一个新用户并为其分配了密码。
她登录并尝试更改密码,但收到上述错误。

user1@XXXX:/home/user1: passwd
Changing password for user user1.
Changing password for user1
(current) UNIX password:
You must wait longer to change your password
我们必须等待更长时间才能更改密码
Current Password:
passwd: Authentication token manipulation error
日期:2020-09-17 00:14:04 来源:oir作者:oir