无法更改 FreeIPA 管理员的密码 - “当前密码的最短寿命尚未过期”

Ale*_*lex 6 kerberos freeipa

我们有一个基于 FreeIPA 的系统,管理员的密码已过期,需要更改,但通过 SSH 的标准密码更改程序失败:

sashka@cellar ~ ssh admin@ipa.xxxxxxxxxx.com
admin@ipa.xxxxxxxxxx.com's password: 
Password expired. Change your password now.
Last failed login: Mon Jun 30 15:38:21 MSK 2014 from 116.10.191.195 on ssh:notty
There were 6071 failed login attempts since the last successful login.
Last login: Wed Apr 16 19:28:54 2014
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for user admin.
Current Password: 
New password: 
Retype new password: 
Password change failed. Server message: Current password's minimum life has not expired

Password not changed.
passwd: Authentication token manipulation error
Connection to ipa.xxxxxxxxxx.com closed.
Run Code Online (Sandbox Code Playgroud)

如果我们尝试使用passwd它更改密码也会失败并显示相同的错误消息:

[admin@ipa ~]$ passwd
Changing password for user admin.
Current Password: 
New password: 
Retype new password: 
Password change failed. Server message: Current password's minimum life has not expired

Password not changed.
passwd: Authentication token manipulation error
[admin@ipa ~]$
Run Code Online (Sandbox Code Playgroud)

我们应该怎么做才能解决这种情况?

Mic*_*ton 7

听起来您以某种方式创建了一个密码策略,其最短密码寿命长于最长密码寿命。

请记住,最大值以为单位指定,而最小值以小时为单位指定。如果你把这些混合在一起,那么很容易做到这一点。

要确认它,请检查现有的密码策略:

ipa pwpolicy-find

ipa pwpolicy-show global_policy
Run Code Online (Sandbox Code Playgroud)

使用第二个管理员帐户登录并更改密码策略。

例如,要设置最短寿命为 7 天,最长寿命为 90 天:

从命令行:

ipa pwpolicy-mod global_policy --minlife 168 --maxlife 90
Run Code Online (Sandbox Code Playgroud)

从网络用户界面:

更改 IPA 密码策略 Web UI

也可以将最小寿命设置为零以禁用它。