Windows 2012 R2 \ 8.1中的某些文件夹的内容不可写 – 一个例子是Program Files \ WindowsApps(用于存储从Windowsapp store下载的应用程序)。 显然,这是devise的 – 为了防止人们修改不应该是最终用户可访问的代码 – 但是什么具体的机制阻止了这个? 作为一个练习,我尝试了各种方法来绕过它 – 但即使拥有目录的所有权,给予我的用户完全控制权限,并确保没有设置只读标志 – 我仍然获得权限拒绝试图写一个新的文件这片区域。 我甚至试图从一个命令提示符运行“系统”(通过sysinternals psexec),但我得到同样的错误。
我想了一会儿,这可能是与强制访问控制和完整性级别有关 – 但它似乎并不是因为我的进程是在一个高的完整性级别 – 虽然强制访问控制在这个目录上 – 这是设置为低。 有效访问说我完全控制。 无论是操作系统级别的控制,尽pipe因为在Linux中安装文件系统,文件是完全可写的。
这个问题的原因是因为我正在撰写关于Windowsapp store应用安全的演示文稿,而且我知道有人会问我什么是阻止最终用户进入并修改它们。 如果有人见过这样的事情(我已经看过很多东西,但是找不到任何东西),任何关于MS的这个特定文档的指针都是很棒的。 道歉,如果这个问题似乎有点客户端相关 – 但我看到它已经被问超级用户几次,似乎没有人知道答案。 非常感谢您的帮助。
这是MS已经采取的一项新的安全策略,不允许修改某些应用程序的核心文件。
把它想象成苹果在iOS上的沙盒。 这是为了以下几点:
我将尝试挖掘我在8.1发布时从Microsoft构build会议收到的开发人员论文。
虽然这是进一步locking在8.1,8中,您可以通过添加Administrators拥有的文件夹,然后授予用户完全控制权来获得所有权+控制权。
有趣的是,如果您使用非Windows 8驱动器,则可以将这些文件修改为您的内容,但这可能会使SHA / MD5检查失败,并损坏可能位于该文件夹中的任何内容。