Nfs

使用 kerberos 的 NFS 訪問限制

  • April 5, 2018

我有以下設置:一台 linux 機器是整個機器網路的備份儲存。網路被認為是保存的,因為它沒有假設真正的壞人。網路中有多個節點(A, B,…, F),它們將它們的備份放到中央伺服器(不是這個問題的主題)。每個這樣的節點都專用於一個使用者。

現在應該允許使用者訪問他們自己的備份。也就是說,在伺服器上有一個包含文件夾的文件夾AF其中包含各個備份目標。節點上的使用者應該能夠訪問他們自己的備份。

一種想法是使用 chrooted SSH 連接來允許連接到各個備份路徑。另一個想法是將 NFS 與 kerberos 一起使用。IP 是動態分配的,不能固定。沒有選項可以更改此行為(將其視為限制)。所以我不能通過 IP 將共享導出AF因為這些不是固定的。

這是我的問題:我能否以某種方式將某些共享的訪問權限限制為只能通過 kerberos 訪問所有已知機器的子集?

我想過使用不同的域,但我不確定這是否可行。在這裡,我對 kerberos 沒有足夠的了解。在我弄亂整個網路之前,請你給我建議,最後我沒有找到任何有用的東西。

,您不能輕鬆地將 kerberos 共享導出到動態 IP 地址的子集。但是,您可以相對輕鬆地將 kerberos 共享導出到一組使用 kerberos 的使用者

kerberized 共享的行為很像標準 NFS 共享,但客戶端不能偽造它正在執行的 uid。應相應地設置 Unix/posix ACL。

NFS 共享既可以設置為特定子網,也可以設置為需要 kerberos。

/srv/backup/A 203.0.113.0/25(ro,sec=krb5p)
/srv/backup/B 203.0.113.128/25(ro,sec=krb5p)

客戶端和伺服器都需要訪問適當的密鑰表。

伺服器是nfs/<server.fqdn>@<REALM>.

客戶端 (rpc.gssd) 按順序搜尋:

<HOSTNAME>$@<REALM>  
root/<hostname>@<REALM>  
nfs/<hostname>@<REALM>  
host/<hostname>@<REALM>  
root/<anyname>@<REALM>  
nfs/<anyname>@<REALM>  
host/<anyname>@<REALM>

客戶必須持有有效票證,通常由pam_ssspam_krb5ssh -Kkinit或獲得k5start

伺服器和客戶端都必須將相同的 kerberos 主體解析為相同的使用者名。

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