使用漫游配置文件时需要域策略

使用漫游配置文件时需要域策略

我们通常不使用漫游配置文件,但我们需要测试一些代码以确保可以使用它。这促使我们设置漫游配置文件,然后尝试使用相关程序。

除了一台机器外,我们尝试过的其他所有机器都运行正常。但那台机器上,产品失败了。我们将失败归因于两个现象:它无法创建任何 COM 对象,也无法读取 Scripting.Dictionary。

进一步的诊断揭示了直接原因:HKLM 上的限制性 ACL 保护 HKEY_CLASSES_ROOT 免受域用户的攻击。它甚至没有授予读取权限。

遇到这种情况的人做了:

secedit /configure /cfg %windir%\repair\secsetup.inf /db secsetup.sdb /verbose 
net localgroup users accountname /add

一切都变好了。

我怀疑其中涉及一些域策略,需要设置这些策略才能使漫游配置文件有用,从而导致默认情况下此 ACL 的设置更加宽松。当然,这是因为我假设在将机器添加到域时默认以这种方式设置此 ACL 是正常的。

另一方面,这里的管理员发誓说我们没有政策可以解释这种情况。我担心我们被宇宙射线击中了。

答案1

答案2

您的原始帖子和您向 Ben ZB 提出的问题对我来说毫无意义。您的编辑让事情变得更清晰一些,但我对您所看到的内容仍然有点模糊(更多内容见下文)。

听起来你不知道漫游用户配置文件实际上起什么作用。

基于 NT 的操作系统上的每个用户都有自己的个人“HKEY_CURRENT_USER”注册表配置单元,存储在其用户配置文件中的“NTUSER.DAT”文件中(默认情况下存储在“C:\Users\username”或“C:\Documents and Settings\username”,具体取决于 Windows 版本)。此注册表配置单元在登录时附加到 HKEY_USERS,并在注销时分离。无论用户配置文件的本地/漫游状态如何,此行为都是相同的。

“HKEY_CURRENT_USER”的这种“每个用户”行为允许程序将用户特定的配置信息存储在注册表中对于每个用户相同的位置(即注册表路径不引用用户的帐户名),但同时允许不同的用户拥有不同的配置信息,因为每个用户都有他们“自己”的“HKEY_CURRENT_USER”版本。

漫游用户配置文件的“漫游”部分来自在注销后将用户的配置文件数据(包括“NTUSER.DAT”文件)上传到服务器,并在登录前下载并缓存在本地的功能。此上传/下载行为不会改变 Windows 中每个用户注册表功能的基本行为。它只是一种附加功能,允许用户的个性化设置在计算机之间“跟随”他们。

注册表的“HKEY_LOCAL_MACHINE”子树始终特定于计算机,与登录的用户无关。ACL 保护存储在此区域中的设置,防止未经授权的用户修改,因为这是计算机特定配置信息的位置。这些 ACL 的存在是有原因的!

Ben ZB 在他的回答中提到的功能是我们用来更改(可能大量)计算机上注册表权限的一种常用方法,当编写不良的软件要求非特权用户在“HKEY_LOCAL_MACHINE”等中拥有较少限制的权限时。此外,他谈到的功能对漫游用户配置文件没有任何影响,因为漫游用户配置文件与“HKEY_USERS”和“HKEY_CURRENT_USER”注册表配置单元有关——这两个配置单元都无法通过他描述的功能进行修改。


编辑:

我当然不是有意冒犯。处理过重要的多年来,软件数量众多,开发过程中从未考虑过注册表的正确使用。我可能有点过于防御了。我已经修改了我的答案,让它不那么说教,希望更简洁。

将计算机加入域后,不会对“HKEY_CLASSES_ROOT”根目录下的 ACL(或“HKEY_LOCAL_MACHINE”)进行任何修改。您的帖子没有描述您看到添加到“HKEY_CLASSES_ROOT”根目录下的 ACL 中的特定 ACE,因此很难说明您的具体情况。

注册表中出现的任何指向您域的 ACL 几乎肯定都与第三方修改有关。Microsoft 非常擅长在注册表中的 ACE 中使用知名 SID 和本地组。

听起来好像您的域中有一个组策略对象正在对注册表进行更改(使用 BZ 描述的功能或通过脚本)。使用“策略结果集”(RSoP) 管理控制台管理单元可能有助于查看是否有任何启动脚本、注册表安全策略等正在应用(尽管您可能运行了“陷阱门”启动脚本,这些脚本仅在加入域后的第一次启动时执行,而在该启动后,RSoP 中将不再可见)。

您还可以通过以下方式验证更改是否正在发生:将计算机从域中分离出来,应用默认安全模板(如您在给 BZ 的评论中指出的那样),然后重新加入域,在加入域后重新启动之前检查 ACL,并在再次重新启动后检查 ACL。这将缩小更改发生的时间范围。

使用漫游用户配置文件不会对计算机的配置进行任何更改。与用户配置文件是否应被视为漫游相关的标志是在登录时从 Active Directory 获得的,并缓存在每个用户的“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList”子项中。

相关内容