こんにちは、鯨井貴博@opensourcetechです。
本日は、OpenLDAPによるLDAPサーバの構築を紹介します。
なお、LDAPとはLightweight Directory Access Protocolという
ディレクトリサービスに接続する為の決まりです。
また、ディレクトリサービスとは、
ユーザー情報など様々な情報を一元管理する為の仕組みです。
※詳細は、ここでは割愛します。
①まずは、openldap・openldap-servers、openldap-clientsのインストール
yum install openldap openldap-servers openldap-clients
②OpenLDAPの設定
version2.3より前はslapd.confにおける設定をしましたが、
version2.3からはslapd.d/cn=configディレクトリ配下に
LDIF形式の設定が優先される方式が採用されています。
http://www.openldap.org/doc/admin24/slapdconf2.html
その為、slapd.confを使って設定を行う場合、
/usr/share/openldap-servers/slapd.conf.obsoleteを
/etc/openldap/slapd.confとしてコピーし、
slapd.dディレクトリをリネームする必要があります。
なお今回は、slapd.dディレクトリを使用する方法を紹介します。
まずは、
/etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldifにおいて、LDAP serverのadminのパスワードを設定します。
olcRootPW: secretを追加します。
※下の11行目で平文パスワードを設定しています。
adminのdnはcn=Manager,dc=my-domain,dc=com、
使用するsuffix(ドメイン)はdc=my-domain,dc=comがデフォルトとなっております。
③OpenLDAPの起動
/etc/init.d/slapd start
そして、
netstat -tanでTCP389ポートが解放されているか確認します。
④iptablesへの設定追加
iptables -L --line-numbersとすると、
INPUTチェインの5番目までにTCP389に関するルールを追加すればいいことが分かりますので、以下で追加します。
iptables -I INPUT 5 -p tcp --dport 389 --source アクセスネットワーク -j ACCEPT
※アクセスネットワークの部分は、192.168.1.0/24などに変更してください。
⑤LDIFファイルを作成し、
adminアカウント情報をDIT(Directory Information Tree)に追加します。
test1.ldifの内容
-------
dn: dc=my-domain,dc=com
objectClass: dcObject
objectClass: organization
o: my-domain
dc: my-domain
dn: cn=Manager,dc=my-domain,dc=com
objectClass: organizationalRole
cn: Manager
ldapadd -x -D "cn=Manager,dc=my-domain,dc=com" -W -f test1.ldif
⑦DITの確認
ldapsearch -x -D "cn=Manager,dc=my-domain,dc=com" -b "dc=my-domain,dc=com" -W