用戶端作業系統會強制 NFS 檔案共用的權限,而非由 Azure 檔案儲存體服務。 根壓縮是 NFS 中的系統管理安全性功能,可防止由用戶端機器對 NFS 伺服器未經授權的根層級存取。 這項功能是保護使用者資料和系統設定免遭未受信任或遭入侵用戶端操作的重要部分。。
系統管理員應在多個使用者或系統存取 NFS 共用的環境中啟用根壓縮,特別是在用戶端機器未受完全信任的案例中。 藉由將根使用者轉換成匿名使用者,根壓縮可確保即使用戶端機器遭到入侵,攻擊者也無法惡意探索根權限,來存取或修改 NFS 伺服器上的重要檔案。
在本文中,您會了解如何設定及變更 NFS Azure 檔案共用的根壓縮設定。
適用於
| 管理模型 | 計費模型 | 媒體分層 | 冗餘性 | SMB | NFS |
|---|---|---|---|---|---|
| Microsoft.FileShares | 已佈建的 v2 | SSD (進階版) | 本地 (LRS) |
|
|
| Microsoft.FileShares | 已佈建的 v2 | SSD (進階版) | 區域 (ZRS) |
|
|
| Microsoft 儲存服務 | 已佈建的 v2 | HDD (標準) | 本地 (LRS) |
|
|
| Microsoft 儲存服務 | 已佈建的 v2 | HDD (標準) | 區域 (ZRS) |
|
|
| Microsoft 儲存服務 | 已佈建的 v2 | HDD (標準) | 異地 (GRS) |
|
|
| Microsoft 儲存服務 | 已佈建的 v2 | HDD (標準) | GeoZone (GZRS) |
|
|
| Microsoft 儲存服務 | 已佈建的 v1 | SSD (進階版) | 本地 (LRS) |
|
|
| Microsoft 儲存服務 | 已佈建的 v1 | SSD (進階版) | 區域 (ZRS) |
|
|
| Microsoft 儲存服務 | 隨用隨付 | HDD (標準) | 本地 (LRS) |
|
|
| Microsoft 儲存服務 | 隨用隨付 | HDD (標準) | 區域 (ZRS) |
|
|
| Microsoft 儲存服務 | 隨用隨付 | HDD (標準) | 異地 (GRS) |
|
|
| Microsoft 儲存服務 | 隨用隨付 | HDD (標準) | GeoZone (GZRS) |
|
|
根壓縮如何搭配 Azure 檔案儲存體使用
根壓縮的運作是將根使用者的使用者識別碼 (UID) 和群組識別碼 (GID) 重新對應至伺服器上屬於匿名使用者的 UID 和 GID。 存取檔案系統的根使用者會自動轉換為具有限制權限的匿名、較低權限的使用者/群組。
儘管根擠壓是 NFS 中的預設行為,但在建立 NFS Azure 檔案共享時,其並非預設選項。 您必須在檔案共用上明確啟用根擠壓。 您可以在建立 NFS Azure 檔案共用時或稍後執行此動作。
根壓縮設定
您可以從三個根壓縮設定中進行選擇:
- 沒有根壁球:關閉根壁球。 此選項主要適用於無磁碟用戶端或工作負載文件所指定的工作負載。 這是在建立新的 NFS Azure 檔案共用時的預設設定。
- 所有壓縮:將所有 UID 和 GID 對應至匿名使用者。 適用於需要所有用戶端唯讀存取的共用。
- 根壓縮:將 UID/GID 0 (root) 的要求對應至匿名 UID/GID。 這不適用於可能同樣具敏感性的任何其他 UID 或 GID,例如使用者間隔或群組員工。
下表醒目提示當設定特定根壓縮選項時,伺服器觀察到的 UID 行為。
| 選項 | 用戶端 UID | 伺服器 UID |
|---|---|---|
| root_squash | 0 | 65534 |
| root_squash | 1000 | 1000 |
| no_root_squash | 0 | 0 |
| no_root_squash | 1000 | 1000 |
| all_squash | 0 | 65534 |
| all_squash | 1000 | 65534 |
在現有的 NFS 檔案共用 (Microsoft.Storage) 上設定根壓縮
您可以透過 Azure 入口網站、Azure PowerShell 或 Azure CLI 來設定根壓縮設定。
在現有的 NFS 檔案共用 (Microsoft.FileShares) 上設定根壓縮
您可以透過 Azure 入口網站在現有的 NFS 檔案共用 (Microsoft.FileShares) 上設定根壓縮設定。
登入 Azure 入口網站,然後瀏覽至檔案共用。
在服務功能表的 [設定] 底下,選取 [組態]。
視需要切換根壓縮設定。
選取 [儲存] 以更新根壓縮值。