CentOS 6.0にLDAP ServerをInstall, 設定
Subversionの認証にOpenLDAPを使おうと思って設定したときのMemo. 前にも書いたけど古いので書き直し。
環境はCentOS 6.0, OpenLDAP 2.4.19
参考にしたのは下記Site.
- OpenLDAP Software 2.4 Administrator's Guide: Configuring slapd
- LinuxでLDAPサーバを構築するには - @IT
- CentOS 5.4でLDAPサーバーの構築 - へたれプログラマの備忘録
- CentOS 6 - LDAPサーバー - LDAPサーバーの設定 : Server World
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 readsuffix "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の場合)。
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 >