我知道 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 树有多个域,则无法保证域之间的唯一性。
| 归档时间: |
|
| 查看次数: |
26234 次 |
| 最近记录: |