首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在LDAP中,绑定DN究竟是什么?

在LDAP中,绑定DN究竟是什么?
EN

Server Fault用户
提问于 2014-07-30 18:41:56
回答 2查看 127.5K关注 0票数 35

我编写了各种连接到LDAP服务器并运行查询的代码,但对我来说,这一直是巫毒。有一件事我并不真正理解,那就是绑定DN的概念。下面是一个使用openldap提供的ldapsearch命令行工具的示例。(忽略缺乏身份验证。)

代码语言:javascript
运行
复制
ldapsearch -h 1.2.3.4 -D dc=example,dc=com [query]

-D dc=example,dc=com部分的目的和功能是什么?为什么我们需要绑定到目录层次结构中的特定位置?是否要确定我的查询应该应用于目录的哪一部分?例如,如果目录的根节点是dc=com,并且它有两个子节点(dc=foodc=bar),也许我希望我的查询针对的是dc=foo,dc=com子树,而不是dc=bar,dc=com子树?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2014-07-30 18:48:23

绑定DN是绑定到LDAP中的一个对象,它为您提供了执行任何您想要做的事情的权限。一些(很多?)LDAP实例不允许匿名绑定,或者不允许使用匿名绑定执行某些操作,因此必须指定一个bindDN来获得执行该操作的身份。

以一种类似的非技术方式--没错,这是一种延伸--一家银行将允许你走进银行,在不给他们任何身份的情况下查看他们的利率,但为了开户或提款,你必须拥有他们知道的身份--这个身份就是bindDN。

票数 31
EN

Server Fault用户

发布于 2014-07-30 20:50:59

不要混淆baseDN和bindDN。

  • 搜索的baseDN是起点。从哪里开始搜索。很清楚的解释。
  • bindDN DN基本上是您用来对LDAP进行身份验证的凭证。在使用bindDN时通常附带一个与其相关的密码。

换句话说,当您指定一个bindDN时,您将使用该对象安全访问来遍历LDAP树。

现在,字符串dc=example,dc=com不是bindDN的最佳示例,因为它是LDAP树的“域”。dc表示域组件,每个LDAP树都用字符串( dc=string、dc=string、.但是这些字符串并不像树的其他部分那样是一条“路径”。

有效的例子有:

  • dc=example,dc=com
  • dc=mydomain
  • dc=avery,dc=long,dc=list,dc=of,dc=domains

但是,这些根本要素是不可分割的。虽然它们看起来可能是几个元素,它们表示一条路径,就像树的其他部分一样,但它们不是。(因此,对于这些元素,逗号",“不是元素分隔符。)

因此,对于dc=avery,dc=long,dc=list,dc=of,dc=domains示例,这意味着这是整个元素名。它不是一条元素之路。它不能分解为子元素:没有对象dc=of,dc=domains

与文件系统路径进行类比:

想象一下将您的C:驱动器命名为D:\my\folder\。其中的每一条路径看起来都类似于D:\my\folder\my\real\path,因为真正的文件路径将是\my\ real \path,对吗?好吧,这就是LDAP的基础(根)的样子,它有一组dc=元素。

相关链接: Oracle文档:“ldapsearch工具”http://docs.oracle.com/cd/E19199-01/816-6400-10/lsearch.html

再读

没有标准要求LDAP DITs的任何特定结构,因此目录服务器可以在任何层次结构中保存条目。然而,也有一些共同的惯例。例如,... ,如果组织有一个example.com域,那么命名上下文可能类似于dc=example,dc=com。命名上下文包含多个组件是完全合法的,因此,仅仅因为服务器有一个DN为dc=example的条目,dc=com就不一定需要有一个DN为dc=com的条目。

票数 50
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/616698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档