2009-01-14 34 views
0

我们正在使用ASP.NET网页删除已上传到我们服务器的图像。该网站在IIS中的“NT AUTHORITY \ NETWORK SERVICE”下运行。'NT AUTHORITY NETWORK SERVICE'不继承本地组权限?

在IIS服务器上,我们创建了一个本地组'Full_Access',我们添加了'NT AUTHORITY \ NETWORK SERVICE'。该组具有在文件上启用的NTFS修改权限。

当我们从应用程序中删除文件。该文件不会被删除。

如果我们将'NT AUTHORITY \ NETWORK SERVICE'文件明确地添加到文件中,并赋予修改权限而不是依赖它来从本地组继承权限,那么它就可以正常工作。

我们在安全选项卡上使用了有效的权限检查,并且认为它具有权限?但实际上,只有直接给予服务帐户权限才能正常工作?

是否有某些原因'NT AUTHORITY \ NETWORK SERVICE'没有继承它所在的本地组的权限?

+0

阅读http://msdn.microsoft.com/en-us/library/ms998320.aspx和http://www.asp.net/learn/whitepapers/aspnet-and-iis6'NT AUTHORITY \ NETWORK SERVICE'不应该从任何组继承。 – 2009-01-15 02:19:05

回答

0

将组IIS_WPG添加到您的'Full_Access'组而不是NETWORK SERVICE。

http://msdn.microsoft.com/en-us/library/ms998320.aspx

注意如果您需要允许访问,向运行ASP.NET应用程序(网络服务或定制的服务帐户)所有帐户文件资源的同一水平,你可以授予对IIS_WPG组的访问权限,而不是专门针对网络服务帐户。任何用于运行ASP.NET的帐户都必须是IIS_WPG组的成员。

+0

你不能添加一个组到一个组...反正...我们最初尝试添加'IIS_WPG'的文件,但没有奏效。这就是我们创建'Full_Access'组的原因。 – ctrlShiftBryan 2009-01-14 20:07:05

0

只是一个猜测,但你有没有尝试重新启动服务器?

组成员身份在登录过程中确定。 NETWORK SERVICE实际上是计算机帐户。我不认为它和其他账户一样。也就是说,它在启动应用程序时不会登录。系统帐户(控制iis)只是在其身份下启动进程。这意味着没有登录,也没有组员身份检查。

1

为什么不创建一个专用的应用程序池并让它在普通用户的适当权限下运行?