用python-ldap更改密码

时间:2016-06-27 16:31:17

标签: python passwords ldap python-ldap

我希望在ldap用户上更改密码。脚本是:

def changePassword(url,binddn,pw, newpw):
l = ldap.initialize(url)
ldap.
try:
    l.protocol_version=ldap.VERSION3
    l.simple_bind_s(binddn,pw)
except:
    print "Error Bind in changePassword"
    sys.exit(0)

old = {'userPassword':pw}
new = {'userPassword':newpw}
ldif = modlist.modifyModlist(old,new)
try:
    l.modify_s(binddn,ldif)
    l.unbind_s()
except:
    print "error"

但是当我调用此函数时,我收到“错误”。 当我更改密码时,我的LDAP具有要求当前密码的PPolicy。

如何更改此PPolicy的密码?

任何人都可以帮助我吗?

提前致谢 达里奥

2 个答案:

答案 0 :(得分:1)

对于LDAPv3服务器,通常应该永远不要对用户密码进行直接修改/替换,而应使用LDAPv3密码修改操作。在Python中,这是通过passwd / passwd_s

完成的

答案 1 :(得分:0)

也许你必须在modify_s中直接使用以下modlist [(ldap.MOD_REPLACE,'userPassword',[newpasswd])]