我正在尝试在我的小型家庭网络上使用 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
两者都没有任何效果。
我看到两种可能的解决方案:
- 协调 uid/gids。我不介意在 Linux/FreeBSD 系统上这样做,因为我在它们上没有那么多东西。我不太愿意在 MacBook 上尝试这样做。
- 找到一些绘制地图的方法
编辑:这是所请求的信息
# 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
您无法写入共享的问题是因为不同UID
,GID
正如您自己所说。
最简单的方法是在两台计算机上创建一个具有相同名称的组GID
,将共享的所有权更改为该组,然后将用户添加到该组中。
在 Solaris 服务器和 Linux 计算机上:
groupadd -u GID nfsgroup
在 Solaris 服务器上:
chown :nfsgroup /nfs/share
在 Linux 机器上。
usermod -aG nfsgroup linuxuser
您也可以通过更改 UID 来完成此操作,但这有点复杂。上面的命令会给你你想要的。