NFS user/group 映射问题

客户端通过 NFS mount 服务器上的一个目录,奇怪的是 client 每新建一个文件其 group 都跟 server 不一致,在 client 下新建一个测试文件:
jaseywang@u2:~/$ touch ddd
jaseywang@u2:~/$ ls -l ddd

-rw-r–r–  1 jaseywang jaseywang    0 2013-01-14 16:36 ddd

可以发现 ddd 的是 jaseywang:jaseywang,但是从 server 上查看却成了如下的 group:
jaseywang@u6:~/uploads$ ls -l ddd
-rw-r–r– 1 jaseywang rvm 0 Jan 14 16:36 ddd

查看了各自的 group,果真有问题,两者恰好相反。
client:
jaseywang:x:1002:jaseywang
rvm:x:1001:jaseywang

server:
jaseywang:x:1001:jaseywang
rvm:x:1002:jaseywang

搜到了一个叫 map_static 的选项,根据这篇文章作者的实践,应该是可以的,不过新版本(ubuntu 10.04 1.2.0-4ubuntu4.2)是不支持的:
$ sudo exportfs  -ar
exportfs: /etc/exports:2: unknown keyword "map_static=/etc/nfs/nfs.map"

看了下 ubuntu manual,10.04 的确实已经不支持了,但是 8.04 的还是支持的。

看来 NFS 是通过 GID 去识别 group 的,只能选择一台对换一下 GID。还有可以通过 LDAP 或者 NIS 实现。

ref:
http://serverfault.com/questions/240897/how-to-properly-set-permissions-for-nfs-folder-permission-denied-on-mounting-en
http://www.troubleshooters.com/linux/nfs.htm