【问题标题】:What are CN, OU, DC in an LDAP search?LDAP 搜索中的 CN、OU、DC 是什么?
【发布时间】:2013-09-16 09:25:17
【问题描述】:

我在 LDAP 中有这样的搜索查询。这个查询到底是什么意思?

("CN=Dev-India,OU=Distribution Groups,DC=gp,DC=gl,DC=google,DC=com");

【问题讨论】:

  • 它不起作用,您没有正确的 LDAP 查询。您拥有的是一个完全可分辨的名称,可能来自 Active Directory 条目。或许您应该解释一下您要完成的工作。

标签: active-directory ldap ldap-query


【解决方案1】:
  • CN = 通用名称
  • OU = 组织单位
  • DC = 域组件

这些都是 X.500 目录规范的所有部分,它定义了 LDAP 目录中的节点。

您还可以阅读LDAP data Interchange Format (LDIF),这是另一种格式。

你从右到左读取它,最右边的组件是树的根,最左边的组件是你想要到达的节点(或叶子)。

每个= 对都是一个搜索条件。

使用您的示例查询

("CN=Dev-India,OU=Distribution Groups,DC=gp,DC=gl,DC=google,DC=com");

实际上查询是:

com 域组件中,找到google 域组件,然后在其中找到gl 域组件,然后在其中找到gp 域组件。

gp 域组件中,找到名为Distribution Groups 的组织单元,然后找到通用名称为Dev-India 的对象。

【讨论】:

  • 这些都是 X.500 目录规范,可分辨名称组件的一部分。与 LDIF 完全没有关系。 LDIF 不是“如何过滤 LDAP 树”:那是 LDAP 语法规范,完全是另一回事。
  • TIL X.509 是 X.500 的扩展,例如 TLS 基于 LDAP :grumpycat: (这是一个巨大的过度简化)
  • @EJP 如何通过他们的 CN 请求多个对象?就像我想要 Dev-India2Dev-India 一样?
【解决方案2】:

什么是 CN、OU、DC?

来自RFC2253 (UTF-8 String Representation of Distinguished Names)

String  X.500 AttributeType
------------------------------
CN      commonName
L       localityName
ST      stateOrProvinceName
O       organizationName
OU      organizationalUnitName
C       countryName
STREET  streetAddress
DC      domainComponent
UID     userid

**该查询中的字符串是什么意思?**

字符串 ("CN=Dev-India,OU=Distribution Groups,DC=gp,DC=gl,DC=google,DC=com") 是来自层次结构 (DIT = Directory Information Tree) 的路径,应该从right(根)向左读取(叶子)。

它是一个 DN(专有名称)(一系列以逗号分隔的键/值对,用于在目录层次结构中唯一标识条目)。 DN 实际上是条目的完全限定名称。

在这里您可以看到我添加了更多可能条目的示例。
实际路径用绿色表示。

以下路径代表 DN(它们的值取决于您在查询运行后想要获得的内容):

  • "DC=gp,DC=gl,DC=google,DC=com"
  • "OU=Distribution Groups,DC=gp,DC=gl,DC=google,DC=com"
  • "OU=People,DC=gp,DC=gl,DC=google,DC=com"
  • "OU=Groups,DC=gp,DC=gl,DC=google,DC=com"
  • "CN=QA-Romania,OU=Distribution Groups,DC=gp,DC=gl,DC=google,DC=com"
  • "CN=Dev-India,OU=Distribution Groups,DC=gp,DC=gl,DC=google,DC=com"
  • "CN=Diana Anton,OU=People,DC=gp,DC=gl,DC=google,DC=com"

【讨论】:

  • 知道为什么您可能会得到一个空的剩余名称吗?对于this,实际上有一个公开的赏金
  • @ROMANIA_engineer,如果我登录到我的 Windows 机器(客户端),我在哪里可以获得这些信息?
  • 我知道这篇文章已经很老了,但是,对于那些在@ArtanisZeratul 问题上搜索答案以获取信息的谷歌人(比如我):this answer 帮助了我,如果你寻找服务器只需尝试使用 nslookup:nslookup -type=srv _ldap._tcp.MY.DOMAIN
  • 另外,对于那些需要更深入地了解他们所在的 AD 结构的信息(并且没有类似管理控制台的东西来查找它),您可以使用 Windows 提供的 ADSI 编辑器(通过 MMC 访问)-how to access ADSI Edit
【解决方案3】:

我想添加一些不同于单词定义的东西。它们中的大多数都是视觉的。

从技术上讲,LDAP 只是一个协议,它定义了访问目录数据的方法。必然地,它还定义和描述了数据在目录服务中的表示方式

数据在 LDAP 系统中表示为对象的层次结构,每个对象称为 条目。生成的树结构称为目录信息树 (DIT)。树的顶部通常称为(也称为基或后缀)。

要导航 DIT,我们可以定义一条路径 (a DN) 到我们的数据所在的位置 (cn=DEV-India,ou=Distrubition Groups,dc =gp,dc=gl,dc=google,dc=com 将带我们到一个唯一条目)或者我们可以定义一条路径(DN)到我们认为我们的数据所在的位置(例如,ou=Distrubition Groups,dc=gp ,dc=gl,dc=google,dc=com) 然后搜索属性=值或多个属性=值对以找到我们的目标条目(或条目)。

如果您想获得更多深度信息,请访问here

【讨论】:

    【解决方案4】:

    至少使用 Active Directory,我已经能够通过以这种格式执行 LDAP 查询来按 DistinguishedName 进行搜索(假设这样的记录与这个 distinctName 一起存在):

    "(distinguishedName=CN=Dev-India,OU=Distribution Groups,DC=gp,DC=gl,DC=google,DC=com)"
    

    【讨论】:

      猜你喜欢
      • 2019-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多