我正在通过FastCGI使用PHP(各种版本)运行IIS 8.5。 模拟在FastCGI的PHPconfiguration中。 应用程序池被设置为使用应用程序池标识。 实际上,如果我实际上拒绝了写入文件的访问权限,那么它的行为是相应的,但是,默认情况下,似乎所有文件都可写入我的网站。
查看有效权限说我的应用程序池标识(IIS AppPool \ PoolName)应该没有任何权限分配。 有一些默认帐户,应用程序池标识inheritance我需要进行调整,以防止写访问默认情况下。 我所读的一切都似乎表明,应用程序池标识应该默认为只读访问应用程序分配的虚拟文件夹,但这与观察到的行为不匹配(具体来说,PHPBB3抱怨configuration文件是可写的,设置写入权限,我可以通过论坛上传文件)。
什么可能会干扰权限,或者是我对预期的默认行为的理解不正确?
我做了更多的挖掘,终于能够为此提出一个答案。 看来有一个设置,使得文件可以修改为“已validation的用户”。 打破inheritance和删除这个权限解决了这个问题。
显然它包含在Users组和Authenticated Users组中,以确保它有权访问加载dll等。 我在SO上find了这个答案 ,对理解这个非常有帮助。