Sheldon Xu

Python: 修改LDAP密码

一个简单的用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

  

posted on 2012-05-08 14:33  Sheldon Xu  阅读(5165)  评论(0编辑  收藏  举报

导航