用户账户控制(User Account Control,简写作UAC)是
微软公司在其
Windows Vista及更高版本操作系统中采用的一种控制机制。其原理是通知用户是否对
应用程序使用
硬盘驱动器和
系统文件授权,以达到帮助阻止
恶意程序(有时也称为“
恶意软件”)损坏系统的效果。
信息简介
用户账户控制(User Account Control)是Windows Vista(及更高版本操作系统)中一组新的基础
结构技术,可以帮助阻止恶意程序(有时也称为“
恶意软件”)损坏系统,同时也可以帮助组织部署更易于管理的平台。
使用
UAC,应用程序和任务总是在非管理员账户的安全
上下文中运行,但管理员专门给系统授予管理员级别的
访问权限时除外。UAC会阻止未经授权应用程序的自动安装,防止无意中对系统设置进行更改。
用户账户控制(UAC)是新版
Windows的核心安全功能,也是其最常被人误解的众多安全功能当中的一种。
四种级别
仅当相关程序尝试更改我的计算机时通知我
仅当相关程序尝试更改计算机时通知我(不降低桌面亮度)
从不通知(禁用 UAC)将会:
变化
UAC
UAC消除了以管理员身份登录带来的风险
这是个常见问题:
拥有管理员账户的用户往往使用这种账户登录,即使他们也有普通
用户账户。虽然使用管理员账户登录比较方便,但同时也带来了风险。而使用UAC,可以消除以管理员身份登录带来的部分风险,因为Windows使用普通
用户权限来执行大部分任务,即便某人以管理员身份登录也是如此。
可以提高UAC的安全性
可以通过编辑
组策略(本地
安全策略或者域策略)来改变UAC的行为。可以用这种方法来提高安全性:
要求用户输入管理员证书信息来
提升权限,而不是只点击“继续”按钮。默认状态下,以普通用户账户登录的用户如果试图执行需要提升权限的任务,对话框会提示要求输入管理员证书信息。在域环境下,
默认值是禁用权限提升。
UAC提示要求获得许可才能提升权限时,桌面被锁定,这样它只接受来自Windows进程的消息。这时,其他软件无法与桌面进行联系,桌面也会变成灰色。通过编辑
组策略,可以禁用安全桌面。禁用后,提示对话框仍会弹出来,但会在交互桌面上显示出来。也可以完全关闭UAC(不过不推荐这么做)。用户只需要禁用“所有管理员在管理员批准模式下运行”策略即可。
UAC提供了额外保护。譬如说,它让
恶意软件更难以对系统造成破坏。不过,UAC并不能取代反病毒或者
反间谍软件程序,仍应当
使用性能良好、合理配置的防火墙。为了确保效果,必须采取多层
安全策略,UAC只是妥善的
客户机安全方案的一个部分。
登录过程
登录过程发生了变化
虽然登录过程对用户来说似乎一样——都需要输入账户名和口令,但是新版Windows的登录过程实际上发生了变化。如果使用管理员账户登录,不但会获得该账户的
访问令牌,还会获得普通用户的访问令牌。这个普通令牌可用于启动Explorer.exe,Explorer.exe的所有
子进程都使用该令牌的权限运行,除非通过响应UAC提示对话框提升权限。
权限
区别哪些任务需要管理员权限
对话框里必须拥有管理员权限的选项都有一个盾形图标,该图标表明如果选择该选项,需要响应UAC提示对话框。
批准模式
管理员批准模式是默认值
默认状态下,Windows使用普通用户权限运行,即使以管理员身份登录也是如此。如果某项任务需要管理员特权,对话框就会要求获得许可,才能继续操作。这可以阻止
恶意软件在用户不知情的情况下
提升权限。
进一步提高安全性
默认状态下,如果响应了UAC提示对话框,签名和未签名的
可执行文件都可以使用提升权限来运行。不过在高度安全环境下,可通过编辑
组策略,以便Vista只为签名有效的可执行文件提升权限,从而改变这种行为。
便利性
虽然不推荐这么做,但要是绝对肯定所处环境没有恶意软件,那么可以编辑
组策略,让那些以管理员身份登录的用户可以使用
提升权限来执行任务,不必要求响应UAC提示对话框。这可以消除有时烦人的对话框;
而且对管理员(譬如需要安装许多软件)来说,更加便利了。
遗留程序
遗留程序需要做上标记
Windows Vista出现前编写的不支持UAC的程序需要经过特别配置,才能在Windows Vista下工作。如果程序需要执行具有管理员权限的任务,应当将它们标上请求的执行级别,提示用户要求得到批准。可使用应用程序
兼容性工具包来完成这一步,这个工具可从
微软网站免费下载。
工作原理
在新版Windows中,有两个级别的用户:标准用户和管理员。标准用户是计算机Users组的成员;管理员是计算机Administrators组的成员。
与以前版本的Windows不同,默认情况下标准用户和管理员都会在标准用户安全上下文中访问资源和运行应用程序。任何
用户登录到计算机后,系统为该用户创建一个访问令牌。该访问令牌包含有关授予给该用户的访问权限级别的信息,其中包括特定的
安全标识符(SID)信息和Windows权限。当管理员登录到计算机时,该版本的Windows为该用户创建两个单独的访问令牌:标准用户访问令牌和管理员访问令牌。标准用户访问令牌包含的用户特定信息与管理员访问令牌包含的信息相同,但是已经删除管理Windows权限和SID。标准用户访问令牌用于启动不执行管理任务的应用程序(“标准
用户应用程序”)。
当管理员需要运行执行管理任务的应用程序(“管理员应用程序”)时,该版本的Windows提示用户将他们的安全上下文从标准用户更改或“提升”为管理员。该默认管理员
用户体验称为“
管理审核模式”。在该模式下,应用程序需要特定的权限才能以管理员应用程序(具有与管理员相同访问权限的应用程序)运行。
默认情况下,当管理员应用程序启动时,会出现“用户账户控制”消息。如果用户是管理员,该消息会提供选择允许或禁止应用程序启动的选项。如果用户是标准用户,该用户需要输入一个本地Administrators组成员的账户的密码(若Administrator
用户组的用户没有密码则该密码
文本框留空)。
注意
可以使用
组策略(Group Policy)和
控制面板更改“用户账户控制”消息的行为。
设计应用程序时,软件开发者应该将应用程序标识为管理员应用程序或标准
用户应用程序。如果应用程序没有标识为管理员应用程序,则Windows会将它看作标准用户应用程序。但是,管理员也可以将应用程序看作管理员应用程序。