欲实现的功能:
实现当多台NFS客户机挂载同一台NFS服务器时,每台客户机都能对共享文件进行读写操作。
解决思路:
让所有NFS客户端写入到NFS Server的目录或文件在NFS Server上的用户和组都是同一个名称(nfs-test)。老表用一台服务器(nfs-server)和两台客户机(nfs-client001和nfs-client002)进行测试。
实施和测试:
1.创建一个NFS共享用户(nfs-test),并且所有机器的UID和GID都一样。
a.在nfs-server上:useradd -u 555 nfs-test。创建后用id nfs-test查看。
2.配置/etc/exports文件:vim /etc/exports
/share 192.168.1.0/24(rw,sync,all_squash,anonuid=555,anongid=555)
all_squash:保证所有用户都能压缩成一个用户。
anonuid=555和anongid=555:指定每个用户下都有并且存在的。
3.平滑重启nfs服务生效:/etc/init.d/nfs-kernel-server reload
注意:上边是ubuntu下的重启,在CentOS下命令为:/etc/init.d/nfs reload
4.在客户端挂载:mount -t nfs 192.168.1.103:/share /mnt
在nfs-client002上挂载和上边的方式是一样的。
5.测试
a.在nfs-server上查看/share目录权限:ls -ld /share
当此目录的权限为上图中所示和属主是root时测试如下:
/share 192.168.1.0/24(rw,sync,all_squash,anonuid=555,anongid=555)
解析:即/share这个共享目录可以被属主为555的所有用户使用,但是现在的/share属主为root,不是nfs-test,且nfs-test的属主为555。所以这里操作时提示为权限不够。所以需要修改nfs-test的属主。
b.修改nfs-test的属主:chown -R nfs-test.nfs-test /share/
修改后测试:
总结:
1.注意共享目录或文件的属主,要将共享目录或文件的属主修改为服务器和客户机同UID的属主才可实现功能。
转载于:https://blog.51cto.com/12058118/1862975