VPLEX:MMCS/管理服务器在成功登录 LDAP 后显示错误的用户
摘要: 本文旨在解决 MMCS (VS6) 或管理服务器 (VS2) 上 UNIX/Linux shell 的轻型目录访问协议 (LDAP) 登录问题。成功登录 LDAP 后,显示的用户与输入其凭据的用户不同。
症状
成功登录 LDAP 后,管理服务器或 MMCS 显示错误的用户。
假设:
- 终端用户使用 Windows Server 2008/2012/2016 Active Directory (AD) 进行 LDAP 身份验证。
- 终端用户已具有有效的 LDAP 配置,其中 Active Directory 用户帐户可以使用 LDAP 进行身份验证以登录到 VPLEX。
- 管理服务器/MMCS 设置为“vplexuser” 基于角色的访问类型帐户提供了 shell 访问权限。通常,VPLEX 访问的 LDAP 用户会分配有默认角色“vplexuser”。
提醒:《VPLEX GeoSynchrony [版本] 管理指南》中更详细地介绍了此信息,并在标题为“管理用户帐户”的部分的“查看或修改用户帐户详细信息”小节下,提供了有关如何为 vplexuser 角色启用 shell 访问权限的说明。《VPLEX 安全配置指南》提供了有关使用基于角色的访问权限分配角色和权限的更多信息。
示例:
来自服务器的键盘交互式身份验证提示:
密码:
jane.doe@ManagementServer:~ whoami
jane.doe
注意:在上面的示例中,终端用户尝试使用 AD 用户“john.smith”登录到 VPLEX。但是,成功登录后,用户帐户将切换到“jane.doe”,这不是预期行为。预期输出应列出“john.smith”而不是“jane.doe”。
原因
一个或多个 Active Directory (AD) 用户帐户中的对象属性“uidNumber”存在现有的重复值(非唯一值)。因此,这会导致经过身份验证的用户切换到列出“uidNumber”的第一个 AD 帐户。
解决方案
确保 AD 用户帐户具有为 uidNumber 和 gidNumber 设置的唯一值,以便域上的任何其他 AD 用户帐户不具有相同的 uidNumber 或 gidNumber。
uidNumber 和 gidNumber 可能具有相同的 ID,但由于 ID 是在不同的属性中设置的,因此 AD 用户帐户不会发生冲突。
其他信息
UNIX/Linux 命令 'ldapsearch' 可用于对 AD 用户帐户属性进行故障处理以确定为对象属性 uidNumber 和 gidNumber 呈现的值,以便可以根据需要检查和更正重复值。
| 用法: | ldapsearch -x -LLL -h <LDAP 服务器> 的 IP 地址 -b “<Base DN”> -D “<Bind DN>” -W “(cn=User Name)” uidNumber gidNumber |
|
LDAP 登录失败 |
使用现有 AD 帐户“john.smith”对 VPLEX 进行 LDAP 身份验证失败,但在成功登录后,登录时会显示另一个用户“jane.doe”。 示例:
|
| 成功的
LDAP 登录 |
使用现有 AD 帐户“johnny.appleseed”成功向 VPLEX 进行 LDAP 身份验证,成功登录后会显示正确的用户。
示例:
登录身份为: johnny.appleseed 使用键盘交互式身份验证。 密码: Johnny.AppleSeed@ManagementServer:~>Whoami Johnny.Appleseed |
| 运行 ldapsearch
|
在现有 AD 帐户“john.smith”上运行 ldapsearch 显示 uidNumber 和 gidNumber 均设置为 10000。
示例:
service@ManagementServer:~> ldapsearch -x -LLL -h 192.168.100.200 -b “DC=vplexlab,DC=com” -D “CN=VPLEX Bind,OU=VPLEXLAB Accounts,DC=vplexlab,DC=com” -W “(cn=John Smith)” uidNumber gidNumber Enter LDAP Password: 域名:CN=John Smith,OU=Users,OU=VPLEXLAB Accounts,DC=vplexlab,DC=com uidNumber:10000 gidNumber:10000 service@ManagementServer:~> 在现有 AD 帐户“jane.doe”上运行 ldapsearch 显示 uidNumber 和 gidNumber 均设置为 10000,其中包含来自现有 AD 帐户“john.smith”的 uidNumber 和 gidNumber 的重复值。
示例:
service@ManagementServer:~> ldapsearch -x -LLL -h 192.168.100.200 -b “DC=vplexlab,DC=com” -D “CN=VPLEX Bind,OU=VPLEXLAB Accounts,DC=vplexlab,DC=com” -W “(cn=Jane Doe)” uidNumber gidNumber Enter LDAP Password: 域名:CN=Jane Doe,OU=Users,OU=VPLEXLAB Accounts,DC=vplexlab,DC=com uidNumber:10000 gidNumber:10000 service@ManagementServer:~> 在现有 AD 帐户“johnny.appleseed”上运行 ldapsearch 显示 uidNumber 和 gidNumber 都设置为 10025,这与 AD 帐户“john.smith”和“jane.doe”以及其他 AD 帐户有独一无二的区别。
示例:
service@ManagementServer:~> ldapsearch -x -LLL -h 192.168.100.200 -b “DC=vplexlab,DC=com” -D “CN=VPLEX Bind,OU=VPLEXLAB Accounts,DC=vplexlab,DC=com” -W “(cn=Johnny Appleseed)” uidNumber gidNumber Enter LDAP Password: 域名:CN=Johnny Appleseed,OU=Users,OU=VPLEXLAB Accounts,DC=vplexlab,DC=com uidNumber:10025 gidNumber:10025 service@ManagementServer:~> |
有关 LDAP 概览的更多信息,请参阅以下外部 Oracle 文章:
有关 uidNumber 和 gidNumber 的 UNIX 用户对象属性的详细信息,请参阅以下外部文章:
有关 Linux/UNIX 命令 ldapsearch 的更多信息和用法示例,请参阅以下外部文章:
有关 Active Directory 架构的更多信息,请参阅以下外部 MS 文章:
有关如何创建 Active Directory 用户帐户的详细信息,请参阅以下外部文章: