![网络服务无法保存到网络路径](https://linux22.com/image/571996/%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E6%97%A0%E6%B3%95%E4%BF%9D%E5%AD%98%E5%88%B0%E7%BD%91%E7%BB%9C%E8%B7%AF%E5%BE%84.png)
我对此进行了广泛的研究,并尝试了所有我看到的建议。我正在对运行“调度程序”服务的应用程序进行故障排除,以定期将 *.txt 文件导出到网络共享。我已将服务更改为作为网络服务启动,并授予网络服务帐户完全 NTFS 访问权限和共享访问权限。两台机器都在同一个域中,我使用 UNC 路径作为导出功能的输入。我还在本地安全策略下为网络服务帐户授予了一些额外的权限,例如“获取文件所有权”。
该应用程序在 Windows Server 2008 R2 上运行,并导出到同样运行 Server 2008 R2 的机器。我上面提到的这些权限在两台机器上都有镜像。有人有什么额外的建议我可能想尝试一下吗?
答案1
如果我理解正确的话,您已在网络共享上授予了写入权限NT AUTHORITY\NETWORK SERVICE
。这仅仅是一个本地帐户,授予此用户对文件夹/共享的写入权限将不允许远程计算机写入该文件夹。
当以 身份运行的服务NETWORK SERVICE
通过网络运行时,源用户名是计算机的 Active Directory 对象(即SOURCECOMPUTERNAME$
)。要允许源计算机写入目标计算机上的共享,您需要授予SOURCECOMPUTERNAME$
(计算机对象)写入权限。您授予的其他权限是多余的,应删除。
答案2
NETWORK SERVICE 是本地定义的用户帐户,由于 SID 过滤,当来自远程计算机时,该帐户不会被识别为有效帐户。因此,虽然您可以定义共享等权限,但该 ACL 仅在本地计算机上有效,而本地计算机是 NETWORK SERVICE 唯一受信任的地方。所有自称是 NETWORK SERVICE 的人的远程连接都将被拒绝(这就是您所看到的)。
您需要按照 Dan 的建议进行操作,为此创建并使用域用户帐户。