centos apache子进程无法访问文件

mctunoxg  于 2022-11-07  发布在  Apache
关注(0)|答案(1)|浏览(176)

我遇到了一个问题,一个被写为作为web服务访问的程序不能访问本地文件系统中的任何东西。从命令行运行程序可以正常工作,但是当通过apache作为一个子进程从php脚本通过system()执行时失败;它只是无法找到它应该工作的文件。我确信这是一个apache配置问题,因为程序在阅读/var/www/html [Web服务器文档根目录]和它下面的任何/所有文件/目录时没有问题。
以下是一些详细信息:

  • 运行apache 2.4.6的虚拟Centos 7服务器。
  • 该程序以用户apache的身份运行
  • 它可以读取/ [root dir]并正确解释它[即,它确实是/系统根目录,而不是/var/www/html]
  • 它根本不能访问/tmp,也不能访问/var/tmp
  • 某些外部文件通过网络挂载在/mnt上。程序可以访问/mnt,但尝试读取/mnt/{anything} 失败--即使远程共享已使用有效uid/gid挂载为apache,并且所有文件/目录都可由world读取。
  • selinux当前已禁用
  • 为了好玩,我尝试将Require all granted设置在<Directory / >中,将<Directory /tmp >设置在httpd.conf中,但这并没有改变什么。

有谁知道是什么原因造成的,我该怎么解决?
谢谢你的好意。

brc7rcf0

brc7rcf01#

您是否检查过selinux是否限制访问?
您可以通过安装selinux故障排除来查看Selinux是否导致了问题
yum安装-y sealert疑难解答sealert -a/var/日志/审核/审核. log

相关问题