我已经在 ReadyNAS Pro 上运行 Ubuntu 一段时间了。ReadyNAS Radiator 代码基于 Debian。我没有对 ReadyNAS 端做任何更改。
我刚刚从 13.10 升级到 14.04,令我惊讶的是,NFSv3 的行为发生了变化。
挂载工作如前一样正常。我可以按预期挂载文件系统。
我已经在客户端和服务器端协调了 uid/gid。查看 id 和 ls -l UID/GID 显示它们在两端是相同的 (1005/1000)。
但是如果我创建一个新文件,或者尝试访问现有文件或目录,则会收到客户端权限失败的情况。
具体来说,任何创建新文件的尝试都会显示用户 ID nobody 和用户组 nogroup,任何通过非 a+x 目录进行访问的尝试都会失败,任何读取非 a+r 文件的尝试都会失败。
我已在 ReadyNAS 端手动添加了 no_all_squash 并添加了 exportfs -vr,但没有任何变化。因此,这个问题加上升级时出现的问题表明,ubuntu 客户端上的某些东西正在压缩 UID/GID。但我非常确定压缩是服务器端的功能。
我确实注意到升级后域名没有对齐,因此我确保主机名--域在两侧返回相同的内容。
我对于如何调试这个问题已经想不出什么主意了。
我只能阅读上游的变更日志来尝试找出到底发生了哪些变化。
有人对下一步该做什么有什么建议吗?到目前为止,谷歌搜索这个问题没有帮助。任何帮助都将不胜感激。
答案1
我已经搞清楚了。我执行了 tcpdump 并发现 RPC 身份验证是 AUTH_NULL,而不是预期的 UNIX。现在,真正的难题来了:我在每个 NFS 挂载上都明确指定了 sec=sys。删除 sec=sys 后返回 RPC AUTH_UNIX。
我对此提交了一个错误报告:bugs.launchpad.net/ubuntu/+source/nfs-utils/+bug/1315974