域管理员组未通过 LDAP 显示

Posted

技术标签:

【中文标题】域管理员组未通过 LDAP 显示【英文标题】:Domain Administrators' groups not showing via LDAP 【发布时间】:2011-05-17 14:33:33 【问题描述】:

我有一个 Debian Squeeze 系统,它使用 libnss-ldap 绑定到 2008 Active Directory 域控制器以查找用户和组。一切正常,除非出于某种原因,域管理员、企业管理员或架构管理员组中的任何人都没有获得正确的组成员身份。他们只获得 *Admin 组,而没有其他组(除非有应用的本地组,它们确实显示)。

更奇怪的是,“getent 组”显示用户的所有正确组成员身份,但“id”或“groups”(以用户身份运行时)不显示。我们使用域组进行 sudo 访问,但该用户无法使用 sudo,因为它无法查看组成员身份。删除 *Admin 成员资格后,查找就会正常工作。

我怀疑这可能是 AD 安全功能,但我们有使用 nss-ldap 的 FreeBSD 系统,这些用户的组成员身份在这些系统上正确解析。日志中没有任何内容表明为什么这些查找不返回正常结果,而且我无法通过 Google 找到任何信息来帮助阐明这种情况。是否有其他人在 Debian 中使用 libnss-ldap 连接到可以尝试确认此行为的 AD?

编辑:我已使用 ldapsearch 确认 AD 正在返回正确的结果。我还停止了 nscd 以确保它没有干扰。域管理员中的任何用户只能看到他的主要组、本地组和域管理员。


顺便说一句,我认为这是问题所在:

http://support.microsoft.com/kb/976063

【问题讨论】:

support.microsoft.com/kb/976063 与您的问题无关 这是关于 UAC 功能的。由于您是从 Debian 运行的,因此 UAC 完全不适用。我之前没有使用 libnss-ldap,但是有一些商业产品,我相信它们做得更好。尝试从 www.centrify.com 下载免费版本的 DirecControl,看看它是否有效。 【参考方案1】:

我也遇到过这个问题。

我最终在大约 18 个月前找到了它。这是 Microsoft 的一项安全功能。有一项服务每小时运行一次,并从 LDAP 搜索中删除管理员。如果您以匿名方式进行查询,您将在 1 小时内收到正确答案。一小时后,您将一无所获。如果您以域用户身份登录,您将收到正确的信息。这就是为什么你会得到不同的结果。

我现在不记得服务名称,但我现在正在搜索它。大约 18 个月前,我最初在 Microsoft 技术网上找到了它,但现在我不记得了。

关键是唯一的答案是

    禁用该服务,它会执行许多其他安全项目,因此这不是一个好主意。

    将 LDAP 搜索更改为在域用户的登录下运行(我们已经在某些用户上这样做了)

    为我们的每个管理员创建一个具有相同信息的虚假重复联系人。这可能是最简单、最快的方法,但随着时间的推移最容易产生错误信息。

此安全功能的合理性是将所有域管理员隐藏在随机匿名搜索中,这样他们的凭据就不会受到百科全书密码攻击的影响。

卡尔文·托马斯

【讨论】:

【参考方案2】:

我的答案已被删除,但问题实际上是 http://support.microsoft.com/kb/976063 中描述的 UAC。问题是域管理员,当在 DC 上启用 UAC 时,实际上存在两种状态。一个是域管理员组的成员(即 UAC“影子”用户),另一个是普通用户。似乎 DC 仅在使用 LDAP 查询时返回前者。通过创建一个新组,使该组成为域管理员而不是帐户本身的成员,并将帐户放入新组,问题得到解决。

【讨论】:

以上是关于域管理员组未通过 LDAP 显示的主要内容,如果未能解决你的问题,请参考以下文章

Zabbix对接AD域

AD域控制器 修改查询记录最大值1000的限制

JAVA使用Ldap操作AD域

windowns2012安装域控和开源mrbs会议室管理系统ldap

Zabbix对接LDAP实现用户统一登录

Zabbix对接LDAP实现用户统一登录