python - 如何使用 Python 将用户添加到 LDAP 组?

标签 python ldap python-ldap

我正在使用 Python-LDAP与 Active Directory 交互,并努力寻找我需要编写哪些代码才能将用户添加到安全组中。

我已经编写了搜索用户和组的 DN 的代码,我只是不确定我需要使用什么函数来添加用户。我遇到了这个:

LDAPObject.add_s(dn, modlist)

所以我已经有了 DN,但是当我搜索 modlist 时,我得到了这个:

ldap.modlist.addModlist(entry[, ignore_attr_types=[]])

我不确定我是否需要 modifyModlist 或 addModlist,也不确定我需要发送给它的值。

我以为我可以将用户和组 DN 发送到一个函数,它会将用户添加到组中……我猜这不是那么简单?

最佳答案

模块 ldap.modlist仅包含用于生成修改列表的便利函数。您必须调用方法 LDAPObject.modify_s()实际修改组条目。

假设您在变量 user_dn 中有用户条目的 DN,group_dn 是组条目的 DN,ldap_conn 是您的 LDAPObject实例。

那么你只需使用:

ldap_conn.modify_s(
    group_dn,
    [
        (ldap.MOD_ADD, 'member', [user_dn]),
    ],
)

当然,您也可以在一次修改操作中删除用户并添加其他用户:

ldap_conn.modify_s(
    group_dn,
    [
        (ldap.MOD_ADD, 'member', [user1_dn, user2_dn]),
        (ldap.MOD_DELETE, 'member', [user3_dn, user4_dn]),
    ],
)

关于python - 如何使用 Python 将用户添加到 LDAP 组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51328279/

相关文章:

python - 编写 MATLAB 代码的好习惯?

python - 查询集在获取切片后无法重新排序查询

python - 在 python 中读取文本文件(Powershell 脚本的输出)会产生意外结果?

ldap - LDAP:错误代码49-无法绑定(bind)PrincipalDn

python - 使用 python 递归删除 LDAP 子树

Python:如何最好地解析 csv 并仅计算一个子集的值

ruby-on-rails - 无需服务器端访问的 Gitlab LDAP(Active Directory)身份验证

ssl - 未绑定(bind)ID : how to configure multiple TLS protocols for LDAP over SSL connection?

python-2.7 - 以官方 python docker 镜像为基础运行 python-ldap

python - 由于许多安装错误,无法在 RHEL 6.5 上使用 pip2.7 安装 python-ldap