实施 NFS Kerberos 挂载后无法读取 ~/.Xauthority

实施 NFS Kerberos 挂载后无法读取 ~/.Xauthority

我正在使用 Debian Buster,其中 Kerberos、LDAP 和 SSSD 都可以工作。我使用 NFS 将我的主目录安装在客户端上,但我意识到它不安全。所以我实现了Kerberos挂载。

然而,当尝试在启动时通过 lightdm 登录时,它会变黑并引导我回到 lightdm 登录屏幕,没有错误。我在以下位置找到了这个/var/log/syslog

Error reading existing Xauthority: Failed to open file “/home/ben/.Xauthority”: Permission denied
Error writing X authority: Failed to open X authority /home/ben/.Xauthority: Permission denied

tty1我从那时起以 root 身份登录su ben,运行kinit,似乎我无法读取/写入我拥有的主目录中的任何文件 - 只能读取在其他文件上设置的文件。

这是/etc/exports我的服务器上的:

/home/ 192.168.16.0/24(rw,sec=krb5p,sync,fsid=0,crossmnt,no_subtree_check)

这是我的/etc/fstab

192.168.16.20:/home /home nfs defaults,exec 0 0

根据要求提供客户端的密钥表文件:

host/client@DOMAIN
host/client@DOMAIN
nfs/client@DOMAIN
nfs/client@DOMAIN

服务器上 Kadmin 中的 NFS 主体:

nfs/server@DOMAIN
nfs/client@DOMAIN

我已经调试这个有一段时间了,但我真的很难到达任何地方。安装座看起来安装正确。我的用户有 Kerberos 票证。权限看起来很完美,我可以在服务器上使用同一用户很好地读/写。

如果您需要更多信息来帮助解决此问题,请告诉我。

更新 当我尝试登录客户端时,我在服务器的身份验证日志中发现了这一点。

NEEDED_PREAUTH: ben@DOMAIN for krbtgt/DOMAIN@DOMAIN, Additional pre-authentication required
ISSUE: authtime 1622558991, etypes {rep=18 tkt=18 ses=18}, ben@DOMAIN for krbtgt/DOMAIN@DOMAIN

但是我不知道为什么,因为我在服务器上运行 NTP,并ntpdate在客户端上指向服务器。另外,如果我watch -n 1 date -R在客户端和服务器上运行,请将终端窗口并排放置,它们显示完全相同的时间。进行身份验证时也会出现此错误,kinit因此我不确定它是否与该问题有关。

答案1

所以我从来没有发现错误指出了我正确的方向。但是我怀疑 id 映射有问题,因为我的用户显示 uid 1000 并且主目录上的 uid 也显示 1000。在弄乱配置文件并重新启动服务器和客户端几次后,我解决了这个问题。

解决方案
将以下行添加到/etc/idmapd.conf服务器上的部分[General]

Domain = domain
Local-Realms = DOMAIN

相关内容