我有两台机器,都安装了 CentOS 6.4,连接在同一个专用网络上。
其中一个的目的是成为 NFS 服务器,另一个是客户端。
在服务器机器(服务器)上,我/net/directory通过将行添加到/etc/exports文件来导出目录
/net/directory *(rw,sync,no_root_squash)
Run Code Online (Sandbox Code Playgroud)
服务启动后,我去客户端添加挂载点 /etc/fstab
server:/net/directory /client/directory nfs defaults 0 0
Run Code Online (Sandbox Code Playgroud)
然后挂载
# mount /client/directory
Run Code Online (Sandbox Code Playgroud)
问题是,当我从客户端在挂载点内创建一个新文件/目录时,该文件将被映射为nobody:nobody作为服务器端的未知用户创建时。
这是一个例子(为了澄清)
在客户端只有一个名为的用户和组具有相同的名称 testuser
在客户端,我创建一个文件作为 testuser
[testuser@client ~]# touch /client/directory/test
Run Code Online (Sandbox Code Playgroud)
然后我列出目录内容
[testuser@client ~]# ls -l /client/directory
total 0
-rw-r--r--. 1 nobody nobody 0 Jul 2 16:46 test
Run Code Online (Sandbox Code Playgroud)
但在服务器端,一切都如预期的那样:
[root@earth ~]# ls -l /net/directory
total 0
-rw-r--r--. 1 1001 1001 0 Jul 2 16:46 test
Run Code Online (Sandbox Code Playgroud)
我希望在客户端得到相同的结果:
- 文件的 UID:GID 必须为 1001:1001
我究竟做错了什么?这是服务器问题还是客户端问题?
我搜索了几个 NFS 手册,但没有任何帮助。
有谁知道我该怎么做(不在服务器端创建用户)?
谢谢你。
检查 /etc/idmapd.conf 中的域在客户端和服务器上是否相同。检查 rpc.idmapd 是否在客户端和服务器上运行。而且,当然,用户应该存在于客户端和服务器上。NFSv4 在线路上使用用户主体,客户端和服务器负责提供正确的映射。当您使用 AUTH_SYS 本地 uid/gid 在创建时传播到服务器,但“ls”需要映射才能工作。
| 归档时间: |
|
| 查看次数: |
32530 次 |
| 最近记录: |