Apache以本地系统账户运行,如何访问其他网络资源?

Apache以本地系统账户运行,如何访问其他网络资源?
  • Apache 2.2,Windows Server 2003 R2
  • Apache 自动作为服务启动,以本地系统帐户登录
  • 配置不同的虚拟主机

我必须配置什么(apache 模块?),以便脚本可以将文件输出到特定路径中的应用程序服务器?由 Active Directory 管理的用户或组可以以读写权限访问该路径。Web 服务器和应用程序服务器是不同的机器,均由 Active Directory 管理。

不同的虚拟主机通过文件级别(主要是 XML 或文本文件)与不同的主机进行通信。

切换到运行 apache 进程的活动目录用户并不是解决方案!

答案1

当然,LocalSystem 仅被本地系统的 SAM 识别。因此,它显然无法被任何其他服务器验证。

实际上,您已经排除了解决此类问题的典型解决方案:更改 Apache 服务运行的帐户。在您的域中为其创建一个特定的服务帐户(例如,“ApacheServiceOnServer1”),确保它不在任何组中(甚至不是“用户”),然后为ApacheServiceOnServer1到它需要读取/写入的特定目录。确保所述 ACL 仅具有它所需的确切权限 - 例如,如果它不需要删除该目录中的文件的能力,则不要授予该权限。还要注意继承。通过这种方式,您可以限制 Apache 服务对仅有的正是它需要做的事情。

如果以上内容不适合您,那么您还剩下两个选择:

1:您的脚本(写入某些网络共享)必须包含身份验证步骤,以便它提供其他服务器可识别的凭证。

2:通过允许“Everyone”用户写入,放松脚本写入的共享的安全性。这将要求您在另一台服务器上启用“Guest”帐户。

相关内容