linux - 在 LDAP 中获取用户所属的所有组

标签 linux ldap apacheds apache-directory

我使用 ApacheDS 作为目录服务器,用于 Gogs(GitLab 等 Git 服务器)等应用程序。我的想法是创建像 gogs-users 这样的组,并将登录限制在这些组中,这样只有属于该组成员的用户才能登录。我为此创建了一个 groupOfNames 和一个添加到 gogs 组的测试用户。

gogs-users 的类型是 groupOfNames 并且它有一个属性 member 包含我的用户的 DN (uid=testuser, ou=用户,DC=示例,DC=com)。所以我能够看到谁是该组的成员。

但我想查看用户 所属的所有组。当我打开 testuser 时,我看不到任何可以告诉我他是 gogs-users 成员的属性。我记得专有的 Active Directory 有一个名为 memberOf 的属性,可以在 (&(objectClass=inetOrgPerson)(memberOf=CN=gogs-user,DC=example,DC =com))。那正是我所需要的。

如何在免费的 LDAP 实现中获得它?除了定义自定义属性外,我看不出有什么办法——我必须每次都维护它。这不好,我想有一个自动化的解决方案,可以保持这些属性。

我已经尝试过的事情

注意:我在每次方案导入后都进行了完全重置,以确保我的测试不受之前更改的影响。

最佳答案

以下是两种方式均可执行但仅适用于 Microsoft Active Directory 的查询:

解决 all members (包括嵌套的)安全组(至少需要 Windows 2003 SP2):

(memberOf:1.2.840.113556.1.4.1941:=CN=gogs-user,DC=example,DC=com)

和 所有团体 User is a member of包括嵌套组

(member:1.2.840.113556.1.4.1941:=CN=UserName,CN=Users,DC=YOURDOMAIN,DC=NET))

关于linux - 在 LDAP 中获取用户所属的所有组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43722148/

相关文章:

python - 子进程挂起等待

c - ARP 的编程使用

python - 使用 ldap 在 python 中处理错误

active-directory - 带通配符的 ldap 查询

linux - Apache Directory Studio Replication 仅连接到树的第一层

grails - 使用Groovy从OpenLDAP服务器读取和保存二进制图像

linux - Apache 目录工作室的 Openldap 命名上下文问题?

linux - 无法从 bash 运行 Expect 脚本

linux - 计算 TCP 重传

Python从内网获取客户端windows用户