

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

# 使用存取點強制採用根目錄
<a name="enforce-root-directory-access-point"></a>

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

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

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

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

## 建立存取點的根目錄
<a name="create-root-directory-access-point"></a>

如果檔案系統上不存在存取點的根目錄路徑，Amazon EFS 會使用擁有權和許可來自動建立根目錄。如果您在建立時未指定目錄擁有權和許可權，Amazon EFS 將不會建立根目錄。此方法可以為特定使用者或應用程式佈建檔案系統存取，而無需從 Linux 主機掛載檔案系統。如需建立根目錄，您可以在建立存取點時，使用下列屬性來設定根目錄擁有權和許可：
+ `OwnerUid`：用來做為根目錄擁有者的數字 POSIX 使用者 ID。
+ `OwnerGiD`：用來做為根目錄擁有者群組的數字 POSIX 群組 ID。
+ 許可：目錄的 Unix 模式。常見的組態是 755。確定已為存取點使用者設定執行位元，以便他們能夠掛載。此組態賦與目錄擁有者在目錄中輸入、列出和寫入新檔案的許可。也賦與所有其他使用者輸入和列出檔案的許可。如需使用 Unix 檔案和目錄模式的詳細資訊，請參閱 [網路檔案系統 (NFS) 層級的使用者、群組和許可](accessing-fs-nfs-permissions.md)。

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

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

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

## 存取點根目錄的安全模型
<a name="root-directory-security-access-point"></a>

當根目錄覆寫生效時，Amazon EFS 的表現就會跟啟用了 `no_subtree_check` 選項的 Linux NFS 伺服器一樣。

在 NFS 通訊協定中，伺服器會產生檔案控制點，用戶端在存取檔案時會使用此控制點作為唯一的參考。EFS 會安全地產生檔案控制點，EFS 檔案系統無法預測此控制點，且此控制點是 EFS 檔案系統所特有的。當根目錄覆寫就緒時，Amazon EFS 不會揭露指定根目錄外檔案的檔案控制代碼。不過，在某些情況下，使用者可能會透過頻外機制，取得其存取點以外之檔案的檔案控制點。例如，如果使用者可以存取第二個存取點，可能就會這麼做。如果使用者這麼做，他們可以對檔案執行讀取和寫入操作。

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