此功能是 Solaris Express 8/04 发行版中的新增功能,并在 Solaris 10 3/05 发行版中进行了更新。
在 NFS 版本 4 中,nfsmapid 守护进程提供了从数字用户标识 (UID) 或数字组标识 (GID) 到字符串表示间的相互映射。NFS 版本 4 协议使用字符串表示来代表 owner 或 owner_group。
例如,在名为 system.anydomain.com 的客户机上执行操作的用户 known_user 的 UID 123456 将被映射到 known_user@anydomain.com。NFS 客户机将字符串表示 known_user@anydomain.com 发送给 NFS 服务器。NFS 服务器将字符串表示 known_user@anydomain.com 映射到唯一的 UID 123456。nfsmapid 使用 /etc/nsswitch.conf 文件中的 passwd 和 group 项来确定执行映射时要参考的数据库。
要正常使用 nfsmapid,NFS 版本 4 上的客户机和服务器必须有相同的域。要确保客户机和服务器有相同的域,nfsmapid 将按以下严格的优先级规则来配置域:
守护进程先检查 /etc/default/nfs 文件中已指定给 NFSMAPID_DOMAIN 关键字的值。如果找到了值,则指定的值将优先于其他任何设置。分配的值被附加到传出属性字符串上,并与传入属性字符串进行比较。
如果没有向 NFSMAPID_DOMAIN 分配任何值,则守护进程将根据 DNS 名称服务器上的 DNS TXT 记录检查域名。要查找特定的 DNS 记录,nfsmapid 将利用 resolv.conf(4) 配置文件。
如果没有提供域名的 DNS TXT 记录,则 nfsmapid 守护进程在缺省情况下使用本地 DNS 域。
请优先使用 DNS TXT 记录。在 DNS 服务器上配置 _nfsv4idmapdomain TXT 记录,DNS 服务器为 NFS 版本 4 客户机和服务器提供域。TXT 记录为缩放问题提供更好的支持,并提供了单一的控制点。
如果网络包括多个 DNS 域,但是只有一个 UID 和 GID 名称空间,则所有的客户机都必须使用同一 NFSMAPID_DOMAIN 值。对于使用 DNS 的站点,nfsmapid 通过从您分配给 _nfsv4idmapdomain 的值中获取域名来解决此问题。如果未配置网络以使用 DNS,那么在初次引导系统时,Solaris OS 将使用 sysidconfig(1M) 实用程序为 NFS 版本 4 域名提供提示信息。
有关更多信息,请参见 nfsmapid(1M) 和 sysidtool(1M) 手册页。另请参见《系统管理指南:网络服务》。