そろそろLDAPにしてみないか?

第1回 まずは使ってみよう

この記事を読むのに必要な時間:およそ 3 分

案外身近な? LDAP

古くから存在するのですが,使用する機会がないとなかなか概念を理解することができないプロトコル,そのひとつがLDAP(Lightweight Directory Access Protocol)ではないでしょうか?少なくとも数年前の筆者はそうでした。LDAPは「エルダップ」と発音します。

HTTPクライアント,HTTPサーバがあるよう,LDAPにもサーバ,クライアントという概念が存在します。LDAPサーバとは一言で言えばデータベースサーバなのですが,同じようにデータベースに分類されるPostgreSQLやMySQL,OracleなどのRDBMS(Relational Data Base Management System)と比較すると,一長一短があるため,管理対象のデータによって両者の使い分けを行うのが賢い選択です。
たとえばLDAPとはデータ追加や削除よりも検索を重視したプロトコルであるため,顧客,商品情報管理のように頻繁に更新されるデータを扱うのは苦手です。一方アドレス帳のように,毎日検索は行われるが更新はまれである,という場合に効力を発揮します。

こんなところにLDAP

LDAPが有効な例を挙げてみましょう。大学の情報学習室など,生徒50人,端末50台でLinux端末を扱うことを考えてみましょう。当然一人一人にログインアカウントが必要ですので,サーバ管理者は生徒の入学時にすべての端末にそれぞれのアカウント,パスワード情報を作成しなければなりません。

テンプレートとなる端末で,従来通りuseraddコマンドなどを使い全員のアカウントを登録し,そのパスワードファイル(passwd, shadow, group)を全端末にコピーするのがシンプルな管理方法と言えます。

しかし,この方式では,ある生徒が端末A上でパスワードを変更した場合,次回の授業で同じ席に座るとは限りません。端末Bの席に座ってしまえば,パスワードは変更前のままとなっているはずです。このような場合にはパスワードやホームディレクトリを共有し,集中管理するのが一般的です。以前はこのための方法としてNISやNIS+が用いられてきましたが,近年ではこのような場合にLDAPを用いるのが一般的となっています。

ユーザ,パスワード情報をLDAPサーバで一元管理できれば,新規ユーザが増えた場合でも,サーバ1台にアカウントを作成するだけで全員が全ての端末にログインできるようになります。一時的に無効にしたいユーザもサーバ側でフラグをつけてしまえばすべての端末からログインできなくなります。

LDAPサーバで認証情報やさまざまな情報を管理することで,各種クライアントからすべてのデータを参照することができるようになります。「LDAPサーバ?ああアドレス帳とアカウント管理に使うやつね」,そう勘違いされる場合もあります。しかしLDAPサーバで管理可能なデータはなにもこれだけではありません。データ参照クライアントが数十,数百台あったとしてもさまざまなデータを集中管理できる,LDAPサーバを用いればそれが可能なのです図1)。

図1 LDAPを用いて各種データを集中管理する様子

図1 LDAPを用いて各種データを集中管理する様子

何はともあれセットアップ

百聞は一見にしかず,まずは本当にデータを集中管理できるのか,実際にサーバをセットアップしてみましょう。各項目などの意味はトラブルシューティングも含め,次回以降に説明いたしますので,まずは言われるがままに設定を行ってみて,実際の動作を是非確認してみてください。なお,今回から検証に用いるオペレーティングシステムはCentOS-4.xとします。簡単な構成図は図2の通りで,2台の端末を使用します(検証環境ではVMWareを使用しています)。

図2 ネットワーク構成(CentOSを2台使用)

図2 ネットワーク構成(CentOSを2台使用)

OpenLDAPとはオープンソースのLDAPサーバ,クライアントソフトウェアです。LinuxでLDAPと言えば,事実上OpenLDAPを用いることを意味します。インストールされていない場合は,次のようにインストールを行っておきましょう。

OpenLDAPのインストール

# yum install openldap-servers
# yum install openldap-clients

著者プロフィール

中満英生(なかみつひでお)

大学時代に出会ったSolarisがきっかけでUNIXの世界へ。その後ホスティングプロバイダ,データセンターで実務経験を積む傍ら,雑誌記事の執筆や技術セミナーの講師を務める。サーバ設定の他,セキュリティに関する著作や技術者エッセイも執筆経験あり。

コメント

  • Re:

    段落sec2_pb
    testuserではなくてldapuserを追加していませんか?

    Commented : #3  萩原 (2011/08/17, 11:31)

  • 大変参考になりました

    大変参考になりました.概要を説明したものは多く見かけますが,
    具体的な設定手順があり助かりました.

    Commented : #2  新井 (2007/12/13, 14:42)

  • 意味不明

    全く意味がわかりません.
    credential errorが出るし.
    もっと丁寧に手順を教えて欲しい.

    Commented : #1  高木 (2007/11/12, 18:40)

コメントの記入