LDAPサーバの設定と管理ツール

Vine LinuxにLDAPサーバをインストールしたときのメモ。

インストールはおとなしくaptを使ってインストール

# apt-get install openldap
# apt-get install openldap-servers
# apt-get install openldap-clients

次は設定ファイルを記述。/etc/ldap.confと/etc/openldap/ldap.confがあるけど
/etc/ldap.confはldapに接続するため(openldap-clients)の設定ファイル
/etc/openldap/ldap.confはLDAPサーバの設定ファイル
だと思う・・・。

設定ファイルの記述方法はこことかここを参考に。

ちなみに私の設定例はこんな感じ。

ldap.conf

HOST 127.0.0.1
BASE o=exbridge,c=JP

slapd.conf

include        /etc/openldap/schema/core.schema
include        /etc/openldap/schema/cosine.schema
include        /etc/openldap/schema/inetorgperson.schema
include        /etc/openldap/schema/nis.schema
include        /etc/openldap/schema/vine/autofs.schema
include        /etc/openldap/schema/vine/rfc822-MailMember.schema

allow bind_v2

pidfile        /var/run/openldap/slapd.pid
argsfile    /var/run/openldap/slapd.args

#今はとりあえず全てに対してread権を与えておきます。
access to * by * read
        by self write
        by anonymous auth

database    bdb
suffix        "o=exbridge,c=JP"
rootdn        "cn=Manager,o=exbridge,c=JP"
rootpw        secret

directory    /var/lib/ldap

index objectClass                       eq,pres
index ou,cn,mail,surname,givenname      eq,pres,sub
index uidNumber,gidNumber,loginShell    eq,pres
index uid,memberUid                     eq,pres,sub
index nisMapName,nisMapEntry            eq,pres,sub

サンプルのDB_CONFIGをdirectoryに設定した場所にコピー
# cp /etc/openldap/DB_CONFIG.sample /var/lib/ldap

LDAPサーバを起動
# /etc/rc.d/init.d/ldap start

正しく起動しているか確認
# ldapsearch -v -x -b '' -s base +

検索結果が表示されれば正しく起動している。

次はLDAPデータベースの設計。こことかを参考に。
# mkdir /etc/openldap/ldif
# vi /etc/openldap/ldif/top.ldif
で次のようにtop.ldifを作成する。

dn: o=exbridge,c=JP
objectclass: top
objectClass: organization
o: exbridge

dn: ou=Group,o=exbridge,c=JP
objectClass: organizationalUnit
ou: Group

dn: ou=Users,o=exbridge,c=JP
objectClass: organizationalUnit
ou: Users

  • dn = ツリーの識別名
  • c  = country。国を表す
  • o  = organization。会社(組織)名を意味する
  • dc = domainComponent。ドメイン名
  • ou = organization unit。会社(組織)の一部署(部局)を意味する。

これらの名前付けは/etc/openldap/core.ldifに記述されているので、詳しく知りたい人はそちらを参照。

ldifファイルを作ったらLDAPに登録する。
# ldapadd -x -D "cn=Manager,o=exbridge,c=JP" -w secret -f /etc/openldap/ldif/top.ldif

登録できたか確かめるときは
# /usr/sbin/slapcat
で登録した情報を見れる。

削除したい場合は
# ldapdelete -x -D "cn=Manager,o=exbridge,c=JP" -w secret "ou=Users,o=exbridge,c=JP"
# ldapdelete -x -D "cn=Manager,o=exbridge,c=JP" -w secret "ou=Group,o=exbridge,c=JP"
# ldapdelete -x -D "cn=Manager,o=exbridge,c=JP" -w secret "o=exbridge,c=JP"
で下から順番に消す。

ここまでできれば、あとはGUI管理ツールを使った方が楽。

WindowsならLdap Adminがおすすめ。登録・削除など一通りできるのでかなり楽ができる。ただトップディレクトリを作っていないと接続できないので注意。

↓オブジェクトを図で表現してくれるので分かりやすい。

image
次は登録した情報の取り出し方とマクロを使ったユーザ登録を調査予定。

CSVからの登録はここにあるスクリプトが参考になりそう。

 

< 2011/11/24 Modified >
CentOS 6.0にLDAPをInstallした記事を書いたので、そちらも参考に。

 

< Related Posts >