AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 677864
Accepted
Thomas
Thomas
Asked: 2015-03-25 05:27:20 +0800 CST2015-03-25 05:27:20 +0800 CST 2015-03-25 05:27:20 +0800 CST

带有嵌套组的 ldap 查询

  • 772

我尝试构建一个到 MS Active Directory 的 ldap 查询。我发现有一个 LDAP_MATCHING_RULE_IN_CHAIN 类型可以这样做。这导致以下语法:

(&(sAMAccountName=Benna)(memberof:1.2.840.113556.1.4.1941:=CN=Group1,OU=Root,DC=domain,DC=local))

问题是:

查询*在线枚举第一个嵌套组。

在我的示例中,Group1 具有以下成员组:

  • 域管理员
  • 域成员
  • 域计算机

Benna 在组域成员中,但查询没有给我结果*。

当我将过滤器更改为

(&(objectClass=user)(memberof:1.2.840.113556.1.4.1941:=CN=Group1,OU=Root,DC=domain,DC=local))

我可以看到,该查询仅枚举组“域管理员”* 的成员。

这就是它与我上面的查询不匹配的原因。

为什么会发生这种情况?

*用 adsiedit.msc 测试

编辑:

好的 - 看起来这就是原因

https://support.microsoft.com/en-us/kb/275523

但是是否也可以为 primaryGroupID 属性构建对嵌套组的查询?或者有没有办法有一个单一的 ldap 查询,你可以用它来查找用户是否是组的成员(也可以有嵌套组)?

谢谢,托马斯

active-directory
  • 3 3 个回答
  • 8218 Views

3 个回答

  • Voted
  1. Best Answer
    Thomas
    2015-03-25T05:47:34+08:002015-03-25T05:47:34+08:00

    好的 - 它接缝,限制是域林级别低于 2003 年。

    https://support.microsoft.com/en-us/kb/275523

    将森林模式更改为 2003 后,它应该可以工作。我改变了,但目前它不起作用......将等待几分钟并希望它是解决方案。

    • 0
  2. megamorf
    2015-03-25T09:16:57+08:002015-03-25T09:16:57+08:00

    使用旧的命令行工具非常烦人,但使用 Remore 服务器管理工​​具获得的 ActiveDirectory Powershell 模块有一种返回所有嵌套组成员的简单方法:

    Get-ADGroupMember "组名" -recursive

    这是解释该命令的 kb 文章:https ://technet.microsoft.com/de-de/library/ee617193.aspx

    如果您的 AD 至少在 Server 2008 R2 上,则此方法有效。

    • 0
  3. Will
    2015-03-28T08:44:56+08:002015-03-28T08:44:56+08:00

    使用纯 LDAP 查询来确定嵌套组成员身份可能会很棘手。请注意,memberOf 是一个构造属性。进一步注意,primaryGroupID 只是一个 ID。虽然 MMC 将在帐户的成员选项卡中显示主要组,但对象的可分辨名称实际上并未放置在该组的成员属性中。

    正如 megamorf 所指出的,您需要递归地查询每个组的组成员信息。我公司的产品 Carbon 是一种基于 Web 的 LDAP 管理工具,除其他外,它可以将嵌套组成员身份显示为图形。由于它是基于网络的,只要您有支持的浏览器,您就可以在 Linux(或 Mac 或 Windows)机器上使用它。在steelhive.com上查看。有一个免费的演示,您可以下载。它是针对 VMware ESXi 5+ 的 OVA / 虚拟设备。

    • 0

相关问题

  • 如果以域用户身份远程登录,PC 速度极慢

  • 如何在 Windows 2003 的 ou 级别应用策略

  • 允许用户更改其 Active Directory 密码的 Web 界面

  • MOSS 2007 无法使用 ActiveDirectoryMembershipProvider 配置表单身份验证

  • 通过 VPN 更改 Active Directory 密码

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve