環境
LDAP : centos 6.4
openldap-2.4.23-32
postgres : postgres9.2
LDAPサーバ側作業
なし
前回作成したtestユーザを使用する。
postgresサーバ側作業
postgresql.conf
他のホストからの接続できるようにする。
# vi postgresql.conf
・・・ listen_addresses = '*' ・・・
# /etc/init.d/postgresql-9.2 restart
Stopping postgresql-9.2 service: [ OK ]
Starting postgresql-9.2 service: [ OK ]
# netstat -lanput | grep 5432
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 5574/postmaster tcp 0 0 :::5432 :::* LISTEN 5574/postmaster
↑0 0.0.0.0:5432になっていることを確認
pg_hba.conf
# "local" is for Unix domain socket connections only #local all all peer local all all ldap ldapserver=192.168.122.80 ldapprefix="uid=" ldapsuffix=", ou=a_1, ou=a, dc=cse, dc=com" # IPv4 local connections: #host all all 127.0.0.1/32 ident host all all 127.0.0.1/32 ldap ldapserver=192.168.122.80 ldapprefix="uid=" ldapsuffix=", ou=a_1, ou=a, dc=cse, dc=com" # IPv6 local connections: #host all all ::1/128 ident host all all ::1/128 ldap ldapserver=192.168.122.80 ldapprefix="uid=" ldapsuffix=", ou=a_1, ou=a, dc=cse, dc=com"
# /etc/init.d/postgresql-9.2 restart
Stopping postgresql-9.2 service: [ OK ]
Starting postgresql-9.2 service: [ OK ]
postgres でユーザを作成
# su - postgres
$ createuser -P test
$ createuser -U test -P testdb
正常確認
# psql -U test testdb
Password for user test: psql (9.2.4) Type "help" for help. testdb=>
ログインできたことを確認
ldapのログを確認
# tail -f /var/log/slapd.log
Aug 29 23:49:27 ldap slapd[1075]: conn=1241 fd=29 ACCEPT from IP=192.168.122.10:59384 (IP=0.0.0.0:389) Aug 29 23:49:27 ldap slapd[1075]: conn=1241 op=0 BIND dn="uid=test,ou=a_1,ou=a,dc=cse,dc=com" method=128 Aug 29 23:49:27 ldap slapd[1075]: conn=1241 op=0 BIND dn="uid=test,ou=a_1,ou=a,dc=cse,dc=com" mech=SIMPLE ssf=0 Aug 29 23:49:27 ldap slapd[1075]: conn=1241 op=0 RESULT tag=97 err=0 text= Aug 29 23:49:27 ldap slapd[1075]: conn=1241 op=1 UNBIND Aug 29 23:49:27 ldap slapd[1075]: conn=1241 fd=29 closed
正常にldap認証ができたことを確認できた。
以上
参考
postgres9.1~
http://www.postgresql.jp/document/9.1/html/auth-methods.html