安全类型如何确定客户端访问级别
客户端使用进行身份验证的安全类型在导出规则中起着特殊的作用。您必须了解安全类型如何确定客户端对卷或 qtree 的访问级别。
三种可能的访问级别如下:
-
只读
-
读写
-
超级用户(对于用户 ID 为 0 的客户端)
由于按安全类型评估访问级别的顺序,因此在导出规则中构建访问级别参数时,必须遵循以下规则:
客户端要获取访问级别 … | 这些访问参数必须与客户端的安全类型匹配 … |
---|---|
普通用户只读 |
只读 ( |
普通用户读写 |
只读 ( |
超级用户只读 |
只读 ( |
超级用户读写 |
只读 ( |
以下是这三个访问参数中每一个参数的有效安全类型:
-
any
-
none
-
never
此安全类型不适用于
-superuser
参数。 -
krb5
-
krb5i
-
krb5p
-
ntlm
-
sys
根据三个访问参数中的每个参数匹配客户端的安全类型时,可能会出现以下三种结果:
客户端的安全类型 | 然后,客户端 … |
---|---|
与访问参数中指定的值匹配。 |
使用自己的用户 ID 获取该级别的访问权限。 |
与指定的不匹配、但访问参数包括选项 |
获取该级别的访问权限、但作为用户ID由指定的匿名用户 |
与指定的不匹配、并且访问参数不包括选项 |
不会获取该级别的任何访问权限。这不适用于 |
导出策略包含具有以下参数的导出规则:
-
-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 获得只读访问权限,但无超级用户访问权限。