一個簡單的用Python修改LDAP密碼的程序,測試通過
1. 首先要安裝Python的LDAP包,在Ubuntu下面是:
apt-get install python-ldap
2. 例子代碼:
import ldap
# 修改LDAP密碼
# uid: LDAP uid
# oldpwd: 舊密碼
# newpwd: 新密碼
def change_password(uid, oldpwd, newpwd):
try:
# 要修改密碼的dn
dn = 'uid=%s,ou=People,dc=companyname,dc=com' % uid
# 如果是ldaps, 需要指定CA cert file
ldap.set_option(ldap.OPT_X_TLS_CACERTFILE, "/path/to/ldaps.cert.file")
# 如果是self-signed cert, 加上這行
ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
# 初始化LDAP連接
my_ldap = ldap.initialize('ldaps://ldap_server_host')
# 使用舊密碼bind
my_ldap.simple_bind_s(dn, oldpwd)
# 修改密碼
my_ldap.passwd_s(dn, oldpwd, newpwd)
return "Password changed!"
except ldap.LDAPError, error_message:
return "Oops! Something wrong: %s" % error_message
