PHP / IIS6使用哪个用户读取/写入文件?

我已经在IIS6上安装了PHP5(FastCGI),只是想知道哪些用户PHP用来访问文件系统的窗口?

以ASP.NET为例,ASPNET帐户用于访问文件系统。 但是PHP怎么样?

我读过一些build议使用匿名(即IUSR)帐户的post 。 但是,如果我给予IUSR账户的写入权限,这不是一个安全漏洞吗?

谢谢!

Craig是正确的,默认的IIS6,将作为networking服务帐户运行; 在test.php中使用PHPinfo是诊断这个问题的好方法。

我在这里通过操作系统博客了解IIS中运行的代码的“身份”

希望有所帮助。

戴夫

我想它会使用任何你运行IIS服务的用户。 但是,这里有一个快速简单的方法来查明:

  1. 将以下行放入名为test.php的文件中:<?php phpinfo(); ?>

  2. 将test.php放在IIS文档根目录下,并在浏览器中查看

  3. 在包含用户名的输出中查找一行,肯定在某处。

在IIS6中,默认的工作进程用户是NETWORK SERVICE。 如果您打开任务pipe理器,w3wp.exe进程可能会以此帐户运行。

此外,ASPNET用户是来自IIS5的遗留物。 除非您将IIS6configuration为使用“IIS5隔离模式”,否则ASP.NET也将在NETWORK SERVICE帐户下“运行”。

您需要在php.ini中更改:

fastcgi.impersonate = 1; 

所以,PHP使用您的IIS(w3wp.exe)使用相同的帐户。 (用户:IUSR)。