你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

为 Azure 文件存储配置根 Squash

✔️ 适用于: 使用 Microsoft.Storage 资源提供程序创建的经典 NFS 文件共享

✔️ 适用于: 由 Microsoft.FileShares 资源提供程序创建的 NFS 文件共享

✖️ 不适用于: SMB 文件共享

客户端操作系统对 NFS 文件共享(而不是Azure 文件存储服务)强制实施权限。 根 Squash 是 NFS 中的一项管理安全功能,可防止客户端计算机对 NFS 服务器进行未经授权的根级别访问。 此功能是保护用户数据和系统设置免遭不受信任的或遭入侵的客户端操纵的重要一环。

管理员应该在多个用户或系统访问 NFS 共享的环境中启用根 Squash,特别是在客户端计算机不是完全受信任的情况下。 通过将根用户转换为匿名用户,根 Squash 可确保即使在客户端计算机遭入侵的情况下,攻击者也无法利用根权限访问或修改 NFS 服务器上的关键文件。

本文介绍如何配置和更改 NFS Azure 文件共享的根 Squash 设置。

如何将根 Squash 与 Azure 文件存储配合使用

Root squash 的工作原理是将 root 用户的用户 ID(UID)和组 ID(GID)重新映射为服务器上匿名用户所属的 UID 和 GID。 访问文件系统的根用户将自动转换为具有有限权限的匿名、低权限用户和组。

尽管根 Squash 是 NFS 中的默认行为,但它不是创建 NFS Azure 文件共享时的默认选项。 必须在文件共享上显式启用根 Squash。 可以在创建 NFS Azure 文件共享时执行此操作,也可以稍后这样做。

根 Squash 设置

从以下三种根压缩设置中进行选择:

  • “无根 Squash”:关闭根 Squash 功能。 此选项主要用于无盘客户端或工作负荷文档指定的工作负荷。 创建新 NFS Azure文件共享时,此设置是默认设置。
  • 全部 Squash:将所有 UID 和 GID 映射到匿名用户。 对需要所有客户端进行只读访问的共享使用此设置。
  • 根 Squash:将来自 UID/GID 0(根)的请求映射到匿名 UID/GID。 此设置不适用于其他可能同样敏感的 UID 或 GID,例如用户 bin 或组 staff。

下表重点说明了配置特定 root squash 选项时,服务器端表现出的 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)

对于使用 Microsoft.Storage 资源提供程序的 Azure 经典文件共享,可以通过 Azure 门户、Azure PowerShell 或 Azure CLI 配置 root squash 设置。

  1. 登录到Azure门户,转到包含 NFS Azure文件共享的 FileStorage 存储帐户。

  2. 在服务菜单中的 “数据存储”下,选择 “经典文件共享”。

  3. 选择您要更改根压缩设置的文件共享。

  4. 在服务菜单中,选择“属性”。 然后根据需要切换“根 Squash”设置。

    屏幕截图显示如何在 Azure 门户中为 NFS 文件共享配置根 Squash 设置。

  5. 选择“保存”以更新根 Squash 值。

在现有 NFS 文件共享上配置根压缩 (Microsoft.FileShares)

对于使用 Microsoft.FileShares 资源提供程序的 Azure 文件共享,可以通过 Azure 门户、Azure PowerShell 或 Azure CLI 配置 root squash 设置。

  1. 登录到 Azure 门户并转到文件共享。

  2. 在服务菜单中的“设置”下,选择“配置”。

  3. 根据需要切换根压缩设置。

    microsoft.fileshares 根压缩的图像

  4. 选择“保存”以更新根 Squash 值。

另请参阅