了解多协议环境中的名称映射
适用场景
- ONTAP 9
- NAS
问题解答
名称映射如何适用于访问 UNIX 安全样式资源的 NFS 客户端?
- 客户端将在 NFS 操作的 RPC 标题中发送 UID 和 GID 。
- 文件管理器将根据 NFS 操作的 RPC 标题中发送的 UID 和 GID 授予 / 拒绝访问权限。
注:在此过程中不会进行用户映射。ONTAP 不需要将传入用户映射到 Windows 用户, NFS 客户端就可以对 UNIX 安全模式资源执行操作。
当 NFS 客户端访问 NTFS 安全样式资源时、名称映射如何工作?
- 客户端将在 NFS 操作的 RPC 标题中发送 UID 和 GID 。
- 文件管理器将尝试通过 ns-switch (名称服务开关)中为 "passwd" 和 "group" 定义的源将 UID 和 GID 解析为各自的名称。
- 要了解ns-switch.conf中定义的源、请使用以下命令(可能的值包括:files/ldap/nis):
Cluster01::> vserver services name-service ns-switch show -vserver SVM01
- 如果将本地"文件"用于名称服务、则需要在SVM上为每个用户创建一个本地UNIX用户
Cluster01::> vserver services unix-user create -user tsmith -id 4219 -primary-gid 100 -full-name "Tom Smith" -vserver SVM01
- 要了解ns-switch.conf中定义的源、请使用以下命令(可能的值包括:files/ldap/nis):
- 接下来、存储器将尝试按以下顺序将解析的名称映射到有效的Windows用户:
- 显式名称映射—存储器将参考定义的显式名称映射规则,并对尝试访问的 UNIX 用户与存储器上的所有 "unix-win" 规则进行字符串比较。
查看显式名称映射规则:
Cluster01::> vserver name-mapping show -vserver SVM01 -direction unix-win
- 隐式名称映射—如果没有匹配的显式规则、则存储器将尝试隐式将UNIX用户映射到Windows用户。存储器将检查本地CIFS用户中是否存在匹配项、如果未找到匹配项、则检查下一个AD中是否存在匹配项。
示例: 存储器将尝试将UNIX用户"user01"映射到Windows用户"user01"。
同样,存储器将尝试在 Active Directory 中查找映射的 Windows 用户并提取该用户的凭据。
- 默认 Windows 用户—如果上述两种方法均失败(例如,存储器无法提取映射的 Windows 用户的凭据),则存储器会出于任何原因将 UNIX 用户映射到 NFS 服务器设置中定义的 " 默认 Windows 用户 " 。
要查看 NFS 服务器设置:Cluster01::> vserver nfs show -vserver SVM01 -fields default-win-user
注意:默认情况下,此选项为空
- 现在,存储器将根据从 Active Directory 提取的 Windows 凭据授予 / 拒绝对 UNIX 用户的访问权限。
注意: 由于资源采用 NTFS 安全模式,因此会对 Windows 凭据授予 / 拒绝访问权限。
当 CIFS 客户端访问 UNIX 安全样式资源时、名称映射如何工作?
- 用户已通过域验证、文件管理器需要为每个新创建的 CIFS 会话创建用户凭据。
- 存储器将尝试按以下顺序将 Windows 用户映射到 UNIX 用户:
- 显式名称映射—存储器将参考定义的显式名称映射规则,并对尝试访问的 Windows 用户与存储器上的所有 "win-unix" 规则进行字符串比较。
要查看显式名称映射规则:Cluster01::> vserver name-mapping show -vserver SVM01 -direction win-unix
如果规则匹配,则存储器将尝试通过 ns-switch 中定义的源查找映射的 UNIX 用户的 UID 和 GID ,如前文所述。
- 隐式名称映射—如果没有匹配的显式规则,则存储器将尝试隐式将 UNIX 用户映射到 Windows 用户。
示例: 存储器将尝试
再次将 Windows 用户 "omain\user01 映射到 UNIX 用户 "user01" ,存储器将尝试通过 ns-switch 中定义的源查找 UNIX 用户的 UID 和 GID 。
- 默认 UNIX 用户—如果上述两种方法均失败(例如,存储器无法为映射的 UNIX 用户提取 UID 和 GID ),则存储器会出于任何原因将 Windows 用户映射到 CIFS 服务器选项中定义的 " 默认 UNIX 用户 " 。
要查看 CIFS 服务器选项:Cluster01::> vserver cifs options show -vserver SVM01 -fields default-unix-user
注意:默认情况下,此选项设置为 "PCUser" ( UID 65534 )。
- 存储器将根据映射的 UNIX 用户的 UID 和 GID 授予 / 拒绝对 Windows 用户的访问权限,此访问权限是通过上述方法之一提取的。
注意: 访问权限是根据 UNIX 用户的 UID 和 GID 授予 / 拒绝的,因为资源已设置为 UNIX 安全模式。
当 CIFS 客户端访问 NTFS 安全样式资源时、名称映射如何工作?
- 用户已通过域验证、文件管理器需要为每个新创建的 CIFS 会话创建用户凭据。
- 存储器将尝试按以下顺序将 Windows 用户映射到 UNIX 用户:
- 显式名称映射—存储器将参考定义的显式名称映射规则,并对尝试访问的 Windows 用户与存储器上的所有 "win-unix" 规则进行字符串比较。
查看显式名称映射规则:
Cluster01::> vserver name-mapping show -vserver SVM01 -direction win-unix
如果规则匹配,则存储器将尝试通过 ns-switch 中定义的源查找映射的 UNIX 用户的 UID 和 GID ,如前面所述。
- 隐式名称映射—如果没有匹配的显式规则,则存储器将尝试隐式将 UNIX 用户映射到 Windows 用户。
示例: 存储器将尝试
再次将 Windows 用户 "omain\user01 映射到 UNIX 用户 "user01" ,存储器将尝试通过 ns-switch 中定义的源查找 UNIX 用户的 UID 和 GID 。
- 默认 UNIX 用户—如果上述两种方法均失败(例如,存储器无法为映射的 UNIX 用户提取 UID 和 GID ),则无论出于任何原因,存储器都会将 Windows 用户映射到 CIFS 服务器选项中定义的 " 默认 UNIX 用户 " 。
要查看 CIFS 服务器选项:Cluster01::> vserver cifs options show -vserver SVM01 -fields default-unix-user
注意:默认情况下,此选项设置为 "PCUser" ( UID 65534 )。
- 存储器将根据我们从上述方法中提取的 Windows 凭据授予 / 拒绝对 Windows 用户的访问权限。
追加信息
- 如何创建和了解Vserver名称映射规则
- 以下是一个示例场景:
- UID 1057由客户端发送到ONTAP。
- ONTAP将UID 1057解析为Unix用户"bob"
- ONTAP会检查名称映射条目。
- 如果ONTAP找到模式为"bob"的Unix到Windows名称映射条目(假设它找到了"bob=domain\robert")、则UID和AD帐户会在连接期间链接在一起、因此、当NFS连接由UID 1057使用时、 对NTFS安全位置的文件级访问权限取决于所链接的AD帐户。
- 如果ONTAP在名称映射表中找不到模式为"bob"的条目、则会假定为"bob=domain\bob"、并检查AD中是否存在名为bob的帐户。
- 如果找到帐户、则会根据AD帐户"domain\bob"授予UID 1057访问权限
- 如果未找到显式名称映射、而隐式名称映射也会失败、则NFS服务器设置中会为"default windows user (默认Windows用户)"提供一个选项、此选项将是最后一次尝试将解析为bob的UID链接到回退AD帐户、例如"domain\guest (域\来宾)"、 但是、此设置通常留空、因为ONTAP不需要使用它进行NFS访问。
- 在建立CIFS/SMB连接并尝试访问Unix安全模式位置时、也会执行此过程。
- 唯一的区别是、需要将"default UNIX user"(默认UNIX用户)的CIFS服务器选项填充到ONTAP可以在本地或在NIS/LDAP中查找的Unix帐户。
- 此要求与以下事实相关:ONTAP在Unix上运行、并要求通过Unix UID建立/跟踪所有连接、即使我们不使用名称映射的UNIX帐户来确定文件级访问。