Apache/PHP 无法写入已挂载的 NFS 目录

Apache/PHP 无法写入已挂载的 NFS 目录

需要一些有关 NFS 的帮助。以下是我所拥有的(所有服务器都运行带有 SELinux 的 CentOS 5.6):

172.17.20.1 - Primary server with static IP. Varnish redirects requests to the web servers.
172.17.20.2 - Web server 1
172.17.20.3 - Web server 2

驻留在 Web 服务器上的应用程序正在运行 Drupal,我需要它们共享相同的文件目录。我在 172.17.20.1 中创建了一个名为/var/nfs使用 root 用户。这是我的/etc/exports内容:

/var/nfs    172.17.20.2(rw,sync,no_root_squash) 172.17.20.3(rw,sync,no_root_squash)

在两个 Web 服务器(172.17.20.2/3)上,我都按如下方式安装它:

[root@web2 ~]# mount
...
172.17.20.1:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,sync,hard,intr,addr=172.17.20.1)

在所有服务器上,我都添加了用户阿帕奇到根组以获取所需的写访问权限:

[root@main ~]# cat /etc/group
root:x:0:root,apache
....
....
apache:x:48:

[root@web1 ~]# cat /etc/group
root:x:0:root,apache
....
....
apache:x:48:

主文件夹权限:

drwxrwxr-x  4 root root 4096 Mar 11 15:49 nfs

Web 服务器上的文件夹权限:

drwxrwxrwx   3 apache apache  4096 Feb 18 13:51 mnt

尽管如此,当我尝试将文件写入/mnt/nfs/var/nfsDrupal/PHP 文件夹,无法写入。我甚至尝试使用一个简单的 PHP 上传脚本,但它不起作用,所以问题不在于 Drupal。

非常感谢你们提供的任何帮助。我花了很多时间,却没有任何成功 :(

提前致谢。

答案1

我已将用户 apache 添加到 root 组以获取所需的写权限

但是您没有向我们展示文件/目录的权限。(顺便说一句,从安全角度来看这不是一个好主意 - no_root_squash 也是如此)。

为什么要同步?

相关内容