Windows Vista的UAC功能浅析(二)

互联网 | 编辑: 董宇成 2007-05-15 10:30:00转载 一键看全文

Windows Vista的UAC功能浅析(6)

在该窗口上单击“All programs on this computer”按钮,即可弹出一个consent对话框要求确认权限的提升。确认后即可弹出任务管理器,这时候原来的taskmgr进程(PID为2272)就会被自动杀死,现在我们在Process Explorer里打开新启动的taskmgr进程的属性对话框,可以看到其父进程就是那个已经被杀死的PID为2272的进程!如下图所示。难怪需要确认是否提升权限。

图8

根据实验结果,我们可以得出以下的结论:

当我们尝试启动某个标记为需要高特权的进程时,Windows Vista会检查其“父进程”的访问令牌,并根据访问令牌里的Mandatory Label SID进行相应的判断:

? 如果是Medium Mandatory Level:则弹出consent对话框要求确认权限的提升。

? 如果是High Mandatory Level:则直接以完全权限打开目标进程,而无需确认。

? 如果是System Mandatory Level:则直接以完全权限打开目标进程,而无需确认。

这里需要注意的是,在Build 5231的Windows Vista版本里,如果按下“ctrl+alt+del”组合键,会直接弹出一个拥有完全权限的任务管理器,因为这时候任务管理器的父进程是winlogon,其Mandatory Label SID为“System Mandatory Level”。

馒头版的UAC

之所以没有给命令行添加所谓的UAC功能,猜想Microsoft考虑到使用命令行的用户大多是IT Pro,在命令行中屏蔽UAC功能,可以有效防止最终用户无意之中运行高危险的命令,例如format、BCDEDIT等,从而避免对系统的毁灭性打击。

尽管如此,笔者还是期待能够看到适用于预命令行的UAC,这里笔者“效颦”胡戈同志的“馒头”巨著,设计一个命令行版本的UAC工作界面,聊搏读者诸公一笑耳。

提示:试试键盘 “← →” 可以实现快速翻页 

总共 6 页< 上一页3456
一键看全文

本文导航

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑