[英]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.