我遇到了以下问题。在我的公司,我在 WS2008 R2 中安装了 DNS 服务器 + AD。我遇到的问题是,当我向组中添加或删除用户时,通过共享组的文件夹,客户不会进行更改,直到您关闭会话并重新启动。例如,您不会关闭会话,直到用户可以访问共享文件夹但不能访问组内文件夹。我还发现一些奇怪的事情,如果我访问 IP,更改会反映出来,但如果我同意 DNS,更改不会反映出来,DNS 会正确解析。有人能帮帮我吗?非常感谢!
答案1
当用户登录时,他们会获得一张 Kerberos 票证。该票证包含用户所属的所有组的列表当时。如果您在他们登录后将他们添加到组,他们需要注销/登录以获取包含新组列表的新票。
当您通过 DNS 名称访问共享时,该连接将使用 Kerberos 进行身份验证。当您通过 IP 访问共享时,将使用 NTLM 来验证连接(而不是 Kerberos)。NTLM 不使用票证,并且以更动态的方式评估成员资格。但是,Kerberos 是一种行业标准身份验证方法,使用范围更广,并且具有 NTLM 不具备的其他优势。
答案2
这是预期行为。Windows 仅在生成 Kerberos 票证授予票证时查找您的组成员身份。有一个很好的解释这里,但引用一下:
当 Alice 成功向其 DC(这是定义 Alice 的用户帐户的域的 DC)进行身份验证后,DC 的 KDC 将构造 Kerberos 票证授予票证 (TGT)。为了使 KDC 能够使用 Alice 的授权数据填充 TGT 的 PAC 字段,DC 完成以下步骤:
- 在步骤 1 中,DC 查询本地 AD 域分区以找出 Alice 的全局组成员身份。这些不仅包括直接分配给 Alice 用户帐户的全局组成员身份,还包括分配给 Alice 所属的全局组之一的全局组成员身份。
- 在步骤 2 中,DC 查询本地 AD 域分区以找出 Alice 的通用组成员身份。同样,这些不仅包括直接分配给 Alice 用户帐户的通用组成员身份,还包括分配给 Alice 所属的通用组或全局组之一的通用组成员身份。
- 在步骤 3 中,DC 查询本地 AD 域分区以找出 Alice 的域本地组成员身份。同样,这些不仅包括直接分配给 Alice 用户帐户的域本地组成员身份,还包括分配给 Alice 所属的域本地组、通用组或全局组之一的域本地组成员身份。
然后,KDC 将这三个步骤中收集的授权数据存储在 Alice 的 TGT 中,并将 TGT 转发给 Alice 的工作站。Alice 的工作站会自动将 TGT 缓存在 Alice 的本地 Kerberos 票证缓存中。
为了让 Alice 访问位于成员服务器上的资源并让 Alice 透明地向该成员服务器进行身份验证,Alice 工作站上的 Kerberos 逻辑将使用 Alice 缓存的 TGT 向 KDC 请求该资源的服务票证。
如果服务票证请求有效,KDC 将生成服务票证。为了填充新服务票证的 PAC,KDC 会复制它在 Alice 的 TGT 的 PAC 中找到的授权数据。然后 KDC 将服务票证发送给 Alice。同样,Alice 的工作站将自动将服务票证缓存在 Alice 的本地 Kerberos 票证缓存中。
(Kerberos 将您的组成员身份存储在特权访问证书 (PAC) 字段中。)
我希望这能有所帮助。