使用存取點強制採用根目錄 - Amazon Elastic File System

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用存取點強制採用根目錄

您可以使用存取點覆寫檔案系統的根目錄。當您強制執行根目錄時,使用存取點的用NFS戶端會使用存取點上設定的根目錄,而不是檔案系統的根目錄。

您可以在建立存取點時設定存取點 Path 屬性來啟用此功能。此 Path 屬性是檔案系統根目錄的完整路徑,適用於透過此存取點提出的所有檔案系統要求。完整路徑的長度不能超過 100 個字元。最多可以包含四個子目錄。

當您在存取點上指定根目錄時,它會成為掛載存取點之NFS用戶端之檔案系統的根目錄。例如,假設存取點的根目錄為 /data。在此情況下,使用存取點掛載 fs-12345678:/ 的效果與不使用存取點掛載 fs-12345678:/data 的效果相同。

在存取點中指定根目錄時,請確定已設定目錄權限,以允許存取點的使用者成功掛載檔案系統。請特別確定執行位元已為存取點使用者、群組或所有人設定。例如,目錄權限值 755 可讓目錄使用者擁有者列出檔案、建立檔案和裝載,以及所有其他使用者列出檔案和裝載。

建立存取點的根目錄

如果檔案系統上沒有存取點的根目錄路徑,Amazon EFS 會使用指定的擁有權和許可自動建立該根目錄。如果您在建立時未指定目錄擁有權和許可,Amazon EFS 將不會建立根目錄。此方法可以為特定使用者或應用程式佈建檔案系統存取,而無需從 Linux 主機掛載檔案系統。如需建立根目錄,您可以在建立存取點時,使用下列屬性來設定根目錄擁有權和許可:

  • OwnerUid— 用作根目錄擁有POSIX者的數值使用者 ID。

  • OwnerGiD— 用作根目錄擁有者POSIX群組的數值群組 ID。

  • 許可:目錄的 Unix 模式。常見的組態是 755。確定已為存取點使用者設定執行位元,以便他們能夠掛載。此組態賦與目錄擁有者在目錄中輸入、列出和寫入新檔案的許可。也賦與所有其他使用者輸入和列出檔案的許可。如需使用 Unix 檔案和目錄模式的詳細資訊,請參閱 網路檔案系統 (NFS) 層級的使用者、群組和許可

只有在為目錄指定 OwnUid、自己GID和許可時,Amazon 才EFS會建立存取點根目錄。如果您未提供此資訊,Amazon EFS 不會建立根目錄。如果根目錄不存在,嘗試使用存取點掛載將會失敗。

當您使用存取點掛載檔案系統時,如果該目錄不存在,則會建立存取點的根目錄,前提是在建立存取點時指定了根目錄 OwnerUid 和權限。如果存取點上設定的根目錄在掛載前已經存在,存取點則不會覆寫現有的許可。如果您刪除根目錄,請在下次使用存取點掛載檔案系統時EFS重新建立該根目錄。

注意

如果您沒有為存取點根目錄指定擁有權和許可,Amazon EFS 將不會建立根目錄。掛載存取點的所有嘗試都將失敗。

存取點根目錄的安全模型

當根目錄覆寫生效時,Amazon 的行為就EFS像啟用該no_subtree_check選項的 Linux NFS 伺服器一樣。

在NFS通訊協定中,伺服器會產生檔案控制代碼,用戶端在存取檔案時將這些檔案控制代碼用作唯 EFS安全地生成不可預知且特定於EFS文件系統的文件句柄。當根目錄覆寫到位時,EFS不會揭露指定根目錄之外的檔案的檔案控制代碼。不過,在某些情況下,使用者可能會使用機制取得其存取點外部檔案的檔案控 out-of-band 制代碼。例如,如果使用者可以存取第二個存取點,可能就會這麼做。如果使用者這麼做,他們可以對檔案執行讀取和寫入操作。

系統一律會強制執行檔案擁有權和存取許可,以供在使用者存取點根目錄內外存取檔案。