2014-05-06 12 views
0

我正在使用Delphi/Intraweb构建ISAPI文件。我在本地计算机上使用Win7并将Server2012用作目标部署。我在“cgi-bin”文件夹下创建了一个“Temp”文件夹。我试图将文件输出到“Temp”文件夹。从ISAPI拒绝的文件写入访问

如果在“Temp”文件夹中向“Everyone”授予“写入”权限,则我的文件可以写入。所以我知道这是一个权限问题。但出于某种原因,向“IIS_IUSRS”授予“写入”权限不起作用。

如何找出用户IIS正在用来执行cgi,更好的是如何将其更改为IIS_IUSRS,就像我期望的那样。

w3wp.exe正在“DefaultAppPool”下运行。授予对“DefaultAppPool”的写入权限仍然无法给Temp文件夹写入权限。

回答

1

如果我没有记错,Windows 7和Windows Server 2012上的IIS版本在应用程序池中运行Web应用程序,您可以使用IIS管理控制台检查/修改w3wp.exe进程运行的用户在应用程序池设置中。

+0

w3wp.exe正在“DefaultAppPool”下运行。授予对“DefaultAppPool”的写入权限仍然无法给Temp文件夹写入权限。 – GDF

+0

??我不是这个意思。查看应用程序池设置中定义的身份。如果我在这里检查服务器,它是'ApplicationPoolIdentity',这意味着用户'DefaultAppPool'不能访问临时文件夹。 http://www.iis.net/learn/manage/configuring-security/application-pool-identities –

+0

感谢您指点我正确的方向! – GDF

0

您需要配置IIS AppPool \“YourAppPoolName”的权限。您可以在应用程序池的基本配置的名称属性中找到YourAppPoolName值。

另外,我不知道这是否正常,但在我的服务器配置中,使用用户IUSR启用了匿名登录。我不得不为IUSR添加访问该文件夹的权限。您可以检查身份验证图标中的匿名登录用户帐户。