什麼是常見的 EFS 存取點組態?

2 分的閱讀內容
0

哪些是可正常運作或導致掛載錯誤的常見 Amazon Elastic File System (Amazon EFS) 存取點組態?

解決方案

檢閱存取點組態之前,請確定您已注意下列事項:

Amazon EFS 如何在需要時驗證用戶端或覆寫身份驗證

  • EFS 檔案和目錄支援以使用者 ID 和群組 ID 為基礎的標準 UNIX 樣式讀取、寫入和執行許可。
  • 如果 NFS 用戶端在沒有存取點的情況下掛載檔案系統,則會信任並使用用戶端提供的使用者和群組 ID。
  • 根壓縮預設不會開啟。Amazon EFS 的行為類似於帶有 no_root_squash 的 Linux NFS 伺服器。如需詳細資訊,請參閱無根壓縮
  • 如果使用者或群組 ID 為 0,Amazon EFS 會將該使用者視為根使用者,並略過許可檢查。若要覆寫 NFS 用戶端使用的使用者 ID 和群組 ID,您可以使用 EFS 存取點。Amazon EFS 使用存取點 ID 來指示使用者建立之新檔案和目錄的擁有者和群組擁有者。這是「所有壓縮」對應行為。
    **注意:**Amazon EFS 不會檢查使用者或群組名稱。它只使用數字標識符。

NFS 對應行為,例如no_root_squash、root_squash 和 all_squash

  • **root_squash:**將來自 UID 或 GID 0 的請求對應到匿名 UID 或 GID。這不適用於任何其他可能同樣敏感的 UID 或 GID,例如使用者資料匣或群組工作人員。
  • **no_root_squash:**關閉根壓縮。此選項對於無磁碟的用戶端很有用。
  • **all_squash:**將所有 UID 和指南對應至匿名使用者。此選項對於 NFS 匯出的公用 FTP 目錄、新聞多工緩衝處理目錄等非常有用。相反的選項是 no_all_squash,這是預設設定。

具有非根路徑和其他組態的存取點

該存取點具有與先前不存在的非根路徑,例如 /test。「POSIX 使用者」和「建立資訊」欄位為空白。

**常見問題:**您嘗試透過存取點將檔案系統掛接到 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。如果存取點的路徑目錄 (在此範例中為 /test) 不存在於檔案系統中,則掛載會失敗。

解決方案:在不使用存取點的情況下,於使用或掛載檔案系統之前建立目錄。或者,在建立或修改存取點時指定建立資訊

該存取點具有與先前不存在的非根路徑,例如 /test。已設定 POSIX 使用者 (例如:1000:1000)。「建立資訊」欄位為空白。

**常見問題:**當您嘗試透過存取點將檔案系統掛載到 EC2 執行個體時,掛載失敗。這是因為存取點的路徑目錄 (在此範例中為 /test) 不存在於檔案系統中。

**解決方案:**在不使用存取點的情況下,於使用或掛載檔案系統之前建立目錄。或者,在建立或修改存取點時指定建立資訊。

該存取點具有與先前不存在的非根路徑,例如 /test。「POSIX 使用者」 (例如:1000:1000) 和「建立資訊」欄位已完成 (例如:1000:1000 (0755))。

此組態不會出現掛載問題。

具有根路徑和其他組態的存取點

如果您在建立存取點時未指定「path」值,EFS 會使用檔案系統的根目錄做為存取點的路徑。在此場景中,檔案系統只允許作業系統的根帳戶執行檔案系統作業,例如讀取、寫入和執行。這是因為您不允許在如此設定的檔案系統中變更根目錄的許可。

但是開啟使用者強制功能時,Amazon EFS 會將 NFS 用戶端的使用者和群組 ID 取代為在所有檔案系統操作的存取點上設定的身分。此選項在檔案系統的 EFS 伺服器端發生衝突。

存取點具有根路徑 "/",而「POSIX 使用者」和「建立資訊」欄位為空白。

此組態不會出現掛載問題。在未使用存取點的情況下,此組態等同於使用 EFS 檔案系統。只有根使用者可以建立或修改檔案。

存取點具有根路徑 "/",而「POSIX 使用者」設定為 0:0。「建立資訊」欄位為空白。

此組態不會出現掛載問題。這是因為 all_squash 對應表現為所有操作均由根帳戶執行,這會強制使用者身分。在未使用存取點的情況下,此組態等同於使用 EFS 檔案系統。只有根使用者可以建立或修改檔案。

存取點具有根路徑 "/",而「POSIX 使用者」設定為 1000:1000。「建立資訊」欄位為空白。

此組態不會出現掛載問題。這是因為 all_squash 對應表現為所有操作均由帶有 1000 UID/GID 數字標識的帳戶執行。即使您在此設定中使用 sudo 命令,也無法建立或修改檔案。

存取點具有根路徑 "/",而「POSIX 使用者」設定為 1000:1000。「建立資訊」欄位設定為

如果目錄不存在,EFS 會使用這些許可自動建立指定的根目錄。但是由於採用 all_squash 對應,使用者完全無法寫入檔案系統。

注意:****建立資訊不會影響 EFS 檔案系統,因為根目錄 (/) 已存在。

**常見問題:**由於擁有權衝突,使用者無法執行任何檔案操作。

解決方案:

  • 請勿使用 "/" 作為存取點的路徑。
  • 使用 0:0 作為 POSIX 使用者,並且不使用建立資訊,這不是必填欄位。

具有非根路徑的存取點 (例如,/test),「POSIX 使用者」為 0:0,而「建立資訊」欄位為 0:0 (0755)

由於採用 all_squash 對應,此組態不會出現掛載問題。all_squash 對應表現為所有操作均由根帳戶執行 (這會強制使用者身分)。即使使用者為非根使用者,情況也是如此。

具有非根路徑的存取點 (例如,/test),「POSIX 使用者」為 1000:1000,「建立資訊」欄位為空白

**注意:**為存取點建立路徑 /test

此組態不會出現掛載問題。但請注意,所有檔案和目錄都由具有數字標識 UID 1000 和 GID 1000 的帳戶擁有。

具有非根路徑的存取點 (例如,/test),「建立資訊」欄位為 0:0 (0755),而「POSIX 使用者」為空白

此組態不會出現掛載問題。但是,sudo 必須用於檔案操作。


相關資訊

如何使用 Amazon EFS 存取點

AWS 官方
AWS 官方已更新 2 年前