簡體   English   中英

用python-ldap更改密碼

[英]change password with 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。

如何修改密碼whit這個PPolicy?

誰能幫我??

在此先感謝達里奧

對於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”。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM