ZFS NFS 导出用户映射

ZFS NFS 导出用户映射

我正在尝试在我的小型家庭网络上使用 ZFS NFS 导出。到目前为止,我已经成功导出和安装,但安装的目录被映射到用户“nobody”并且是只读的。我希望能够写信给坐骑。

服务器正在运行 Solaris 11.3,我使用以下命令导出了我的主目录

zfs set share.nfs=on pool/export/home/nfs

在这个系统上,我的 uid 为 1001,gid 为 10。

我尝试过在 Linux 和 macOS 上安装。在 Linux 上,我的 uid/gid 都是 1000,在 macOS 上,它们是 501/20。从 FreeBSD 挂载可以读/写,因为 uid 是相同的。

我假设问题是由于 uids (和 gids)不同造成的。我尝试过的一些事情

  • 客户端,使用 -o vers=3 挂载为 NVSv3
  • 服务器端,导出 anon=1001

两者都没有任何效果。

我看到两种可能的解决方案:

  1. 协调 uid/gids。我不介意在 Linux/FreeBSD 系统上这样做,因为我在它们上没有那么多东西。我不太愿意在 MacBook 上尝试这样做。
  2. 找到一些绘制地图的方法

编辑:这是所请求的信息

# share
rpool_export_home_paulf /export/home/paulf      nfs     sec=sys,rw  

# sharectl get nfs
servers=1024
lockd_listen_backlog=32
lockd_servers=1024
lockd_retransmit_timeout=5
grace_period=90
server_versmin=2
server_versmax=4
client_versmin=2
client_versmax=4
server_delegation=on
nfsmapid_domain=
max_connections=-1
protocol=ALL
listen_backlog=32
device=
showmount_info=full
server_authz_cache_refresh=600
netgroup_refresh=600
resvport=false

答案1

您无法写入共享的问题是因为不同UIDGID正如您自己所说。

最简单的方法是在两台计算机上创建一个具有相同名称的组GID,将共享的所有权更改为该组,然后将用户添加到该组中。

在 Solaris 服务器和 Linux 计算机上:

groupadd -u GID nfsgroup

在 Solaris 服务器上:

chown :nfsgroup /nfs/share

在 Linux 机器上。

usermod -aG nfsgroup linuxuser

您也可以通过更改 UID 来完成此操作,但这有点复杂。上面的命令会给你你想要的。

相关内容