我可以对LDAP搜索库后缀的语法进行解释吗?


11

我知道LDAP搜索库的后缀通常与目录服务器的主机名匹配。换句话说,我知道主机名是否为od.foobar.com,我应该使用搜索库后缀:dc=od,dc=foorbar,dc=com

我不明白为什么要这么做,这使我感到困扰。有人可以提供一些背景并准确解释我在做什么吗?


3
我强烈不同意“一般”一词。大多数LDAP站点使用委派域名(此处为foobar.com)而不是服务器的主机名。
2009年

Answers:


7

在Microsoft“拥抱,扩展和更改” LDAP之前,大多数实现都使用对象来表示树的根。即,您必须从某个地方开始。

由于原因我还不太清楚,在Active Directory中,树/林中的每个域都以dc = domain,dc = com的名称作为根,这实际上不是两个单独的对象,而是它是目录的虚拟根名称空间。

我认为其中某些原因是事实,无论Active Directory怎么说,它仍然是一系列链接的域,每个域都需要被视为独立的实体。

现在,AD树中存在自动传递信任,因此对最终用户的影响较小,但是即使名称空间看起来是连续的,也并非如此。

使用AD的一些命名规则,这一点变得更加明显。例如,sAMAccountName在域中必须是唯一的,无论它们是否在同一容器中。即,完整的专有名称必须是唯一的(在同一容器中不能有两个John Smith用户),但是内部用于许多事物的简称(sAMAccountName)在整个域中必须是唯一的。

其他目录服务也有类似的要求,例如uniqueID应该在整个目录中确实是唯一的,但这更多是因为应用程序通常会做出这样的假设,因为应用程序编写者过于懒惰以致无法处理复杂的问题(我不怪它们,这是一个很难的问题)如何处理两个尝试使用服务的jsmith短名称的用户,但是存在于两个不同的容器中。(即,也许cn = jsmith,ou = London,dc = acme,dc = com和cn = jsmith,ou = Texas,dc = acme,dc = com)。

使用此目录的应用程序应如何决定使用哪个用户?通常的答案是让用户决定。但这意味着抓住这种情况,向用户提供一个UI,供用户选择。

大多数应用程序编写者只是忽略了这种可能性,而只是使用uniqueID或sAMAccountName,因为这是唯一的(某种程度上)并且更容易实现。

uniqueID和sAMAccountName之间的区别在于,uniqueID在整个目录名称空间中应该是唯一的。而sAMAccountName仅在域内保证唯一。如果AD树具有多个域,则域之间没有唯一性保证。


我不确定这是否能回答问题。这个问题的措词不是很好,还是我的头旋转得太多了。
ThatGraemeGuy

1
我认为WHY有点武断。您必须从某个地方开始,并且基于LDAP的X.500说,您必须具有树的根。(否则倒塌了吗?)为什么从某个地方开始这个问题?为什么要专门从这里开始?
geoffc

8

其他人已经解释了为什么使用域名是一个好主意(但不是强制性的)。我只是补充说一个问题是错误的:根本建议基于计算机名称使用基本后缀(出于明显的原因:如果gandalf.example.comsarouman.example.com?代替,该怎么办)。通常,您仅使用委派域名,如果有example.com,则使用dc=example,dc=com


+1不错的观察。完全错过了一个:D
指挥官基恩(Keen)

7

目录的根目录必须设置为某物。可以将其设置为任何您喜欢的。将其设置为域名只是一种有用的约定,可确保您的目录名称空间是唯一的。


3

简短版本:匹配您的域名,以确保基本路径是唯一的。

做到这一点,如果您的公司与另一家公司合并,并且您需要合并系统,您将不会像一名newb管理员。

好的,那是一个非常简短的版本=)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.