窗户盒(2k3)。我有一个网站需要通过本地计算机上的网络共享访问文件。 请不要专注于这个事实。 这是一个很长的故事,我现在不会进入。
工作进程在localmachine \NETWORK SERVICE 下运行。这被添加到一个组(我们称之为 HURFDURFGROUP),该组被授予对磁盘和网络共享的访问权限。
换句话说,如果我是 HURFDURFGROUP 的成员,我可以登录共享并打开其中包含的文件。
但是,即使 NETWORK SERVICE 是该组的成员,NETWORK SERVICE 也无法访问网络共享。 尝试读取文件会导致 FileNotFound 并且尝试更改共享上文件的安全性会导致 UnauthorizedAccess。
奇怪的是,一旦我在磁盘上专门设置了 NETWORK SERVICE 的权限并且共享一切正常。
这使我相信您不能使用 Groups 分配或拒绝对 NETWORK SERVICE 的权利。
这个对吗?有人可以解释一下吗?
在域上,网络服务被识别为 domain\machinename$。您可以在组等中使用它或获取权限。
因此,域“MyCompany”上机器“BobsBox”上的本地网络服务帐户是“MyCompany\BobsBox$”。我已经成功使用了几次。
我不能说非域或工作组,对不起
我试图找到我记得的关于“网络服务”帐户的 MS 博客文章,但是我无法通过书签快速搜索找到它。无论如何,我记得这个帐户确实被认为是一个特殊的用户帐户,虽然具有通常不分配给基本用户帐户的额外安全授权,但它也受到其他限制。如果我记得帐户连接到网络资源的能力是这些限制之一。
话虽这么说,但我也可以告诉你,我一直处于类似的情况,并且有办法让事情顺利进行。我可以告诉你,在我有网络服务需要访问网络资源作为应用程序池身份的一部分的情况下,我们指定一个基于域的帐户,该帐户将是你的 HURFDURFGROUP 组的成员,用于共享访问。然后,要使其成为 IIS 应用程序池的功能服务帐户,请确保它是本地 IIS_WPG 组的成员,并使用您正在使用的 asp.net 框架版本中的 -ga 域\用户名运行“aspnet_regiis”。这实质上将授予该帐户所有必要的权限,使其充当该本地系统的 apppool 身份。
不完全是您问题的直接答案,但无论如何可能会有所帮助。