You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Samba4 AD DC中LDAP设置用户密码无法用于认证,仅smbpasswd生效的问题咨询

Samba4 AD DC中LDAP设置用户密码无法用于认证,仅smbpasswd生效的问题咨询

嘿,我来帮你梳理这个问题!你遇到的情况其实是Samba4 AD DC和原生Active Directory在LDAP密码处理上的关键差异导致的,咱们一步步拆解:

问题核心原因

Samba4 AD DC虽然兼容LDAP协议,但它的密码验证逻辑不仅仅依赖unicodePwd属性——它还需要同步更新内部的NTLM哈希、Kerberos密钥等衍生密码值。

  • 当你用smbpasswd设置密码时,工具会自动完成两件事:更新unicodePwd属性,同时同步生成并存储Samba内部验证所需的各种密码哈希;
  • 但你通过LDAP的AddRequest或者ldapadd命令设置unicodePwd时,只会修改这个LDAP属性本身,不会触发Samba内部的密码哈希同步流程,导致认证时Samba找不到匹配的验证凭据,进而返回“无效凭证”错误。

错误码的额外提示

你看到的data 533错误,本质是因为Samba内部的密码状态未同步,系统判定该用户的验证凭据不完整,并非真的账户禁用(毕竟你刚创建用户)。

解决办法

这里有两种可行的方案:

方案1:创建用户后触发Samba密码同步

在通过LDAP创建用户并设置unicodePwd后,登录到Samba服务器执行以下命令,强制同步密码哈希:

samba-tool user setpassword testuser --newpassword=pw1234!

执行后,再用LDAP认证就可以正常通过了。

方案2:直接用Samba工具创建用户

跳过纯LDAP创建的步骤,直接使用Samba官方工具创建用户,它会自动处理所有属性和哈希同步:

samba-tool user create testuser pw1234! --userou="CN=Users,DC=ldap,DC=test,DC=dev"

这样创建的用户可以直接通过LDAP认证。

关于unicodePwd值差异的侧问题解答

你发现存储的unicodePwd值和你传入的编码值不一样,这是完全正常的!Active Directory(包括Samba4)不会明文存储密码,你传入的IgBwAHcAMQAyADMANAAhACIA是明文密码按规范编码后的格式,服务器接收后会立即加密为不可逆的哈希值存储,所以两者自然不同,这个现象和认证问题无关。

备注:内容来源于stack exchange,提问作者iSpain17

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 08:34:37