Answers:
NFS建立在RPC身份验证之上。对于NFS版本3,最常见的身份验证机制是AUTH_UNIX。在每个RPC调用中发送客户端系统的用户ID和组ID,并在服务器上检查这些ID对正在访问的文件具有的权限。为此,服务器和客户端上的UID和GID必须相同。但是,您可以通过组合all_squash,anonuid和anongid导出选项来强制所有访问以单个用户和组的身份进行。all_squash将所有UID和GID映射到匿名用户,而anonuid和anongid 设置匿名用户的UID和GID。例如,如果开发服务器上的UID和GID均为1001,则可以使用以下行导出主目录
/home/darren 192.168.1.1/24(rw,all_squash,anonuid=1001,anongid=1001)
我对NFS版本4不太熟悉,但是我认为您可以在客户端上设置rpc.idmapd来更改它们发送到服务器的uid和gid。
挂载NFS时,其挂载权限必须与服务器上的权限匹配。例如,如果您的用户只有只读访问权限,那么以读写方式安装它会导致您在尝试实际加载安装时看到与帖子中提到的错误相同的错误。不幸的是,这只会在访问文件夹时显示,而不是在您实际安装时显示。
您还想确保用户NFS正在服务器上运行,而客户机上的用户正在使用相同的UID和GID。您可以通过id darren
在服务器和客户端上运行来检查这些值。如果UID和GID值不匹配,则可以进行编辑/etc/passwd
以使其匹配-但在任意更改值之前,请确保您了解自己在做什么!
一些好的资源:
我希望这有帮助!