Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

安全类型如何确定客户端访问级别

贡献者

客户端使用进行身份验证的安全类型在导出规则中起着特殊的作用。您必须了解安全类型如何确定客户端对卷或 qtree 的访问级别。

三种可能的访问级别如下:

  1. 只读

  2. 读写

  3. 超级用户(对于用户 ID 为 0 的客户端)

由于按安全类型评估访问级别的顺序,因此在导出规则中构建访问级别参数时,必须遵循以下规则:

客户端要获取访问级别 …​ 这些访问参数必须与客户端的安全类型匹配 …​

普通用户只读

只读 (-rorule

普通用户读写

只读 (-rorule)和读写 (-rwrule

超级用户只读

只读 (-rorule)和 -superuser

超级用户读写

只读 (-rorule)和读写 (-rwrule)和 -superuser

以下是这三个访问参数中每一个参数的有效安全类型:

  • any

  • none

  • never

    此安全类型不适用于 -superuser 参数。

  • krb5

  • krb5i

  • krb5p

  • ntlm

  • sys

根据三个访问参数中的每个参数匹配客户端的安全类型时,可能会出现以下三种结果:

客户端的安全类型 然后,客户端 …​

与访问参数中指定的值匹配。

使用自己的用户 ID 获取该级别的访问权限。

与指定的不匹配、但访问参数包括选项 none

获取该级别的访问权限、但作为用户ID由指定的匿名用户 -anon 参数。

与指定的不匹配、并且访问参数不包括选项 none

不会获取该级别的任何访问权限。这不适用于 -superuser 参数、因为它始终包括 none 即使未指定也是如此。

示例

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

  • -protocol nfs3

  • -clientmatch 10.1.16.0/255.255.255.0

  • -rorule any

  • -rwrule sys,krb5

  • -superuser krb5

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

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

客户端 3 的 IP 地址为 10.1.16.234 ,用户 ID 为 0 ,使用 NFSv3 协议发送访问请求,并且未进行身份验证( AUTH_NONE )。

客户端访问协议和 IP 地址与所有三个客户端匹配。只读参数允许对所有客户端进行只读访问,而不考虑安全类型。读写参数允许使用自己的用户 ID 并使用 AUTH_SYS 或 Kerberos v5 进行身份验证的客户端进行读写访问。超级用户参数允许超级用户访问用户 ID 为 0 并使用 Kerberos v5 进行身份验证的客户端。

因此,客户端 1 将获得超级用户读写访问权限,因为它与所有三个访问参数匹配。客户端 2 将获得读写访问权限,但不会获得超级用户访问权限。客户端 3 获得只读访问权限,但无超级用户访问权限。