我在 Linux 上使用 nss 和 openldap 从活动目录中获取密码条目列表。我通过以下方式获取嵌套组中的所有用户
nss_base_passwd OU=peopleOU,DC=x?sub?memberof:1.2.840.113556.1.4.1941:=cn=Group1,OU=groupsOU,DC=x
我使用 1.2.840.113556.1.4.1941 的想法来自http://msdn.microsoft.com/en-us/library/windows/desktop/aa746475%28v=vs.85%29.aspx
但是,性能真的很差。我猜想 LDAP 服务器正在链接每个用户的每个组以查明他们是否在该组中。有没有更快的方法可以做到这一点?我想找到组的成员比检查每个用户是否在该组中要快,但我该如何为此创建过滤器呢?
此外,目录中嵌套的组名可以是全局的,即memberof=cn=Group1*,OU=groupsOU,DC=x
也应该给我我想要的内容,但会返回 0 个用户。