我想更改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"但是当我调用这个函数时,我收到"error“。我的LDAP有当我更改密码时需要当前密码的PPolicy。
如何使用此PPolicy更改密码??
有谁可以帮我??
先谢谢你,达里奥
发布于 2019-05-30 02:16:00
对于LDAPv3服务器,通常不应该直接修改/替换用户密码,而应该使用LDAPv3密码修改操作。使用python-ldap时,这是通过passwd/passwd_s完成的。例如:
import ldap
server = 'localhost'
l = ldap.initialize('ldap://%s' % server)
l.simple_bind_s("cn=Marice McCaugherty,ou=Product Testing,dc=example,dc=com", "ytrehguaCc")
l.passwd_s("cn=Marice McCaugherty,ou=Product Testing,dc=example,dc=com", "ytrehguaCc", "secret")将作为列出的用户DN进行绑定,并将其密码从"ytrehguaCc“更改为"secret”。
发布于 2017-07-26 00:44:50
也许你必须在modify_s中直接使用下面的modlist [(ldap.MOD_REPLACE,'userPassword',newpasswd )]
https://stackoverflow.com/questions/38058966
复制相似问题