![访问 UNC 路径的服务,Win 2008R2,最佳实践?](https://linux22.com/image/551902/%E8%AE%BF%E9%97%AE%20UNC%20%E8%B7%AF%E5%BE%84%E7%9A%84%E6%9C%8D%E5%8A%A1%EF%BC%8CWin%202008R2%EF%BC%8C%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5%EF%BC%9F.png)
我在机器 A 上运行一个 Apache Webserver 服务。
它通过以下方式提供来自机器 B 的一些文件:
别名 /foo \machineB\someshare
MachineB\someshare 对“Everyone”具有读取权限。Apache 作为 LocalService 运行。
当我启动机器时,它无法从 /foo 提供文件,但如果我登录到机器上,并且只需触摸 \machineB\someshare,它看起来就像被授予访问权限,并且它正确地从 /foo 提供文件。
我如何实现自动化,这样我就不需要登录并触及网络共享?
答案1
尝试以域用户服务帐户的身份运行 Apache,当然需要具备必要的权限,然后看看效果如何。
答案2
一种可能性是 - 让 Web 服务器通过 fstab 中的 cifs 挂载远程共享?您必须提供凭据,但我相信它们可以是来宾凭据。或者,挂载和卸载的启动脚本可能会产生相同的效果。
答案3
如果我没记错的话,从 Windows Vista 开始,安全组“Everyone”就不包含“匿名”登录。当使用以“LocalService”身份运行的服务访问远程共享时,它会使用 NULL 用户或匿名用户进行访问,因此无法访问远程共享。
按照 SpacemanSpiff 的建议,将 apache 更改为以域用户身份运行,或者尝试使用“NetworkService”而不是“LocalService”。