我正在从运行 OpenBSD 6.0 版本的 OpenBSD NFSv3 服务器向 OpenBSD 和 Ubuntu 16.10 主机以及一台 Solaris 11.3 主机的内部网络提供/exports/home
(主目录)和(NetBSD 的 pkgsrc 存储库)。/exports/pkgsrc
这对于 Ubuntu 和 OpenBSD 上的主目录非常有效,因为两个系统上用户的 UID 和 GID 恰好相同。
在 Solaris 上,我必须手动更改 UID,因为 Solaris 开始分配 UID 为 100 而不是 1000。我认为为我添加的用户手动执行此操作是可以管理的,但对于其他默认系统 UID/GID 则不然。
对于导出,我希望挂载在 Ubuntu 和OpenBSD 上pkgsrc
显示,但该组在 Ubuntu 上的 GID 40,而该组在 OpenBSD 上的 GID 9(9 在Ubuntu 上)。在 Solaris 上,GID 9 属于该组。root:src
root:wsrc
src
wsrc
news
nuucp
挂载 NFSv3 共享时是否可以在客户端和服务器之间执行(至少)GID 的重新映射?我真的不想手动同步我自己没有在异构 Unix 系统上添加的 UID 和 GID...有没有更简单的方法来做到这一点(请记住,我不能只在 OpenBSD 上使用 NFSv4 )?
解决方法是添加一个全新的pkgsrc
组,其 GID 在所有系统上都是唯一的,但我会等待,看看是否有更好的解决方案。
这是/etc/exports
在omni
服务器上:
/exports/home -network=10.0.0 -mask=255.255.255.0
/exports/pkgsrc -network=10.0.0 -mask=255.255.255.0
fstab
这是Ubuntu 主机上的相应条目:
omni:/exports/home /home nfs rsize=4096,wsize=4096,soft
omni:/exports/pkgsrc /opt/pkgsrc nfs rsize=4096,wsize=4096,soft
pkgsrc
OpenBSD 服务器上的目录:
$ ls -ld /exports/pkgsrc
drwxrwxr-x 52 root wsrc 2048 Feb 18 20:07 /exports/pkgsrc
在 Ubuntu 主机上:
$ ls -ld /opt/pkgsrc
drwxrwxr-x 52 root news 2048 Feb 18 20:07 /opt/pkgsrc
...我希望news
(GID 9) 成为src
(GID 40)。