2014-05-06 15 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添加訪問該文件夾的權限。您可以檢查身份驗證圖標中的匿名登錄用戶帳戶。