在不知道哈希函数的情况下更改 ldap 密码

change ldap password without knowing the hash function

我目前正在尝试使用 ruby 更改 ldap 帐户的密码。由于我之前使用 OpenDJ 和 Java,因此可以触发密码更改请求,该请求仅以纯文本形式获取新密码,但最后使用 OpenLDAP 选项中设置的功能将其设置为加密密码。

但是ruby,我只是想出了如何直接更改密码属性。

我可以用 ruby 和我在 java 中用 OpenDJ 做的一样吗?

OpenDJ 中修改密码的操作是一个LDAP 操作,与您在客户端使用的语言无关。 所以是的,您应该能够对 Ruby 和 Java 执行相同的操作。 如何在 Ruby 中执行此操作取决于 Ruby 中提供的 LDAP 支持和库,很抱歉,我没有这方面的经验。

如果您使用 ruby-ldap gem,则以下代码应该有效:

modifications = [
  LDAP.mod(LDAP::LDAP_MOD_REPLACE, 'userPassword', ['cleartextpassword']),
]

begin
  conn.modify("uid=jdoe, dc=example, dc=com", modifications)
rescue LDAP::ResultError
  exit
end