Linux

對 Ubuntu 上 kerberized NFSv4 主機的根訪問

  • October 4, 2021

我有一個 kerberized NFSv4 設置在 Ubuntu 下執行良好,適用於普通使用者,但我無法讓它為 root 執行。

對於大多數係統,我不想允許 root 訪問,但是我有幾個伺服器,通過 NFS 對這個文件伺服器的 root 訪問是強制性的。

我知道給定客戶端上的 root 使用客戶端的機器身份,而不是普通的 kerberos 主體。

我想不通的是:如何將給定的機器身份等同於伺服器上的 root 訪問權限?這在 AIX 和 Solaris 下似乎可行(在伺服器的導出文件中使用 root=),但在 linux 下不行。

我意識到我可以只為需要它的主機允許“sys”身份驗證,並為所有其他主機保留 krb5,但我想了解如何在完全 kerberized 環境的上下文中執行此操作。

謝謝,

nrb

PS 我正在使用 no_root_squash。

好吧,這是一個可行的解決方案。它不是唯一的,但在我看來它是最乾淨的。

在伺服器的 idmapd.conf 文件中提供靜態映射,將客戶端的機器憑據與伺服器上的 root 帳戶等同起來。

您還必須告訴 idmapd 先檢查靜態映射。我的伺服器配置中的相關片段是:

[Translation]
GSS-Methods = static,nsswitch

[Static]
nfs/host.domain.com@DOMAIN.COM = root

請注意,nfs 客戶端將通過 /etc/krb5.keytab 以(至少)以下順序查找密鑰:

它需要第一個並使用它。這是您必須在伺服器上的 idmapd.conf 文件的靜態部分中使用的名稱。

nrb

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