我有一台 Linux 服务器 (Centos 5.6),需要使用 Kerberos 从 Windows (Server 2008) NFS 共享自动挂载主目录。如果身份验证已关闭,则共享将挂载(使用 nobody 用户和组)。但是,如果-o sec=krb5
传递了标志,我会得到mount.nfs: permission denied
。
作为 root,我曾经kinit
获得过一张票,并klist
告诉我这是一张有效票。谷歌搜索错误没有给出太多信息,因为它似乎有点笼统。在我查看的任何日志中都没有找到任何有用的信息。在 Windows 共享上,root 访问权限设置为允许。
由于 Windows 共享的原因,许多关于更改服务器设置的资源并不直接适用。
有什么想法可以使它发挥作用吗?
答案1
令我感到困惑的是 - 而且看起来这也是您遇到的问题 - 那就是 root 不使用...您从 kinit 获得的任何东西。
它使用 /etc/krb5.keytab,您可以使用 列出它klist -kt
。根据您使用的操作系统版本,它要么需要 HOST 服务主体,要么(对于较旧的版本)需要 nfs 服务主体。
net ads join
并将net ads keytab create
执行第一部分 - 创建主机密钥表。对于 RHEL 5,我很确定您需要在客户端上创建一个 nfs 服务主体,以允许它访问 NFS 资源。我认为 Centos 5.6 也是如此,但我不是 100% 确定。我无法立即给您说明 - 我会查看并查看是否能找到更多详细信息。(我已经这样做了,它在 RHEL 上确实以这种方式工作,但时间太久了,如果我引用说明,我会弄错)。
您可以通过启动来排除故障rpc.gssd -f -vvv