配置:

配置:

我对设置 NFS 挂载还比较陌生,我正在尝试在 AWS 云中开始这项工作。我最终想要一个 CentOS 机箱作为 NFS 服务器,并可以让不同类型的机器(Ubuntu 或 CentOS)以完全读/写权限访问 NFS 共享。我已经让它工作了一段时间,但现在我无法写入 Ubuntu 客户端上未在 Ubuntu 系统上创建/最后修改的文件。(作为测试,我刚刚在 Ubuntu 客户端上创建了一个文本文件,它没问题。如果我在 CentOS 系统上修改它,我可以在 Ubuntu 中正常读取它,但我不能再写入它。)

配置:

在 CentOS 服务器上,我的 /etc/exports 文件如下:

/hello *(rw,async,no_root_squash,no_subtree_check,fsid=0)

(我暂时只使用通配符以方便访问 - 只有我特定的 AWS 安全组中的系统才能真正访问 NFS 端口。)配置选项在某种程度上是从互联网上的不同指南中汇总而来的。我读到过 fsid=0 是让共享在 Ubuntu 中可挂载的关键。然后我使用exportfs -a

在 Ubuntu 和 CentOS 客户端上,我创建了目录(以超级用户/root 身份),/mnt/mymnt然后运行:

mount -t nfs4 <MY_CENTOS_SERVER_DNS>.us-west-1.compute.amazonaws.com:/ /mnt/mymnt

挂载共享。

权限

在CentOS服务器上,共享目录权限如下:

(来自 ls -l /:)

drwxrwxrwx.   2 1000 1000  4096 Apr 24 16:13 hello

服务器上 /hello 的目录列表显示:

total 8
-rw-rw-r--. 1   1000   1000  0 Apr 23 20:21 HELLO_CLIENT
-rw-rw-r--. 1 centos centos 17 Apr 24 16:05 HI_CENTOS
-rw-rw-r--. 1 centos centos 47 Apr 24 16:13 HI_UBUNTU
-rw-rw-r--. 1   1000   1000  0 Apr 24 16:24 TEST2

在 Ubuntu 服务器上,相同的目录列表显示:

total 16
drwxrwxrwx 2 nobody     nogroup    4096 Apr 24 16:24 ./
drwxr-xr-x 5 root       root       4096 Apr 23 19:07 ../
-rw-rw-r-- 1 nobody     nogroup       0 Apr 23 20:21 HELLO_CLIENT
-rw-rw-r-- 1 nobody     nogroup      17 Apr 24 16:05 HI_CENTOS
-rw-rw-r-- 1 nobody     nogroup      47 Apr 24 16:13 HI_UBUNTU
-rw-rw-r-- 1 nobody     nogroup    0 Apr 24 16:24 TEST2

在 CentOS 客户端上,我看到了同样的东西,但是用组nobody代替了nogroup(可能是句法上的东西)。

概括

我正在尝试通过 NFSv4 将目录从 CentOS 服务器完全共享给 CentOS 和 Ubuntu 客户端。我可以挂载共享,但无法在 Ubuntu 系统上写入未在 Ubuntu 系统上创建的文件。我似乎配置不正确吗?有没有更好的方法来完成我想做的事情?

相关内容