我想使用 LDAP 数据进行 DB2 中的身份验证过程。
我已经通过 PAM 配置了 DB2,以检索 ActiveDirectory 中的 NIS 服务器的信息。它完美适用于长度不超过 8 个字符的用户名。我遵循了此指示
$ db2 connect to sample user username using test-2014
Database Connection Information
Database server = DB2/LINUXX8664 9.7.9
SQL authorization ID = USERNAME
Local database alias = SAMPLE
然而,我对用户名较长的用户感到困扰。
$ db2 connect to sample user username123 using test-2014
SQL30082N Security processing failed with reason "24" ("USERNAME AND/OR
PASSWORD INVALID"). SQLSTATE=08001
我知道密码是正确的,而且似乎有一个*NIX 系统上的 DB2 限制
用户是在 ActiveDirectory 中定义的,无法更改用户名。但是,DB2 身份验证可以以任何方式配置,重要的是使用 ActiveDirectory 信息。
我能做什么? 是否有可能在 ActiveDirectory 中创建用户名别名?
username123 -> userna-1
我可以以不同的方式配置 PAM 来解决这个问题吗?
我正在使用 DB2 9.7 和 Active Directory 2008。我不想为 db2 创建自己的安全插件,而是使用透明 LDAP。
答案1
DB2 收到的用户名是 Windows 2000 之前的值。在这种情况下,ActiveDirectory 中可能有两个用户名
- 第一个用于正常使用。
- 另一个是为了与其他系统兼容,比如 DB2。