我的网络中有4-5台Ubuntu 14.04服务器,我想在它们之间共享一个公共/主目录.我已经设置了nfs服务器,我可以在各种客户端上安装该目录.但是我的问题是用户ID.
示例:nfs服务器上的用户是UID 1003,但在nfs客户端上,同一用户是另一个nfs客户端1005上的UID 1002.
我有什么选择来解决这场冲突?我已经进行了相当广泛的谷歌搜索,寻找选项,无法找到明确的答案.我可以将用户从一个UID映射到另一个UID,还是我在所有框中手动更改UID?
这是我目前的/ etc / exports
home 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check)
当然,最好的解决方案是将用户迁移到单个用户数据库,例如LDAP,FreeIPA等.现在这是一个小小的工作,但将来会为您节省很多麻烦.
但是你很“幸运”,因为从NFS版本4开始,你不再需要匹配UID了.客户端和服务器之间的NFSv4调用使用名称,idmapd
用于将这些用户/组名称转换为本地用户和组ID,反之亦然.
至少这是理论.
但是,默认的安全选项,sec = sys仍然使用本地UID / GID来验证NFS操作,那些仍需要在服务器和客户端之间进行匹配:(
替代选项sec = krb5,sec = krb5i或sec = krb5p,正如他们的名字所暗示的,都需要你设置Kerberos ……如果你要走这条路线,你也可以同步UID / GID.
所以,是的,您可以在NFSv4服务器和具有NFSv4的客户端之间使用不同的UID,但这需要设置Kerberos.