测试.jpg

但在E盘根目录可以创建文件或文件夹,而在C盘根目录下报错:0x80070522,如果使用应用程序将文件保存到D盘根目录,则直接报拒绝访问。

解决方案:

使用powershell的管理员运行输入:

​icacls C:\ /setintegritylevel M​​

问题出现的原因:

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

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权限),否则就直接拒绝修改

IL 的检查只会出现在针对资源的变动 (修改、删除、建立) 时才会进行,也就是如果只是读取资源,是不会检查 IL 的。

Internet Explorer 的 “保护模式” 事实上是使用了完整性级别来完成它的目标。因为 IE 保护模式运行于低完整性级别,而文件系统中所有文件(和运行的进程)默认拥有中完整性级别,那么试图写入这些文件或进程都会失败。

如果用户在保护模式执行下的 IE 中去使用网银,就无法存取Key了,这时候可以将该网站的网址加入「信任的网站」区域,这样以后浏览该网站时,就会另外开一个 IL=Medium 的 IE 来显示网站内容与执行网站上的客户端程序。