如何处理超级用户访问请求

配置导出策略时,您需要考虑在存储系统收到用户 ID 为 0(即超级用户)的客户端访问请求时,您希望发生什么情况,然后相应地设置导出规则。

在 UNIX 环境中,用户 ID 为 0 的用户称为超级用户(通常称为 root 用户),对系统具有无限制的访问权限。由于几个原因,使用超级用户权限可能不安全,包括违反系统和数据安全。

默认情况下,ONTAP 将用户 ID 为 0 的客户端映射到匿名用户。但是,您可以在导出规则中指定 - superuser 参数来确定如何根据安全类型处理用户 ID 为 0 的客户端。以下是 -superuser 参数的有效选项:

根据 -superuser 参数配置,有两种不同的方法处理用户 ID 为 0 的客户端:

如果 -superuser 参数和客户端安全类型 客户端结果
匹配 获取用户 ID 为 0 的超级用户访问。
不匹配 作为用户 ID 由 -anon 参数及其分配的权限指定的匿名用户获取访问。

这与只读或读写参数是否指定 none 选项无关。

如果用户 ID 为 0 的客户端访问采用 NTFS 安全模式的卷且 -superuser 参数设置为 none,则 ONTAP 使用匿名用户的名称映射来获取适当的凭据。

示例

导出策略包含具有以下参数的导出规则:

客户端 1 的 IP 地址为 10.1.16.207,用户 ID 为 746,使用 NFSv3 协议发送访问请求,并使用 Kerberos v5 进行身份验证。

客户端 2 的 IP 地址为 10.1.16.211,用户 ID 为 0,使用 NFSv3 协议发送访问请求,并使用 AUTH_SYS 进行身份验证。

这两个客户端的客户端访问协议和 IP 地址匹配。只读参数允许对所有客户端进行只读访问,而不考虑用于进行身份验证的安全类型。但是,只有客户端 1 将获取读写访问,因为它使用经批准的安全类型 Kerberos v5 进行身份验证。

客户端 2 不会获取超级用户访问。相反,由于未指定 -superuser 参数,因此它会被映射到匿名用户。这意味着它默认为 none,并自动将用户 ID 0 映射到匿名用户。客户端 2 也仅获取只读访问,因为其安全类型与读写参数不匹配。

示例

导出策略包含具有以下参数的导出规则:

客户端 1 的 IP 地址为 10.1.16.207,用户 ID 为 0,使用 NFSv3 协议发送访问请求,并使用 Kerberos v5 进行身份验证。

客户端 2 的 IP 地址为 10.1.16.211,用户 ID 为 0,使用 NFSv3 协议发送访问请求,并使用 AUTH_SYS 进行身份验证。

这两个客户端的客户端访问协议和 IP 地址匹配。只读参数允许对所有客户端进行只读访问,而不考虑用于进行身份验证的安全类型。但是,只有客户端 1 将获取读写访问,因为它使用经批准的安全类型 Kerberos v5 进行身份验证。客户端 2 不会获取读写访问。

导出规则允许对用户 ID 为 0 的客户端进行超级用户访问。客户端 1 将获取超级用户访问,因为它与用户 ID 以及只读参数和 -superuser 参数的安全类型匹配。客户端 2 不会获取读写或超级用户访问,因为其安全类型与读写参数或 -superuser 参数不匹配。相反,客户端 2 映射到匿名用户,本例中其用户 ID 为 0。