我反复获取403权限拒绝错误试图服务从机器A上运行的Apache图像。图像是在一个目录,这是一个NFS共享从机器B.机器B / etc / exports上的条目如下所示:/ dir / xxx.xxx.xxx.xxx(rw,sync,no_root_squash)
我能够成功浏览机器A上的NFS挂载的文件/目录。
在通过httpd.conf之后,我也取消了EnableMMAP off和EnableSendFile Off这两个选项的注释。
这两台机器都在RHEL5上。
最后解决了这个。 这一直是一个SELinux问题。 在这里find解决scheme – http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/selinux-guide/rhlcommon-section-0068.html
在红帽企业Linux 4中,大多数目标守护进程不会与用户数据交互,也不会受到NFS挂载的主目录的影响。 Apache HTTP是一个例外。 例如,安装的文件系统上的CGI脚本具有nfs_ttypes,这不是允许执行的typeshttpd_t。
将SELinux设置为允许在相关的服务器上为我做这个工作。
当UID / GID排列不正确时,NFS始终会导致有趣的事情发生。
假设您的networking服务器以用户“apache”的身份运行,请确保文件的权限是世界可读的。
su到apache用户,cd到目录,并尝试抓取文件。
这很可能是一个权限问题。 如果apache没有写入目录,它不关心它读取的文件是在NFS还是其他的文件。
除了Matt的build议外,还要检查Apache是否允许从NFS挂载点存在的位置提供文件。 为了安全起见,很多Apache发行版都有一个限制性的指令,例如:
<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory>
这可以防止从/和以上提供的任何文件。 通常情况下,您将有一个限制较less的规则,允许包含DocumentRoot的另一个目录更自由地提供文件。
我不熟悉RHEL5如何分发它的Apacheconfiguration文件。 但是您可能需要创build一个额外的Directory指令来允许从您的挂载点提供的文件。
我有这个确切的问题。
我在Xubuntu上,www-data用户(apache)没有访问nfs挂载的权限。
在“sudo mount -a”之前,挂载点是…
drwxrwxrwx
但是之后
drwxrwx —
有人提到将目录组更改为www-data,但是我只是在mount之后将其修改为777。 我需要阅读nfs坐骑来自动执行