用户帐户控制 (UAC) 是 WindowsServer2008 和 WindowsVista 操作系统的一个新的安全组件。
用户帐户控制有什么作用?
UAC 允许管理员在非管理员用户会话过程中输入凭据以执行临时管理任务,而不必切换用户、注销或使用 Run as 命令。
UAC 还会要求管理员以特殊方式批准应用程序,从而在运行这些应用程序之前先执行“系统范围”更改,即使在管理员用户会话中也是如此。
谁会对该功能感兴趣?
了解 UAC 的操作对于下列人员非常重要:
- 管理员
- IT 安全专业人士
- 为 Windows Server2008 或 WindowsVista 创建应用程序的开发人员
是否有其他特殊注意事项?
最初用户可能遇到大量 UAC 提示,这是因为第一次配置操作系统时,要进行许多系统范围更改。但是,这些类型的更改频率会随着时间而降低。
当 UAC 出现在 Windows Server2008 和 WindowsVista 中时,默认配置在以下方面有所不同:
- 默认情况下,对于 Windows Server2008 或 WindowsVista 中的内置 Administrator 帐户不启用管理员批准模式 (AAM)。
- 默认情况下,在 WindowsVista 中禁用内置 Administrator 帐户,并且创建的第一个用户帐户放置在本地 Administrators 组中,并为该帐户启用 AAM。
- 默认情况下,Windows Server2008 中启用了内置 Administrator 帐户。对此帐户禁用 AAM。
此功能提供了哪些新用途?
UAC 包含多个功能和安全性改进。
管理员批准模式
管理员批准模式 (AAM) 是一种 UAC 配置,使用这种配置为管理员创建拆分用户存取令牌。当管理员登录到基于 Windows Server2008 的计算机时,将为管理员分配两个单独的存取令牌。在没有 AAM 的情况下,一个管理员帐户仅接收一个存取令牌,授予该管理员访问所有 Windows 资源的权限。
为什么此功能非常重要?
AAM 帮助防止恶意程序在管理员不察觉的情况下无提示地进行安装。它还帮助防止意外的系统范围更改。最后,它可用于强制执行更高级别的相容性,在此情况下,对于每个管理进程,管理员必须主动同意或提供凭据。
工作方式有何不同?
在 Windows Server2008 中的标准用户(非管理员)和管理员之间的区别在于:用户所具有的对计算机的受保护核心区域的访问权限级别不同。管理员可以更改系统状态、关闭防火墙、配置安全策略、安装影响计算机上每个用户的服务或驱动程序,以及为整个计算机安装软件程序。标准用户不能执行这些任务。
启用 AAM 后,管理员会接收到一个完全存取令牌和一个被称为“筛选的存取令牌”的第二个存取令牌。在登录过程中,将删除或禁用标识为管理员的授权和访问控制组件,以创建筛选的存取令牌。然后使用筛选的存取令牌启动 Explorer.exe,该进程创建并拥有用户的桌面。由于应用程序一般从启动它们的进程(在此情况下是 Explorer.exe)继承其存取令牌,因此它们也通过该筛选的存取令牌运行。
备注 |
---|
当标准用户登录时,仅创建一个用户存取令牌。标准用户的完全存取令牌所授予的访问权限与管理员的筛选的存取令牌所授予的访问权限相同。 |
管理员登录后,除非尝试执行管理任务,否则将不使用该管理员的完全存取令牌。
重要事项 |
---|
由于可以使用本地组策略编辑器 (secpol.msc) 和组策略管理控制台 (GPMC) (gpedit.msc) 配置用户体验,因此不存在单一的 UAC 用户体验。 |
根据服务器的使用性质,除终端服务器之外,管理员登录服务器的频率比管理员需要登录到客户端工作站的频率高得多。因此,默认情况下,禁用 Windows Server2008 中内置 Administrator 帐户的 AAM。默认情况下,对于作为本地 Administrators 组的成员的其他帐户,将启用 AAM。
如何解决所有问题?
如果操作系统不能正确标识管理应用程序,它可能无法正常运行,因为它不使用完全存取令牌。
有关如何配置现有应用程序的详细信息,请参阅本主题稍后介绍的其他资源。
对此更改应做哪些准备工作?
有关计划的信息,请参阅本主题稍后介绍的部署此功能应做哪些准备工作?。
提升标准用户权限
当标准用户尝试执行的任务所需要的权限标准用户不具备时,将出现提升权限提示。但是,在这种情况下,提示要求输入管理凭据。
为什么此功能非常重要?
UAC 允许管理员在标准用户的会话过程中输入凭据以执行临时管理任务,而不必切换用户、注销或使用 Run as 命令。
工作方式有何不同?
在没有 UAC 的情况下,应用程序尝试运行,但在尝试要求管理员权限的操作时将失败。某些应用程序正常情况下能检测到这种情况,而有些程序则不能。
在某些情况下,出现提升提示请求凭据可能会使用户发生混淆或产生附加技术支持呼叫。因此,您可能不希望用户看到这些提示,并且只是阻止启动该应用程序。
如何解决这些问题?
可以使用本地组策略编辑器 (secpol.msc) 和组策略管理控制台 (GPMC) (gpedit.msc) 配置这种标准用户默认提示行为。
对此更改应做哪些准备工作?
有关计划的信息,请参阅本主题稍后介绍的部署此功能应做哪些准备工作?。
防火墙图标
管理任务和程序以新的“防火墙”图标标记。
为什么此功能非常重要?
在 Windows Server2008 中统一使用防火墙图标,以表明启动特定任务或程序要求管理权限。这有助于查明哪个任务或程序要求提升权限、培训用户和管理员,以及减少技术支持呼叫。
UAC 文件和注册表虚拟化
Windows Server2008 包含适用于下列应用程序的文件和注册表虚拟化技术:不支持 UAC 的应用程序,以及可能要求管理员的存取令牌才能正常运行的应用程序。
为什么此功能非常重要?
UAC 虚拟化有助于确保即使是不支持 UAC 的应用程序也与 Windows Server2008 兼容。
工作方式有何不同?
当不支持 UAC 的管理应用程序尝试写入受保护的目录(例如 Program Files)时,UAC 会使用“写时复制”策略为应用程序提供其自身的正在尝试更改的资源的虚拟化视图。虚拟化复制在用户的配置文件下进行维护。因此,为运行不支持 UAC 的应用程序的每个用户创建一个单独的虚拟化文件的副本。
虚拟化技术确保不支持 UAC 的应用程序不会自动运行失败,也不会因发生不一致且难以解决的错误而运行失败。
备注 |
---|
虚拟化不适用于要求完全存取令牌的应用程序。 |
如何解决这些问题?
使用虚拟化功能,大多数应用程序任务将正常操作。但是,UAC 虚拟化是对应用程序的短期修复,而不是长期解决方案。应用程序开发人员应尽快修改其应用程序以便支持 UAC,而不是依赖于文件、文件夹和注册表虚拟化来暂时修复应用程序。
有关如何设计应用程序以支持 UAC 的指南,请参阅其他资源。
备注 |
---|
不支持对本机 Windows 64 位应用程序进行虚拟化。需要这些应用程序与 UAC 协同工作,并将数据写入正确的位置。 |
备注 |
---|
如果程序包含具有所需执行级别属性的应用程序清单,则将对应用程序禁用虚拟化。 |
对此更改应做哪些准备工作?
有关计划的信息,请参阅本主题稍后介绍的部署此功能应做哪些准备工作?。
添加或更改了哪些设置?
以下系统设置控制 Windows Server2008 中 UAC 的行为。可以通过使用本地组策略编辑器 (secpol.msc) 或 GPMC (gpedit.msc) 配置这些设置。
在 “本地策略”的“安全选项”节点中,在“安全设置”下可以找到以下设置。
设置 | 描述 | 默认值 | ||
---|---|---|---|---|
用户帐户控制:内置 Administrator 帐户的管理员批准模式。 |
有以下两种可能的设置:
|
已禁用 |
||
用户帐户控制:对于在管理员批准模式下的管理员的提升提示行为 |
有以下三种可能值:
|
提示要求同意 |
||
用户帐户控制:对于标准用户的提升提示行为 |
两个可能的值为:
|
提示输入凭据 |
||
用户帐户控制:检测应用程序安装并在提升时进行提示 |
两个可能的值为:
|
已启用 |
||
用户帐户控制:仅提升经过签名和验证的可执行文件 |
两个可能的值为:
|
已禁用 |
||
用户帐户控制:仅提升在安全位置中安装的 UIAccess 应用程序 |
两个可能的值为:
|
已启用 |
||
用户帐户控制:允许 UIAccess 应用程序在提升时进行提示,而无需使用安全桌面 |
两个可能的值为:
|
已禁用 |
||
用户帐户控制:在管理员批准模式下运行所有管理员 |
两个可能的值为:
|
已启用 |
||
用户帐户控制:提示提升时切换到安全桌面 |
两个可能的值为:
|
已启用 |
||
用户帐户控制:虚拟化文件和注册表无法写入每个用户的位置 |
两个可能的值为:
|
已启用 |
我是否需要更改任何现有代码?
编写的新的应用程序应该能与 UAC 一起使用,并且应包括嵌入清单。
有关为 Windows Server2008 和 WindowsVista 创建新程序的详细信息,请参阅其他资源。
部署此功能应做哪些准备工作?
UAC 可以显著减少暴露于恶意软件的机会,并允许使用标准用户凭据运行旧版本的应用程序。为了使用 UAC 能取得最大的成功,请参阅在其他资源中列出的信息。
Windows Server 2008 的所有版本中是否都提供此功能?
在所有版本的 Windows Server2008 中 UAC 是操作系统中必不可少的一部分。UAC 也是 WindowsVista 操作系统的一部分。
其他资源
有关 UAC 的详细信息,请参阅下列内容:
- 用户帐户控制(功能信息页)(http://go.microsoft.com/fwlink/?LinkID=82373)(可能为英文网页)
- 用户帐户控制概述 (http://go.microsoft.com/fwlink/?LinkId=89652)(可能为英文网页) 使用新的 Windows Vista 操作系统中的用户帐户控制,可以通过限制管理员级别对授权进程的访问权限,从而减小泄露的风险。
- 了解和配置 Windows Vista 中的用户帐户控制 (http://go.microsoft.com/fwlink/?LinkID=79026)(可能为英文网页) 了解 UAC 的工作方式,包括部署方案以及确保旧版应用程序的兼容性。
- Windows Vista 用户帐户控制循序渐进指南 (http://go.microsoft.com/fwlink/?LinkID=53781)(可能为英文网页) 本循序渐进指南提供了测试实验室环境中使用用户帐户控制 (UAC) 的必要说明。
- 探索 Windows Vista 虚拟实验室中新的用户帐户控制 (http://go.microsoft.com/fwlink/?LinkId=89653)(可能为英文网页) 无需在您的个人计算机上安装 Windows Vista 用户帐户控制,即可获得使用此应用程序的实践经验。
- 用户帐户控制 (UAC) 的 Windows Vista 应用程序开发要求 (http://go.microsoft.com/fwlink/?LinkId=89654)(可能为英文网页) 了解如何开发与 UAC 协同工作的应用程序。