LoginSignup
21
22

More than 5 years have passed since last update.

Apache Directory Studio で OpenLDAP 2.4 環境をゆるふわ構築

Last updated at Posted at 2013-03-01

RHEL 6 系は OpenLDAP が 2.4 になっており,設定が OpenLDAP 上に存在していじれる (on-line configuration) ということで,今までの知識と異なる部分がある。

今回は 参考サイト: CentOS 6にOpenLDAP環境を構築する をベースに構築してみる。

初期設定

参考サイトの「dc=config へのアクセス設定」あたりまではこのとおりにやる (ここはさすがに Apache Directory Studio でさわれないので)。
ここで注意するのは,ここで作成した dc=config のパスワードというのは,on-line configuration 用のアカウント (とパスワード) であるということ。

on-line configuration による基本設定

on-line configuration 用 connection profile の作成

  1. Apache Directory Studio を立ち上げ,「New LDAP Connection」を作成する
    1. 接続の設定は……
      1. 「Connection Name」は適当に名付ける
      2. 「Hostname」に LDAP サーバのホスト名を入力する
      3. 「Next」をおす
    2. 認証情報の設定は……
      1. 「Authentication Method」は「Simple Authentication」のままで
      2. 「Bind DN or user」に cn=config と入力
      3. 「Bind password」に先ほどのパスワードを入力
        • 入力しなくてもよい。接続時に効かれるようになる。
        • 「Check Authentication」で認証できるかテストできるので楽
    3. Base DN の設定は……
      1. 「Get base DNs from Root DSE」のチェックを外す (重要)
      2. 「Base DN」に cn=config と入力

各種基本設定を行う

my-domain.com ではなく example.org に変更する場合。

  1. 左のツリーペインで cn=config ノードを開く
  2. さらにツリーペインの olcDatabase={1}monitor を選択する
    1. olcAccess の Value の by dn.base="cn=manager,dc=my-domain,dc=com" という部分を by dn.base="cn=Manager,dc=example,dc=org" に変更する
  3. ツリーペインの olcDatabase={2}bdb を選択する
    1. olcSuffixdc=my-domain,dc=com から dc=example,dc=org に変更する
    2. olcRootDNcn=Manager,dc=my-domain,dc=com から cn=Manager,dc=example,dc=org に変更する
    3. 右側のペインペインで右クリックするとメニューに「New Attribute...」があるので選択
      1. olcRootPW を作成
      2. Value に {SSHA} パスワード等を入力する

ここで設定した cn=Manager,dc=example,dc=org (とパスワード) がツリー全体の管理者アカウント的なものになる。先ほどの cn=config と異なることに注意。
つまり,ツリーをいじるためにはあたらしい connection profile を作成する必要がある。

先ほどの cn-config 用 connection profile と同様に cn=Manager,dc=example,dc=org 用 connection profile を作成する。
(こんどは「Get base DNs from Root DSE」はオンのままでいいと思うけど)

LDAP ツリーの操作

Root tree の整備

cn=Manager,dc=example,dc=org で接続しなおす (以降は cn=config のままではうまくいかない)。

普通は Organization を作成したりするんだろうけど,ここでは (ActiveDirectory に倣い) ツリーのルートに domain objectClass なコンテナを作成してみる。

  1. 左ツリーペインの「Root DSE」を右クリックして「New Context Entry」を選択
  2. 「Create entry from scratch」を選択し「Next」
  3. 「Object Classes」に domain を「Add」 (top も自動的に追加される) して,「Next」
  4. DNdc=example,dc=org を入力し, 「Next」
  5. 「Finish」を押下

これで左のツリーペインの「Root DSE」の下に dc=example,dc=org という名前で地球儀アイコンのエントリが作成される。
初めてのエントリ作成おめでとう。

Person の作成

もうあとは同じようにできると思うけど。
Hoge Fuga さんのレコードを作成してみる。

  1. 今作成した dc=example,dc=org ノードを右クリックし (こんどは) 「New Entry」を選択
  2. 「Object classes」に person を「Add」して「Next」
  3. Distinguished Name を設定する
    1. 「RDN:」が cn = Hoge Fuga となるようにする。
      1. (実は,DN のベースにするのは cn でなくても構わない。objectClass に uidObject を追加して,uid を一意キーに含めてもいい)
    2. 「DN Preview」が cn=Hoge Fuga,dc=sub,dc=example,dc=org となる
  4. Next すると sn が必須属性なのに空で怒られるので「Hoge」と入力
  5. Finish すると作成される

今作成したユーザを一意に識別する識別子が,さきほどの cn=Hoge Fuga,dc=sub,dc=example,dc=org である。

この Person にパスワード (userPassword) を設定すると,このユーザで LDAP ツリーにアクセスすることができるようになる。

  1. 右メインペインで右クリックし,「New Attribute ...」を選択
  2. userPassword を入力
  3. Password Editor が立ち上がるのでパスワードを設定

Person に userPassword フィールドを設定するのは必須ではないけど,設定すると,そのユーザが自分でアクセスできるよ,という話。

ちなみにバルクで追加するなら,結局 LDIF ファイルを作るのが吉。

21
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
22