Problem:
After the Centrify DB2 username/password plugin is configured on a Red Hat 8.2 host machine, when a local user connects to the database, the following error is seen in the shell:
SQL30082N Security processing failed with reason "24" ("USERNAME AND/OR PASSWORD INVALID"). SQLSTATE=08001
The following error can also be seen in the centrifydc.log debug log:
adclient[1706129]: DEBUG <fd:18 CAPIAuthValidatePlainTextUserNonCDC2 > util.cmdexec '/usr/share/centrifydc/sbin/cdc_chkpwd' exited with status 2
adclient[1706129]: DEBUG <fd:18 CAPIAuthValidatePlainTextUserNonCDC2 > base.except Module=Base : Invalid credential to do non-cdc authentication for user: db2locu2. (reference ipcclient.cpp:291 rc: 1030)
adclient[1706129]: DEBUG <fd:18 CAPIAuthValidatePlainTextUserNonCDC2 > base.except Module=Base : Invalid credential to do non-cdc authentication for user: db2locu2. (rc: 1030)
adclient[1706129]: DEBUG <fd:18 CAPIAuthValidatePlainTextUserNonCDC2 > daemon.ipcclient2 request 'CAPIAuthValidatePlainTextUserNonCDC2' complete
Cause:
The Centrify supplied command, /usr/share/centrifydc/sbin/cdc_ckhkpwd, requires the Centrify kerberos libraries. The error occurs when Centrify libraries are not first in the LD_LIBRARY_PATH.
Workaround:
1) Login as root
2) Rename "/usr/share/centrifydc/sbin/cdc_chkpwd" to "/usr/share/centrifydc/sbin/cdc_chkpwd.orig"
3) Add a wrapper script /usr/share/centrifydc/sbin/cdc_chkpwd. For Linux x86_64:
#!/bin/sh
LD_LIBRARY_PATH=/usr/share/centrifydc/lib64:/usr/share/centrifydc/kerberos/lib64
export LD_LIBRARY_PATH
exec /usr/share/centrifydc/sbin/cdc_chkpwd.orig
4) Change the permissions of the wrapper script to 0755
Solution:
This issue will be addressed in Centrify Authentication Service (adclient) release 2020.1