你目前正处于脱机状态,正在等待 Internet 重新连接

如何限制从远程计算机访问注册表

有关本文的 Microsoft Windows XP 版本,请参见 314837
重要说明:本文包含有关修改注册表的信息。修改注册表之前,一定要先进行备份,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和编辑注册表的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986 Microsoft Windows 注册表说明
概要
注册表编辑器支持对 Windows 注册表进行远程访问;但是,您也可以限制这种访问。
更多信息
在 Windows NT 3.51 系统上,默认情况下任何用户都可以通过网络连接访问注册表。在 Windows NT 4.0 系统和更高版本上,默认情况下,只有管理员组的成员可以通过网络访问注册表。

域用户可以使用 Regedit.exe 远程连接到域控制器的注册表。这样他们就可以看到 HKEY_CLASSES_ROOT 注册表项和 HKEY_USERS 注册表项中的值。但他们仅具有只读访问权限。这是设计造成的。

注意:某些服务需要访问注册表才能正常工作。例如,如果您将相应的注册表项添加到运行目录复制的 3.51 系统,则需要授予复制程序帐户访问注册表的权限,如下文所述。

限制对注册表的网络访问

警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。
注意:在 Windows 2000 和更高版本中,只有管理员和备份操作员具有对注册表的默认网络访问权限。对于某些特定情况,此部分可能不适用。要限制对注册表的网络访问,请执行下列步骤来创建下面的注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg

名称:Description
类型:REG_SZ
值:Registry Server
在此项中设置的安全权限规定了哪些用户或组可以连接到系统以对注册表进行远程访问。默认的 Windows 安装会定义此项,并按如下所示设置“访问控制列表”以限制对注册表的远程访问:
管理员拥有完全控制权限
Windows 的默认配置只允许管理员对注册表进行远程访问。为使用户可以对注册表进行远程访问而对此项进行的更改要在重新启动系统后才能生效。

要创建注册表项以限制对注册表的访问,请执行下列步骤:
  1. 启动注册表编辑器 (Regedt32.exe) 并转到下面的子项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
  2. 编辑菜单中,单击添加项
  3. 输入下列数值:
    项名称:SecurePipeServers
    类型:REG_SZ
  4. 转到下面的子项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers
  5. 编辑菜单中,单击添加项
  6. 输入下列数值:
    项名称:winreg
    类型:REG_SZ
  7. 转到下面的子项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg
  8. 编辑菜单上,单击添加数值
  9. 输入下列数值:
    数值名称:Description
    数据类型:REG_SZ
    字符串:Registry Server
  10. 转到下面的子项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg
  11. 选择“winreg”。单击安全,然后单击权限。添加要向其授予访问权限的用户或组。
  12. 退出注册表编辑器并重新启动 Windows。
  13. 如果您以后想要更改可以访问注册表的用户的列表,请重复步骤 10-12。

不使用访问限制

某些服务需要远程访问注册表才能正常工作。例如,目录复制程序服务和后台打印程序服务在通过网络连接到打印机时需要访问远程注册表。

您可以将运行该服务的帐户名称添加到“winreg”项的访问列表中,也可以配置 Windows 以便不对某些特定项使用访问限制,方法为:在 AllowedPaths 项下的 Machine 或 Users 值中列出这些项。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg\AllowedPaths
值:Machine数值类型:REG_MULTI_SZ – 多字符串默认数据:System\CurrentControlSet\Control\ProductOptionsSystem\CurrentControlSet\Control\Print\PrintersSystem\CurrentControlSet\Services\EventlogSoftware\Microsoft\Windows NT\CurrentVersionSystem\CurrentControlSet\Services\Replicator有效范围:注册表中某个位置的有效路径。描述:如果对于注册表中列出的位置不存在明确的访问限制,则允许计算机访问该位置。值:Users数值类型:REG_MULTI_SZ – 多字符串默认数据:(无)有效范围:注册表中某个位置的有效路径。描述:如果对于注册表中列出的位置不存在明确的访问限制,则允许用户访问该位置。
在 Windows 2000 和更高版本中略有不同:
值:Machine数值类型:REG_MULTI_SZ – 多字符串默认数据:System\CurrentControlSet\Control\ProductOptionsSystem\CurrentControlSet\Control\Print\Printerssystem\CurrentControlSet\control\Server ApplicationsSystem\CurrentControlSet\Services\EventlogSoftware\Microsoft\Windows NT\CurrentVersion                 值:Users – 默认情况下不存在。 
有关如何以编程方式访问 Windows 注册表并对注册表项应用安全设置的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
146906如何确保 Windows 2000、Windows NT 和 Windows XP 中的性能数据的安全


注意:在执行本文中的步骤后,如果已经创建 RestrictNullSessAccess 注册表值并将其设置为 0,则能够对注册表进行远程访问。该值允许使用空会话远程访问注册表。该值将覆盖其他显式限制设置。
prodnt
属性

文章 ID:153183 - 上次审阅时间:03/24/2006 10:42:00 - 修订版本: 8.0

  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 开发员版
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • kbnetwork KB153183
反馈