ubuntu ldapsetpasswd 设置密码不起作用

ubuntu ldapsetpasswd 设置密码不起作用

因为我安装了 ldap 服务器,我正在为服务器用户进行服务器客户端身份验证,但在密码方面遇到了问题。如果我在添加 ldif 文件中输入密码,并在密码前面放置一些编码标签,如 {crypt}somepassword,然后将其作为新用户添加到 ldap,它就可以工作了。但如果我尝试使用命令 ldappasswd 更改密码,它会说

ldappasswd 用户
SASL/DIGEST-MD5 身份验证已启动
请输入您的密码:
ldap_sasl_interactive_bind_s:无效凭证(49)
    附加信息:SASL(-13):未找到用户:数据库中没有秘密

如果我尝试使用 -x 参数然后说

ldappasswd 用户 -x
结果:需要更强的身份验证 (8)
附加信息:只有经过身份验证的用户才可以更改密码

和 ldapsetpasswd 更改密码但密码不起作用。

答案1

您的 ldap 服务器可能不应该提供 SASL 方法。

如果您想要简单绑定(-x)而不是使用 SASL,您还应该使用-ZZ来要求STARTTLS。简单绑定还要求使用dn指定并使用或-D指定密码,这将生成提示。-w <password>-W

但是,您应该编辑 Ubuntu 的等效版本/etc/sasl2/slapd.conf以排除您不支持的 SASL 方法。

mech_list: external plain

另外:您应该真正将密码更改粘合在一起,pam-ldap以便用户可以使用来更改他们的密码passwd

附注:{crypt} 可能不建议使用。如果您想直接在 LDAP 中存储凭据,则可能应该使用 {SSHA}

相关内容