IIS7的网站上的权限应该是什么?

好的,让我只是说我不知道​​我在这里做什么。 对不起,如果我把它做得比它需要更复杂,

我有一个网站,我一直在IIS6上设置了一段时间,它工作得很好。 我采取了完全相同的网站,并试图在Windows Server 2008 Enterprise 32位上进行设置。

以下是我遵循的步骤:

  1. 从服务器获取包含网站的zip文件。
  2. 解压缩到inetpub /网站/版本。
  3. 它给出了configuration文件需要迁移的错误,所以我授予主文件夹的IIS_IUSRS读取权限并运行migrate命令。

现在网站加载,但我有两个问题:

  1. 我无法编辑网站文件夹内的任何文件。 我打开它,编辑它,当我试图保存它说“访问被拒绝”。 但是,如果我将文件从文件夹移到我的桌面,我可以在那里编辑它并将其移回没有问题。 我以pipe理员身份login,pipe理员组拥有网站中每个文件的完整权限。
  2. 当我尝试使用该网站时,有设置页面可以编辑一些configuration文件。 我总是遇到一个权限错误,试图使用这些网页(网站的其他function很好):

    加载configuration文件时发生错误:对path“C:\ inetpub \ website \ version \ XXXXX.tmp”的访问被拒绝。 (C:\的Inetpub \网站\版本\的web.config)

  3. 我检查权限,看到/ config文件夹设置为只读,所以我取消选中。 它似乎没有改变任何东西。

我在IIS论坛上读到,这些权限问题是因为我直接解压缩到inetpub文件夹,所以它没有inheritance适当的权限。 所以我试着将它解压缩到My Documents,然后按照build议将它移动到inetpub中,但是这似乎没有任何作用。

权限目前是这样设置的:

  • 网站(只读,pipe理员组具有完全控制,用户组和IIS_IUSRS已经读取和执行)
    • 版本(同上)
      • / config(与上面相同,除了IIS_IUSRS也有修改和写入)
      • web.config(同上)
  • wwwroot文件

所以任何人都知道我还有什么要去摆脱这个错误?

这听起来像一个用户访问控制问题。

启用UAC后,即使您以本地pipe理员身份login,您也不是pipe理员组的成员。 当您以“pipe理员身份运行”时,您只属于该组。 所以如果你以pipe理员的身份启动记事本,你将能够毫无问题地编辑文件。 所以答案是要么closuresUAC或授予您的用户帐户明确的修改权限的文件。 是的,这真的很烦人。

这样可以解决你编辑configuration文件的问题,但是听起来你想让应用程序也编辑文件。 这听起来有点危险,但是如果你正在控制谁可以访问应用程序,那么可能是可以接受的。

最好的方法是将Web应用程序放在自己的应用程序池中,而不是默认的应用程序池。 然后将应用程序池上的标识设置为特定的用户帐户,而不是默认的networking服务帐户。 然后授予该帐户在特定文件和/或文件夹上所需的权限。

由于UAC,系统文件夹的更改会导致“访问被拒绝”。 在Windows Server 2008中,即使您是计算机上Administrators组的成员,但您尝试对文件夹(例如inetpub或system32 UAC)进行任何更改,并validation您确认了此更改。

强烈build议不要对UAC进行更改,但可以在“控制面板” – >“用户帐户” – >“用户帐户”下检查设置。 select该帐户,然后点击更改用户帐户控制设置。

HTH