从错误0x80070522,谈强制完整性控制(MIC)。

By admin in 计算机教程 on 2019年12月1日

如果曾经使用过 Vista,那么对UAC应该不会陌生,这是从Windows Vista
5270版本开始引入的用户帐户控制功能(UAC,User Account
Control),其本意是为了增强系统的安全性。

在Windows
7碰到一个奇怪的问题,DE二个盘,NTFS的权限(属性–安全页)一模一样,没有任何区别,但在E盘根目录可以创建文件或文件夹,而在D盘根目录下报错:0x80070522,如果使用应用程序将文件保存到D盘根目录,则直接报拒绝访问。

对于普通用户而言,UAC在保证安全性的同时,其实也对他们的日常操作带来了很大的不便,有时候很多文件都无法删除,提示权限不够,有时候还要点“继续”按钮,毕竟是太麻烦了些。我们可以通过下面的方法在Windows
7下快速启用最高等级的超级管理员帐户:
使用超级管理员权限登陆系统,用起来的感觉就和xp一样爽。
直接以管理员身份命令行,然后输入这行命令就可以了。

先说解决办法,以管理员身份运行 CMD并执行以下命令:

net user Administrator /Active:yes
注销或者重新启动系统,此时可以在登录界面中选择Administrator帐户进行登录,默认密码为空。如果你觉得“Administrator”这个名称太难看的话,可以进入控制面板选择“用户帐户→管理帐户→更改帐户”进行重新命名。

icacls d:\ /setintegritylevel M

 

为了解决在之前Windows版本的因用户权限带来的安全问题,从Vista开始引入了UAC(User
Account
Control,用户帐户控制/接口权限隔离),即使使用Administrators的帐号也默认以普通用户权限运行,只有通过UAC提升特权后,才能真正使用管理员级别的特权限。

http://www.bkjia.com/Windowsjc/512715.htmlwww.bkjia.comtruehttp://www.bkjia.com/Windowsjc/512715.htmlTechArticle如果曾经使用过
Vista,那么对UAC应该不会陌生,这是从Windows Vista
5270版本开始引入的用户帐户控制功能(UAC,User Account
Control),其本意是…

PS1:UAC也导致在User环境下,通过runas来运行Administrator的失败。Vista之后的权限提升只能通过UAC,杜绝了无人参与的权限提升可能。

PS2:UAC下普通用户使用管理员权限运行程序方法:ShellRunas.exe,如果本身管理员需使用其他管理员帐号特权运行程序,须先使用ShellRunas.exe运行CMD。

同时,为了解决在管理权限下与一般用户权限的应用程序共享同一个桌面环境的安全性威胁,对process(程序进程)与资源(具备
ACL,能够设权限)都实施了Mandatory Integrity Level
(IL),确保低权限的处理程序不可以影响高权限的处理程序 (这个就需要
Mandatory Integrity Control 的支持)。

IL 总共有四级:
• Low (100):保护模式下的 IE
• Medium (200):一般正常的处理程序
• High (300):提升特权后的处理程序
• System (400):系统处理程序 (包含 Automatic Update)

在某一个处理程序尝试要修改某一个资源时,会在检查权限之前,先检查两者的
IL 等级,只有在处理程序的 IL 等级大于等于所要修改的资源的 IL
等级时,才会去检查资源的权限(如DACL、NTFS权限),否则就直接拒绝修改。

举个例子,进程只能访问小于等于它们完整性级别的文件。所以让我们设想,我在我的本地帐户(非管理员帐户)上运行了记事本。默认情况下,记事本拥有中完整性级别。只要我尝试写入一个有中等或更低完整性级别的文件,操作就会成功。然而,如果存在一个文件,他的完整性级别是高等,那么记事本的写入操作就会失败,因为记事本没有合适的完整性权限来访问和写入那个资源。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 澳门金沙30064在线网站 版权所有