CentOS 6.0にLDAP ServerをInstall, 設定

Subversionの認証にOpenLDAPを使おうと思って設定したときのMemo. 前にも書いたけど古いので書き直し。

LDAPworm環境はCentOS 6.0, OpenLDAP 2.4.19


参考にしたのは下記Site.

 


1. Install, 設定

Installはyum経由で
# yum install openldap openldap-servers openldap-clients

管理者用Passwordを生成。
# slappasswd

生成されたPasswordをMemoっておく。次は設定Fileの編集。
# cd /etc/openldap/
# cp slapd.conf.bak slapd.conf
# vi slapd.conf

access to *
        by dn="cn=Manager,o=hoge,dc=com,c=sg" write
        by self write
        by users read

suffix      "o=hoge,dc=com,c=sg"
rootdn     "cn=Manager,o=hoge,dc=com,c=sg"
rootpw     {SSHA}U2cQrzA1a(←生成した管理者用Password)

# allow onlu rootdn to read the monitor
access to *
        by dn.exact="cn=Manager,o=hoge,dc=com,c=sg" read
        by * none

openldap-clientsの設定
# vi ldap.conf

BASE    o=hoge, dc=com, c=sg
URI     ldap://127.0.0.1/

設定FileのTest
# slaptest

bdb_db_open: warning - no DB_CONFIG file found in directory /var/lib/ldap:

Warningが出るのでDB_CONFIGをCopy. Owner権限も変更
# cp /usr/share/doc/openldap-servers-2.4.19/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
# chown ldap. /var/lib/ldap/*

 


2. 設定Fileを変換

OpenLDAP 2.4からはslap.dの下にTree構造で設定Fileを格納するようになったので、slapd.confを変換。
# mv slapd.d slapd.d.bak
# mkdir slapd.d
# chown ldap. slapd.d
# slaptest -f slapd.conf -F slapd.d
# chown ldap. -R slapd.d/

LDAP Server起動して、自動起動するようにも登録しておく。
# /etc/rc.d/init.d/slapd start
# chkconfig slapd on

試しに検索してみる。
# ldapsearch -vxb '' -s base +

 


3. LDAPに登録

まずは次のような簡単な構成で登録
# vim top.ldif

# Domain
dn: o=hoge,dc=com,c=sg
objectClass: top
objectClass: organization
o: hoge

# Group
dn: ou=group,o=hoge,dc=com,c=sg
objectClass: organizationalUnit
ou: Group

# People
dn: ou=people,o=hoge,dc=com,c=sg
objectClass: organizationalUnit
ou: people

登録内容を確認するときは
# slapcat

これをLDAPに登録
# ldapadd -x -D "cn=Manager,o=hoge,dc=com,c=sg" -W -f top.ldif

登録出来たか確認
# slapcat

削除するときはTree構造の下から削除する必要がある。
# ldapdelete -x -D "cn=Manager,o=hoge,dc=com,c=sg" -W "ou=people,o=hoge,dc=com,c=sg"
# ldapdelete -x -D "cn=Manager,o=hoge,dc=com,c=sg" -W "ou=group,o=hoge,dc=com,c=sg"
# ldapdelete -x -D "cn=Manager,o=hoge,dc=com,c=sg" -W "o=hoge,dc=com,c=sg"

ただ、削除してたらslapdが強制終了してた。startしても起動しないので下記CommandでRecover
# slapd_db_recover -h /var/lib/ldap/

これで無事起動出来るようになった。

 


4. LDAP Adminを使って登録

ここまで来たらLDAP Adminを使うと楽(Windowsの場合)。

image

image

 


5. Firewall(Security)の設定

最後に外部からの問い合わせは遮断したいので、hosts.allowとhosts.denyを修正
# vim /etc/hosts.allow

slapd: 127.0.0.1 192.168.

# vim /etc/hosts.deny

slapd: ALL

Firewallの設定も忘れずに
# system-config-firewall-tui

Port / Port Range: 389
Protocol: tcp

 

< Related Posts >