我昨天修复了一个问题,2008 R2 计算机不想与 DC 通信。我在事件日志中发现了与 kerberos 缓冲区相关的警告,因此我增加了注册表中的大小并重新启动了服务器,问题解决了。问题是,我无法从 2008 R2 计算机(不是 DC)打开 ADUC,并收到拒绝访问消息。
但是,现在我正在考虑未来。我知道缓冲区大小在 2012 年增加到了 48k,但是这对于用户可以加入的最大组数来说意味着什么呢?
我希望提前做好计划,避免这个问题再次发生,所以这就是我问的原因。
在我的 AD 中,我有一个很多组,并且还有许多组嵌套。我读过一些关于使用 LDAP 的文章,这样您就不会因为大量查询而杀死您的 AD。有人可以详细说明一下吗?
答案1
Active Directory:一个用户不能属于超过 1015 个组。
http://markparris.co.uk/category/microsoft/active-directory/troubleshooting/
在任何 Microsoft Active Directory 林中,用户只能成为 1024 个组的成员,但在允许最多 9 个知名 SIDS 后,这个数字实际上是 1015。请参阅 KBhttp://support.microsoft.com/kb/328889
答案2
实际上,MaxTokenSize 的最大值是 65,535,并且多年来一直如此。它是默认在 Windows Server 2012 中,该值增加到了 48k。
在您的默认域策略中创建注册表策略首选项并将其设置为 65535。
Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters
Value: MaxTokenSize
Value Type: REG_DWORD
Value Data: 65535 (decimal) 0xFFFF (hex)
估计令牌大小:
- 1400 字节开销:(根据 DNS 域名、客户端名称、安全包而变化)
- 每个众所周知的内置安全标识符(每个人、用户、网络等)有 8 个字节
- 每个全局安全组、其域中的通用安全组各 8 个字节
每个域本地组、sidHistory 条目、userSID、用户的主要组、域外的通用安全组各占 40 个字节
如果帐户配置为“信任委派”,则将其乘以 * 2(两倍)令牌大小。
从 Windows Server 2012 开始,域控制器可以执行 SID 压缩,这将进一步减小令牌的大小。这也使得计算变得更加困难。