#!/usr/bin/env python
import ldap
def change_password(uid, oldpwd, newpwd):
try:
print 1
#dn = 'cn=%s,dc=genscript,dc=com' % uid
#dn = 'uid=%s,ou=People,dc=genscript,dc=com' % uid
dn = "%s@genscript.com" % uid
print 2
#ldap.set_option(ldap.OPT_X_TLS_CACERTFILE, "/path/to/ldaps.cert.file")
print 3
ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
print 4
my_ldap = ldap.initialize('ldaps://xxx.xxx.x.xxx:636')
print 50
my_ldap.protocol_version = ldap.VERSION3
print 5
my_ldap.simple_bind_s(dn, oldpwd)
print 6
my_ldap.passwd_s(dn, oldpwd, newpwd)
print 7
return "Password changed!"
print 8
except ldap.LDAPError, error_message:
return "Oops! Something wrong: %s" % error_message
print change_password('xxx', 'xxx', 'xxxx')
绑定已经成功,但是my_ldap.passwd_s(dn, oldpwd, newpwd)修改密码总是报
{'info': '0000203D: LdapErr: DSID-0C090D9A, comment: Unknown extended request OID, data 0, v1db1', 'desc': 'Protocol error'}错,为什么?
修改密码应该怎么修改?
import ldap
def change_password(uid, oldpwd, newpwd):
try:
print 1
#dn = 'cn=%s,dc=genscript,dc=com' % uid
#dn = 'uid=%s,ou=People,dc=genscript,dc=com' % uid
dn = "%s@genscript.com" % uid
print 2
#ldap.set_option(ldap.OPT_X_TLS_CACERTFILE, "/path/to/ldaps.cert.file")
print 3
ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
print 4
my_ldap = ldap.initialize('ldaps://xxx.xxx.x.xxx:636')
print 50
my_ldap.protocol_version = ldap.VERSION3
print 5
my_ldap.simple_bind_s(dn, oldpwd)
print 6
my_ldap.passwd_s(dn, oldpwd, newpwd)
print 7
return "Password changed!"
print 8
except ldap.LDAPError, error_message:
return "Oops! Something wrong: %s" % error_message
print change_password('xxx', 'xxx', 'xxxx')
绑定已经成功,但是my_ldap.passwd_s(dn, oldpwd, newpwd)修改密码总是报
{'info': '0000203D: LdapErr: DSID-0C090D9A, comment: Unknown extended request OID, data 0, v1db1', 'desc': 'Protocol error'}错,为什么?
修改密码应该怎么修改?