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

了解“允许使用 LDAP 的 本地 NFS 用户”选项,并了解在 Azure NetApp 文件中使用 LDAP 的名称映射

当用户尝试通过 NFS 访问 Azure NetApp 文件卷时,请求将采用数字 ID。 默认情况下,Azure NetApp 文件支持 NFS 用户的扩展组成员身份(超出标准的 16 组上限)。 因此,Azure NetApp 文件将尝试获取该数字 ID 并在轻型目录访问协议 (LDAP) 中查找它,以尝试解析用户的组成员身份,而不是在 RPC 数据包中传递组成员身份。 由于此行为,如果无法将该数字 ID 解析为 LDAP 中的用户,则查找将失败并拒绝访问。 即使请求用户有权访问卷或数据结构,也会发生此拒绝。

Active Directory 连接中“允许使用 LDAP 的本地 NFS 用户”选项旨在通过禁用扩展组功能来对这些 NFS 请求禁用 LDAP 查找。 它不提供 Azure NetApp 文件中的“本地用户创建/管理”。

启用“允许具有 LDAP 的本地 NFS 用户”选项时,数字 ID 将传递到 Azure NetApp 文件,并且不会发生 LDAP 查找。 这会为不同的方案创建不同的行为,如下所示。

具有 UNIX 安全样式卷的 NFSv3

不需要将数字 ID 转换为用户名。 “允许具有 LDAP 的本地 NFS 用户”选项不影响对卷的访问。 它可能会影响用户/组所有权(名称转换)在 NFS 客户端上显示的方式。 例如,如果数字 ID 1001 是 LDAP 中的 user1,但在 NFS 客户端的本地 passwd 文件中为 user2,则当数字 ID 为 1001 时,客户端将显示“user2”为文件的所有者。

具有 UNIX 安全样式卷的 NFSv4.1

不需要将数字 ID 转换为用户名。 默认情况下,NFSv4.1 使用名称字符串 (user@CONTOSO.COM) 进行身份验证。 但是,Azure NetApp 文件支持将数字 ID 与 NFSV4.1 配合使用,这意味着 NFSv4.1 请求将携带数字 ID 到达 NFS 服务器。 如果本地文件或 Azure NetApp 文件卷的 LDAP 等名称服务中不存在用户名转换的数字 ID,则会将数字呈现给客户端。 如果数字 ID 转换为用户名,则将使用名称字符串。 如果名称字符串不匹配,客户端会将该名称转换为客户端 idmapd.conf 文件中指定的匿名用户。 启用“允许具有 LDAP 的本地 NFS 用户”选项不会影响 NFSv4.1 访问。 除非 Azure NetApp 文件可以将数字 ID 解析为其本地 NFS 用户数据库中的用户名,否则访问将回退到标准 NFSv3 行为。 Azure NetApp 文件具有一组默认的 UNIX 用户,对于一些客户端,如果域 ID 字符串不匹配,这些用户可能会引发问题,并将转换为“nobody”用户。

  • 本地用户包括:root (0)、pcuser (65534)、nobody (65535)。
  • 本地组包括:root (0)、daemon (1)、pcuser (65534)、nobody (65535)。

最常见的情况是,当 NFSv4.1 域 ID 配置错误时,根可能会在 NFSv4.1 客户端装载中错误地显示。 有关 NFSv4.1 ID 域的详细信息,请参阅“为 Azure NetApp 文件配置 NFSv4.1 ID 域”。

可以使用名称字符串或数字 ID 配置 NFSv4.1 ACL。 如果使用数字 ID,则无需进行名称转换。 如果使用名称字符串,则正确的 ACL 解析需要进行名称转换。 使用 NFSv4.1 ACL 时,启用“允许具有 LDAP 的本地 NFS 用户”可能会导致 NFSv4.1 ACL 行为不正确,具体取决于 ACL 配置。

采用双协议配置的 NTFS 安全样式卷的 NFS(NFSv3 和 NFSv4.1)

UNIX 安全样式卷利用 UNIX 样式权限(模式位和 NFSv4.1 ACL)。 对于这些类型的卷,NFS 仅利用基于数字 ID 或名称字符串的 UNIX 样式身份验证,具体取决于上面列出的场景。

但是,NTFS 安全样式卷会使用 NTFS 样式权限。 这些权限是使用 Windows 用户和组分配的。 当 NFS 用户尝试使用 NTFS 样式权限访问卷时,必须发生 UNIX 到 Windows 的名称映射,才能确保实现正确的访问控制。 在此场景中,NFS 数字 ID 仍会传递到 Azure NetApp 文件 NFS 卷,但需要将数字 ID 转换为 UNIX 用户名,以便将其映射到 Windows 用户名进行初始身份验证。 例如,如果数字 ID 1001 尝试使用允许访问 Windows 用户“user1”的 NTFS 安全样式权限来访问 NFS 装载,则需要在 LDAP 中将 1001 解析为“user1”用户名,才能获得预期的访问权限。 如果 LDAP 中不存在数字 ID 为“1001”的用户,或 LDAP 配置错误,则 UNIX 到 Windows 名称映射将通过 1001@contoso.com 完成该尝试。 大多数情况下,具有该名称的用户不存在。 因此,身份验证将会失败并拒绝访问。 同样,如果数字 ID 1001 解析为错误的用户名(如 user2),则 NFS 请求将映射到不正确的 Windows 用户(在此方案中,将 user1 的访问权限授予了 user2)。

启用“允许具有 LDAP 的本地 NFS 用户”选项会禁用将数字 ID 转换为用户名的所有 LDAP 转换。 此操作可有效地中断对 NTFS 安全样式卷的访问。 因此,不建议将此选项用于 NTFS 安全样式卷。

后续步骤