用户创建iis7站点的权限

时间:2010-10-14 11:24:34

标签: web-applications iis-7 iis-7.5

我有一个特殊的网站,可以使用IIS7 ServerManager创建新网站:

using (ServerManager serverManager = new ServerManager())
{
     // create new site logic here    
}

此特殊网站必须在系统帐户下运行才能管理IIS7。有没有办法创建一个特殊的Windows用户设置为站点的应用程序池标识,并授予该用户访问IIS7但不是完整系统访问权限的特殊权限?

我之所以这样做,是为了让网站的进程标识尽可能少的权限。

如果问题不明确,请告诉我:)

2 个答案:

答案 0 :(得分:0)

如果您创建一个新帐户作为应用程序池标识,则需要使用此代码为其提供正确的权限,然后再添加创建网站所需的权限:

导航至:

C:\的Windows \ Microsoft.NET \框架\ V2.0.50727

然后做:

aspnet_regiis -ga DomainOrMachineName \ AccountName

见这里 http://msdn.microsoft.com/en-us/library/ff649309.aspx#paght000009_step2

答案 1 :(得分:0)

这实际上取决于该应用程序应该能够做什么,如果您只想创建一个新站点,您可以创建一个帐户并授予对%windir%\ system32 \的读写权限INETSRV \设置\的applicationHost.config。说过这么做要非常小心,因为一旦他们可以写入该文件,他们就可以执行强大的操作,例如,添加一个以System身份运行的新应用程序池,并且此时能够使用强大的身份运行他们的代码因为它得到了。

如果您想让它们回收,请启动&停止等等,对于网站,应用程序池,应用程序域等运行时对象,那么您将需要其他步骤,但我不建议这样做。

此外,如果您实际上设置了加密属性(例如应用程序池或虚拟目录中的密码),那么您还需要为加密密钥授予权限,但我也建议不要这样做,因为那样做让他们能够解密密码。