![为什么我不能通过组为网络服务帐户分配权限?](https://linux22.com/image/492739/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E4%B8%8D%E8%83%BD%E9%80%9A%E8%BF%87%E7%BB%84%E4%B8%BA%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E5%B8%90%E6%88%B7%E5%88%86%E9%85%8D%E6%9D%83%E9%99%90%EF%BC%9F.png)
Windows 机器(2k3)。我有一个网站需要通过本地机器上的网络共享访问文件。 请不要关注这个事实。 这是一个很长的故事,我现在就不详述了。
工作进程正在运行本地机器\NETWORK SERVICE。它被添加到一个组(我们称之为 HURFDURFGROUP),该组被授予对磁盘和网络共享的访问权限。
换句话说,如果我是 HURFDURFGROUP 的成员,我就可以登录共享并打开其中包含的文件。
然而,尽管 NETWORK SERVICE 是该组织的成员,网络服务无法访问网络共享。 尝试读取文件将导致 FileNotFound,而尝试更改共享上的文件安全性将导致 UnauthorizedAccess。
奇怪的是,一旦我专门设置了磁盘和共享上的 NETWORK SERVICE 权限,一切都会正常工作。
这让我相信您不能使用组来分配或拒绝网络服务的权限。
这是正确的吗?有人能解释一下吗?
答案1
我试图找到我记得是一篇关于“网络服务”帐户的 MS 博客文章,但是我无法通过书签快速搜索找到它。无论如何,我记得这个帐户确实被视为一个特殊用户帐户,虽然它具有通常不分配给基本用户帐户的额外安全授权,但它也受到其他限制。如果我没记错的话,帐户连接网络资源的能力就是其中之一。
话虽如此,但我也可以告诉你,我也遇到过类似的情况,而且有办法让事情正常运作。我可以告诉你,在我的 Web 服务需要访问网络资源作为其作为应用程序池标识的功能的一部分的情况下,我们指定一个基于域的帐户,该帐户将成为您的 HURFDURFGROUP 组的成员,以便进行共享访问。然后,要使其成为 IIS 应用程序池的功能服务帐户,请确保它是本地 IIS_WPG 组的成员,并使用您正在使用的 asp.net 框架版本的 -ga domain\username 运行“aspnet_regiis”。这实际上将授予该帐户作为该本地系统的应用程序池标识所需的所有权限。
这不完全是对您的问题的直接回答,但无论如何也许会有所帮助。
答案2
在域中,网络服务被识别为 domain\machinename$。您可以在群组等中或权限中使用它。
因此,域“MyCompany”上计算机“BobsBox”上的本地网络服务帐户是“MyCompany\BobsBox$”。我已成功使用过几次。
抱歉,我无法判断非域或工作组