Nfs

授予 linux 服務使用者對 Kerberos NFS 共享的訪問權限

  • February 27, 2022

我在兩個 raspbian buster 發行版上執行 NFSv4 伺服器和客戶端。我使用 Kerberos 來保護 NFS 共享。

在 NFS 客戶端上,我使用 git 使用者執行 gitea 服務,該服務在啟動時啟動。我想將 git 儲存庫儲存在 NFS 共享上,因此 git 使用者需要訪問它。

當我登錄到 git 使用者並執行時,kinit我可以毫無問題地訪問共享。

有沒有辦法讓 gitea 服務自動詢問 Kerberos 票證並更新它,以便該服務可以在沒有我干預的情況下訪問 NFS 共享?

我做了一些研究,我有一些想法,但不確定實現它的最佳方法是什麼。

  • 我可以執行一個定期執行kinit.
  • 這個執行緒談論 SSSD(我不知道)
  • 我可以手動進行初始設置kinit設置很長的票證生命週期,但從安全形度來看,這不是一個好習慣。

(我是 Kerberos 和 NFS 的新手,所以它們可能配置不當,但它可以工作)

謝謝 !

你基本上有兩種選擇:

  • 以root身份執行所有內容,因為 root 使用機器憑據,
  • 為您的使用者創建一個客戶端密鑰表。

為了使用第二種解決方案,您必須找到客戶端密鑰表的預設位置:

piotr@bialykiel:~$ krb5-config --defcktname
FILE:/etc/krb5/user/%{euid}/client.keytab

並使用以下命令創建密鑰表kadmin

ktadd -k /etc/krb5/user/1234/client.keytab yourprincipal@YOUR.DOMAIN.ORG

每當GSS-API諸如rpc.gssd 之類的應用程序無法訪問您的憑證記憶體時,它將使用密鑰表創建一個新的。

引用自:https://serverfault.com/questions/990397