因此,我的场景如下:
- 运行 Windows 2008 R2 的专用服务器
- IIS 7.5
- 使用 PHP / .NET 4 / Perl / Python 的多个站点
需要做:
- 确保网站不能写入/创建/读取文件,除非获得明确许可。
- 能够明确地使目录/文件可通过应用程序池身份进行写入。
- 有能力明确允许网站(应用程序)在获得正确权限的情况下创建和写入文件。
我该如何处理这个问题?
我在上次迭代/尝试中所做的事情:
- 为每个应用程序池/网站创建单独的本地用户帐户
- 设置每个网站以使用应用程序池标识并在需要时授予写入权限
缺少什么:
- 这些应用程序无需我授予权限即可创建文件。
- 由于隐含的读取权限,这些应用程序可以读取其他应用程序中的文件。
答案1
您可以通过删除包含网站的文件夹上的 NTFS 权限继承来解决这两个问题。如果它们都分成单独的文件夹。
这些应用程序无需我授予权限即可创建文件。
如果您删除继承,此问题就会消失。如果没有,您可能需要更具体地说明您允许的权限。确保您正在查看实际的 NTFS 权限,而不仅仅是读/写/等。您应该看到“创建文件夹/附加数据”等选项。
由于隐含的读取权限,这些应用程序可以读取其他应用程序中的文件。
您为每个应用程序池使用了单独的帐户,对吗?同样,我不明白为什么这行不通。还要记住,您也可以拒绝某些权限,但如果您有一个不是从上面继承的 ACL,您真的不应该这样做。