我知道 LDAP 搜索库后缀通常与目录服务器的主机名匹配。换句话说,我知道如果主机名是od.foobar.com
,我应该使用搜索库后缀:dc=od,dc=foorbar,dc=com
我不明白我为什么要这样做,这让我很困扰。有人可以提供一些背景并准确解释我在做什么吗?
我知道 LDAP 搜索库后缀通常与目录服务器的主机名匹配。换句话说,我知道如果主机名是od.foobar.com
,我应该使用搜索库后缀:dc=od,dc=foorbar,dc=com
我不明白我为什么要这样做,这让我很困扰。有人可以提供一些背景并准确解释我在做什么吗?
其他人解释了为什么使用域名是一个好主意(但不是强制性的)。我只是补充一下,这个问题是错误的:根本不建议使用基于机器名称的基本后缀(原因很明显:如果替换
gandalf.example.com
为sarouman.example.com
?)。您通常只使用委派的域名,因此,如果您有example.com
,则使用dc=example,dc=com
.在微软“拥抱、扩展和改变”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 树有多个域,则域之间没有唯一性保证。
必须将目录的根设置为某个值。它可以设置为任何你喜欢的。将其设置为域名只是一个有用的约定,可确保您的目录名称空间是唯一的。
简短版本:匹配您的域名以保证基本路径是唯一的。
这样做,如果您的公司与另一家公司合并,您将不会看起来像新手管理员,并且您需要合并系统:)
好的,那是一个非常简短的版本 =)