相关疑难解决方法(0)

将本地用户的 UID 和 GID 映射到挂载的 NFS 共享

我有一台带有 NFSv4 的服务器。我正在将远程用户的主文件夹的内容安装到本地主机。能够读写内容,但是当我从本地主机检查挂载卷中文件的所有权时,它们都属于相应的远程用户和组(512)。有没有办法让它看起来像是属于本地主机上的本地用户和组(1000)?

远程主机上的/etc/exports(IP 为 192.168.1.110)

/home/user512 192.168.1.142(rw,sync,all_squash,anonuid=512,anongid=512)
Run Code Online (Sandbox Code Playgroud)

本地主机上的/etc/fstab(IP 为 192.168.1.142)

192.168.1.110:/home/user512    /home/localuser/projects/project512   nfs    rw,hard,intr,rsize=32768,wsize=32768    0       0
Run Code Online (Sandbox Code Playgroud)

nfs mapping

44
推荐指数
3
解决办法
26万
查看次数

NFS 用户映射

我有两台机器,都安装了 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
  • 用户编号:1001
  • GID:1001

在客户端,我创建一个文件作为 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 …

linux nfs centos

6
推荐指数
1
解决办法
3万
查看次数

标签 统计

nfs ×2

centos ×1

linux ×1

mapping ×1