Linux

實現 NFS Kerberos 掛載後無法讀取 ~/.Xauthority

  • June 8, 2021

我正在使用 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因此我不確定它是否與問題有關。

所以我從來沒有發現一個錯誤將我指向正確的方向。但是我懷疑 id 映射有問題,因為我的使用者顯示 uid 1000 並且主目錄上的 uid 也顯示 1000。在弄亂了配置文件並多次重新啟動伺服器和客戶端后,我解決了這個問題。

解決方案 在該部分的伺服器上

添加以下行:/etc/idmapd.conf``[General]

Domain = domain
Local-Realms = DOMAIN

引用自:https://unix.stackexchange.com/questions/650748