Apache 在从 NFS 共享提供图像时抛出 403

s1d*_*s1d 4 redhat nfs rhel5 apache-2.2

在尝试从机器 A 上运行的 apache 提供图像时,我反复收到 403 Permission Denied 错误。图像位于机器 B 的 NFS 共享目录中。机器 B /etc/exports 上的条目如下所示:/目录/ xxx.xxx.xxx.xxx(rw,sync,no_root_squash)

我能够成功浏览机器 A 上的 NFS 挂载文件/目录。

在通过 httpd.conf 之后,我还取消了对 EnableMMAP off 和 EnableSendFile Off 选项的注释。

两台机器都在RHEL5上。

s1d*_*s1d 7

终于解决了这个问题。它一直是一个 SELinux 问题。在这里找到了解决方案 - http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/selinux-guide/rhlcommon-section-0068.html

在 Red Hat Enterprise Linux 4 中,大多数目标守护进程不与用户数据交互,也不受 NFS 挂载的主目录的影响。一个例外是 Apache HTTP。例如,挂载的文件系统上的 CGI 脚本具有 nfs_t 类型,这不是 httpd_t 允许执行的类型。

在相关服务器上将 SELinux 设置为宽松对我来说很有效。

  • 您还可以使用 `setsebool -P httpd_use_nfs 1` 来允许 apache 访问 NFS 共享。 (4认同)