UAC为Windows Vista系统带来了什么?

从安全角度考虑,即使对之前的Windows系统如Windows XP,我们在日常操作中也应使用标准用户帐户登录,而非管理员帐户,这是微软一直所大力提倡的,毕竟使用管理员帐户下运行程序便会让程序拥有了与管理员相同的权限,从而让系统安全出现很大的漏洞,病毒、恶意软件包括流氓软件可以轻而易举地获得系统的控制权 。但是,在Windows 2000/XP中使用标准用户帐户存在很多不便,这也许正是许多人尽管意识到使用管理员帐户不是个好的选择但仍坚持使用管理员帐户的原因 。首先,在这些系统中的标准用户帐户,权限被设置得过于严格,许多操作诸如设置时区、更改电源设置包括网络设置等功能均受到限制,这样,使用标准用户帐户登录后可能需要频繁使用Runas命令,以赋予当前帐户管理员权限,进行相应的操作,这样不但造成工作中的繁琐,也使得标准用户登录的初衷付诸流水;其次,也是最致命的一点,便是应用程序兼容性 。由于许多应用程序是使用管理员帐户编写和测试的,很多时候其在标准用户帐户下无法运行或出现不可预知的故障,比如说当应用程序要尝试写入受限区域——如 Program Files 目录或 HKLM 注册表项——便会出现权限不足导致程序无法运行的情况,许多用户不得不陷入安全与易用性间的两难 。
Windows Vista则在保证系统安全性的前提下解决了这些问题,通过Windows Vista中新纳入的UAC(用户帐户控制),即使登录用户没有管理员权限,UAC也可以使用户方便地进入各类日常操作 。
标准用户被赋予更多权限 Windows Vista赋予了标准用户帐户更多权限,这样,标准用户可以在没有管理员帐户提供的全部权限的情况下执行常规任务,包括查看系统时钟和日历、更改时区、修改无线网络安全设置、更改电源管理设置以及从 Windows Update 下载并安装关键更新 。
在 Windows Vista 中,需要管理员权限的操作标有一个盾牌图标,用户可以一目了然地知道他们可以更改哪些配置,无法更改哪些配置 。
Vista取消PowerUser组以更好地管理安全性 许多用户可能注意到,在Windows Vista中,找不到之前在Windows XP中承担重要角色的Power User 组,这是因为在 Windows Vista 中已经去掉了 Power User 组 。
在Windows XP中,理论上可以将某些用户设置为 Power User ,防止其未经批准进行系统配置,同时,Power User用户又因具有高于标准用户的权限而可以进入某些高权限的操作,但在实际应用中,一方面,Power User用户在进行很多日常操作时会出现权限不够的问题,另一方面,以 Power User 凭证运行的恶意软件则可能获得更多权限甚至完整的管理凭证,因此,这个“高不成低不就”的用户组并没有带来微软预期中的正面意义 。
在Windows Vista中,则取消了Power User组,默认设置仅有管理员用户和标准用户两种主要的帐户类型 。
UAC通过虚拟化改善程序兼容性 在Windows Vista中,通过提供文件与注册表的虚拟化功能,可以让许多在 Windows XP 下无法以标准用户身份运行的应用程序,不用经过修改即可在 Windows Vista 中运行 。
在 Windows XP 中,当应用程序试图往标准用户没有访问权限的文件系统和注册表的保护区域写入数据时,程序就会崩溃 。Windows Vista 则通过巧妙的机制避免了这个问题:将写入操作(以及随后的文件或注册表读取)重定向到该用户配置文件中的一个特殊位置来改善应用程序兼容性 。
例如,如果一个应用程序试图向 “C:program filescontososettings.ini” 进行写入操作,但该用户没有写入该目录的权限,那么写入操作将会被重定向到 “C:Users用户名AppDataLocalVirtualStoreProgram Filescontososettings.ini” 。而如果一个应用程序试图写入 “HKLMSoftwareContoso”,该操作将会被自动重定向到 “HKCUSoftwareClassesVirtualStoreMacHINESoftwareContoso” 。

推荐阅读