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.schemaallow bind_v2
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args#今はとりあえず全てに対してread権を与えておきます。
access to * by * read
by self write
by anonymous authdatabase bdb
suffix "o=exbridge,c=JP"
rootdn "cn=Manager,o=exbridge,c=JP"
rootpw secretdirectory /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: exbridgedn: ou=Group,o=exbridge,c=JP
objectClass: organizationalUnit
ou: Groupdn: 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がおすすめ。登録・削除など一通りできるのでかなり楽ができる。ただトップディレクトリを作っていないと接続できないので注意。
↓オブジェクトを図で表現してくれるので分かりやすい。
次は登録した情報の取り出し方とマクロを使ったユーザ登録を調査予定。
CSVからの登録はここにあるスクリプトが参考になりそう。
< 2011/11/24 Modified >
CentOS 6.0にLDAPをInstallした記事を書いたので、そちらも参考に。
< Related Posts >