web-dev-qa-db-ja.com

postgresqlLDAP認証

PostgresqlデータベースにLDAP認証を与えようとしています。

これが私のpg_hba.conf設定ファイルです

local all all md5
local all postgres md5
Host  all all   0.0.0.0/0 ldap ldapserver=myldap_serverip ldapprefix="cn=" ldapsuffix=", ou=users, dc=example, dc=hyd, dc=com"

しかし、testというLDAPユーザーの1人と接続しようとすると、次のエラーが発生します。

psql -U test
Password for user test:
psql: FATAL:  password authentication failed for user "test"

注:postgresqlでテストユーザーを作成しました。

以下の検索を実行しましたが、機能しています

ldapsearch -W -D "cn=test user,ou=users,dc=example,dc=hyd,dc=com" -b "dc=example,dc=hyd,dc=com" "uid=test"
2
bhanu

Postgresが構築するものとは異なるdnでLDAPバインドをテストしているようです。

cn=test user,ou=users,dc=example,dc=hyd,dc=com

vs

"cn=" + "test" + ", ou=users, dc=example, dc=hyd, dc=com"

つまり、「テスト」が「テストユーザー」と一致しません

2
ptman