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

Lew*_*ntz 2 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 发送到一个函数,它会将用户添加到组中……猜猜这不是那么简单吗?

Mic*_*der 5

模块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]),
    ],
)
Run Code Online (Sandbox Code Playgroud)

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

ldap_conn.modify_s(
    group_dn,
    [
        (ldap.MOD_ADD, 'member', [user1_dn, user2_dn]),
        (ldap.MOD_DELETE, 'member', [user3_dn, user4_dn]),
    ],
)
Run Code Online (Sandbox Code Playgroud)