深入了解Windows Vista用户帐户控制
2007-05-29 15:29:16 来源:WEB开发网因此,Windows Vista 提供了一个增强的“运行身份”功能,以使标准用户能够方便地以管理权限启动进程。此功能要求为应用程序提供一种方式来标识系统可为之获得管理权限(代表该应用程序)的操作,我将对此进行简要说明。
此外,Windows Vista 还引入了一个管理员批准模式 (AAM),这样,作为系统管理员的用户便可以使用标准用户权限来运行,而不必在每次希望获得管理权限时输入用户名和密码。此功能在登录时为用户创建两个身份:一个具有标准用户权限,另一个具有管理权限。由于 Windows Vista 系统上的每个用户要么是标准用户,要么多数情况下作为 AAM 中的标准用户来运行,因而开发人员必须假定所有 Windows 用户都是标准用户,这将导致有更多的程序使用不带有虚拟化或填充的标准用户权限来运行。
为进程授予管理权限称为提升。由标准用户帐户执行此过程时,称为“当面式”(OTS) 提升,因为它要求输入某个管理员组的成员帐户的凭据,这通常由另一个用户当着该标准用户的面完成。由 AAM 用户执行的提升称为“同意”提升,因为用户只需批准其管理权限的分配即可。
如果用户是图 8 中所列任意管理员类型组的成员,Windows Vista 就会将该用户视为管理员。所列的许多组都只用于加入域的系统,并且不直接赋予用户本地管理权限,但是允许他们修改域范围内的设置。如果用户是其中任何组的成员,而不是实际的管理员组的成员,该用户将通过 OTS 提升而不是“同意”提升来获得其管理权限。
当属于所列的某个组的用户登录时,Windows Vista 将创建一个令牌,代表该用户的管理身份的标准用户版本。新令牌解除了分配给该用户的所有特权,只保留了图 9 中所列的那些特权,它们是默认标准用户特权。此外,任何管理员类型组在该新令牌中都带有 USE_FOR_DENY_ONLY 标志。图 10 显示了 Sysinternals Process Explorer(一种进程管理工具,可从 microsoft .com/technet/sysinternals 下载),其左侧显示了使用管理权限运行的进程的组成员关系和特权,右侧显示了不具备管理员权限的情况。(为防止意外错误使用,Windows 安全模型要求先启用带有禁用标志的特权,然后才能使用它。)
更多精彩
赞助商链接