WEB开发网
开发学院操作系统Windows Vista 深入了解Windows Vista用户帐户控制 阅读

深入了解Windows Vista用户帐户控制

 2007-05-29 15:29:16 来源:WEB开发网   
核心提示: 通过文件系统和注册表命名空间虚拟化的帮助,Windows Vista 使这些旧应用程序能够在标准用户帐户下运行,深入了解Windows Vista用户帐户控制(3),当应用程序修改文件系统或注册表中的系统全局位置并且该操作由于访问被拒绝而失败时,Windows 会将该操作重定向到特定于用户

通过文件系统和注册表命名空间虚拟化的帮助,Windows Vista 使这些旧应用程序能够在标准用户帐户下运行。当应用程序修改文件系统或注册表中的系统全局位置并且该操作由于访问被拒绝而失败时,Windows 会将该操作重定向到特定于用户的区域;当应用程序从某个系统全局位置读取时,Windows 将首先检查每个用户区域中的数据,如果数据不存在,则允许从该全局位置进行读取尝试。

针对此虚拟化目的,如果某个进程是 32 位的(与 64 位相对)、不是使用管理权限运行,并且没有指令清单文件表明它是为 Windows Vista 编写的,那么 Windows Vista 会将其视为旧进程。根据此定义,对于任何操作(包括网络文件共享访问),如果它不是源于分类为旧进程的进程,则不会将其虚拟化。进程的虚拟化状态存储为其令牌中的一个标志,它是跟踪进程安全环境的内核数据结构,包括其用户帐户、组成员身份和特权。

您可以通过向“任务管理器”的“进程”页添加“虚拟化”栏来查看进程的虚拟化状态。图 2 显示大多数 Windows Vista 组件(包括桌面窗口管理器 (Dwm .exe)、客户端服务器运行时子系统 (Csrss.exe) 和资源管理器)或者因为它们有 Windows Vista 指令清单而禁用了虚拟化,或者是使用管理权限运行而因此不允许虚拟化。Internet Explorer® (iexplore.exe) 启用了虚拟化,因为它可以承载多个 ActiveX 控件和脚本,并且必须假定它们没有编写为使用标准用户权限即可正确操作。

图 2 “任务管理器”显示虚拟化状态

为旧进程虚拟化的文件系统位置为 %ProgramFiles%、%ProgramData% 和 %SystemRoot%,其中不包括某些特定子目录。但是,任何具有可执行文件扩展名的文件(包括 .exe、.bat、.scr、.vbs 等等)都将从虚拟化中排除。这意味着,使用标准用户帐户进行自我更新的程序将失败,而不会创建对于运行全局更新程序的管理员不可见的专有可执行文件版本。要向排除列表中添加其他扩展名,请在以下注册表项中输入它们并重新启动:

上一页  1 2 3 4 5 6 7 8  下一页

Tags:深入 了解 Windows

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接