NFSv4 和ID映射

NFSv4 和ID 映射

介绍

ID 映射是将数字 UID 和 GID 向前和向后转换为用户名和组名(字符串)。 NFSv4 通过在线发送用户名和组名而不是数字 UID 和 GID 来引入 ID 映射。 NFSv3 使用数字 UID 和 GID。

现在可以禁用 NFS 客户端和服务器对 NFSv4 的 ID 映射的使用,从而导致使用数字 UID 和 GID。 在 RHEL 6 和更新版本的最新版本中,使用 AUTH_SYS 时可以禁用 ID 映射,但是,使用 AUTH_GSS 时需要 ID 映射。 例如,sec=krb5

如果尝试使用数字 UID 或 GID 失败,NFS 客户端将切换到用户名和组名。 这保留了与不接受数字 UID 和 GID 的 NFS 服务器的向后兼容性。

默认情况下,ID 映射由 NFS 服务器上的rpc.idmapdnfsidmap处理,或者由 NFS 客户端上的rpc.idmapd 处理。 有关更多详细信息,请参阅他们的手册页。

可以使用以下可调参数禁用 ID 映射:

* NFS client: /sys/module/nfs/parameters/nfs4_disable_idmapping

* NFS server: /sys/module/nfsd/parameters/nfs4_disable_idmapping

背景

协议有两个不同级别,我们指的是用户和组:

  • 每个 NFS 请求的 RPC 标头通过对 kerberos 凭证的引用(在 RPCSEC_GSS 情况下)或通过 UID、GID 和补充 GID 列表(在 AUTH_SYS 情况下)来标识谁正在执行该请求。 在 RPC 协议级别,可以设置有限的映射。 它也称为“ID 映射”,在exports(5) 的“用户ID 映射”部分中进行了描述。
  • 设置或获取文件所有者、文件组或 ACL 属性的 NFSv4 请求的负载必须引用用户和组。 他们可以使用 user@domain 形式的名称或(最近的)数字 ID。 NFSv2 和 NFSv3 始终使用数字 ID。

本文档侧重于 NFSv4 协议级别,而不是 RPC 协议级别。

在 NFS 客户端和 NFS 服务器之间同步 UID 仍然很重要,否则在 AUTH_SYS 挂载上新创建的文件的权限和所有者可能不正确。

时间线

RHEL 5

RHEL 6

NFS客户端
  • 在 RHEL 6.3(内核 2.6.32-279.el6)中,ID 映射在 NFS 客户端上默认为禁用。 即nfs4_disable_idmapping默认为“Y”。
  • 在 RHEL 6.3 之前,ID 映射需要 rpc.idmapd。 在 RHEL 6.3 中,nfs-utils-1.2.3-26.el6 中引入了 nfsidmap 和基于密钥环的 ID 映射。 在 RHEL 6.6 的 nfs-utils-1.2.3-54.el6 中修复了实施中的问题。 如果 RHEL 6.5 或更早版本需要 ID 映射,请使用 rpc.idmapd
NFS 服务器
  • 在 RHEL 6.5 (2.6.32-431.el6) 中,可以在 NFS 服务器上禁用 ID 映射。 但是,nfs4_disable_idmapping 默认为“N”。 内核 NFS 服务器维护者建议用户通过将 nfs4_disable_idmapping 设置为“Y”来禁用新 NFS 服务器上的 ID 映射。
  • NFS 服务器使用 rpc.idmapd 进行 ID 映射。

RHEL 7 and RHEL 8

  • 默认情况下,NFS 客户端和 NFS 服务器都禁用了 ID 映射。 即nfs4_disable_idmapping默认为“Y”
  • 对于 ID 映射,NFS Client 使用 nfsidmap,NFS Server 使用 rpc.idmapd
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值