Lumaを使用したLDAPの簡単ブラウジング

 Lightweight Directory Access Protocol(LDAP)とはディレクトリサービス(オブジェクトのタイプ情報を格納したデータベースやデータリポジトリの別名)へのアクセスと検出をするためのプロトコルであり、現在のLinux環境では標準的コンポーネントとなりつつある。こうしたディレクトリのLDAP検索に関する手軽なオプションを探しているLinuxユーザであればLumaを検討してみるべきだろう。

 私の場合LumaはPackman openSUSEリポジトリから直接入手したが、その他のディストリビューションでも何らかの形で見つかるはずだ。最新の安定版であるバージョン2.3-0は2006年3月付のものであり、Lumaサイトで提供されているバージョン2.4のリリース候補版も1年ほど前のものとなっている。手動操作でのインストールでは、Python、Qt、PyQt、python-ldapが必要となるが、いずれも簡単に入手することができる。なおLumaの配布はGPLv2の適用下で行われている。

 Lumaを起動すると、青いシュレックもどきのキャラクタがあしらわれたスプラッシュ画面が表示された後、本プログラムのメイン機能を提供する各種プラグイン群の一覧されたメイン画面に切り替わる。このようにLumaはプラグインを中心とした構成となっており、現状で利用できるのは、ブラウザ(データおよびスキーマ)、アドレスブック、ユーザ管理(複数ユーザの同時作成にも対応)、検索などの諸機能である。将来的には、より多数の機能が追加されることになるだろう。

 Lumaでの作業を開始するには、最初にアクセス先のディレクトリサーバを指定しておく。こうした接続可能なサーバ数に制限はない。新規サーバをリストに追加するには、「Settings」→「Edit Server List」→「Add」を選択する。追加されたサーバをクリックすると、各種のオプションが指定可能となる。Network Optionsはホスト名、ポート、暗号化に関するオプションの指定、Authentification(見慣れないスペルだがこれで間違いない)はログインメソッドに関する指定、LDAP Optionsでは“Follow Aliases”(シンボリックリンクと同様の概念)と“Use Base DNs as defined by the server”(通常はこちらのオプションを選択)のどちらを使用するかを指定できる。各サーバ別設定の終了後、Summaryをクリックして問題がないことを確認してからSaveをクリックすることで、ディレクトリ全体のブラウジングや検索ができる状態になる。

luma_1_thumb.png
Luma

 初めて接続するサーバの全容を把握するには、最初にBrowserプラグインを使用することになるだろう。サーバ名をクリックすると(この段階でLumaからサーバへの接続確立と必要な情報のダウンロードまでに多少のタイムラグが発生する)、ディレクトリ全体をツリー構造形式でたどることができる。プラス記号(+)をクリックすればノードが開いて下層の項目が表示され、マイナス記号(-)をクリックすればノードが閉じられる。この操作を繰り返してリーフノード(下層ノードを持たない末端のノード)にまで到達すると、その属性と値がすべて表示される。必要な権限を有していれば、属性値の変更(鉛筆アイコンをクリック)や属性やクラスの削除(赤い×印をクリック)および新規属性の追加(星形アイコンをクリック)をすることができるが、その際には使用可能な属性のリストから必要な項目を選択してから設定値を入力すればいい。なおこうした変更はメニューにあるSaveを選択するまで自動的には保存されないが、他のノードに移動する際には変更を保存するかの確認が行われる。

 Browserプラグイン使用時における新規オブジェクトの追加にはテンプレートが必要だが、この操作にはTemplateプラグインを使用することになる。Addをクリックするとテンプレートが追加されるので、まずはその名称と説明を設定しておく。次にテンプレートの適用先となるオブジェクトクラスを追加するが、同時に関連する属性群の追加も行っておく。ただし変更できない属性(mandatoryやbinaryなど)についてはデフォルト値だけを指定できる。

 Schema Browserプラグインは、ディレクトリのスキーマを調べるのに役立つツールである。これを使うと、クラス、属性、依存性などを含めたデータスキーマ全体の情報を取得することができる。基本操作は調査対象のサーバを選択するだけだが、Lumaによる接続確立と構造情報の取得完了までに若干待たされることになる。その後ObjectClassesをクリックすると、当該ディレクトリに収録されているオブジェクトの種類が表示され、Attributesをクリックすると各オブジェクトの詳細情報が表示される。

 Address Bookプラグインは、名前とアドレスを管理するためのものである。AddおよびDeleteをクリックすればエントリの追加と削除ができ、その他にフィルタを使った検索にも対応している。「Settings」→「Configure Plugins」を選択してAddress Bookをクリックすると検索対象となる属性が提示されるので、その結果に応じてエントリの追加や削除を行えばいい。

 Searchプラグインを使用するとより強力な検索を実行できる。この場合はサーバの選択後、エントリをグローバルに識別するためのベース識別名(DN:Base Distinguished name)を指定してからFilter Wizardをクリックして、検索用のクエリ文字列を入力する。この種の検索作業に習熟しているユーザであれば、ウィザードを介さず(&(objectclass=person)(ou=accounting))などの検索文字列を直接Filterフィールドに入力してもいい。いずれの方式にせよLDAP検索の基本知識が必要となるが、その種の情報としては「LDAP Query Basics」が参考になるだろう。

 Admin Utilitiesプラグインには、パスワード生成、暗号化、日付/時刻の計算機など、便利な諸機能が用意されているが、LDAP専用という訳ではないので一見無関係と取れなくもない。

 最後に残されたUser ManagementおよびMassive User Creationプラグインはユーザ作成を行うためのもので、個々のユーザ別でなく多数ユーザの同時生成に対応することもできる。これらのプラグインを使用する場合は、ユーザシェル、ホームプレフィックス、ユーザIDの範囲などの管理オプションを指定することになるので、予備知識としてLinuxやUnixにおけるユーザの作成法を知っておくべきだろう(このプラグインがUnixに偏向していることはドキュメント自体が認めている)。なおこれらのプラグインには各ユーザのホームディレクトリを作成する機能は装備されていないので、その種の操作は別途行わなければならないが、あるいは各自のシステムにpam_mkhomedirを設定しておくと、ユーザによる初回ログイン時に必要なディレクトリ類が自動作成されるようになる。

 LDAPについてはペーパー知識だけで実践経験がほとんどないというユーザでも、Lumaを利用すればすぐに使いこなせるようになるはずだ。Lumaにはユーザドキュメントが付属しているが(HelpボタンもあるがAbout情報しか表示されない)、Webベースの操作マニュアルを参照してもいいだろう。いずれにせよLDAPサーバを使いこなす必要に迫られた人間にとって、Lumaは強力なサポートツールとして機能してくれるはずだ。

Federico Kerekiはウルグアイ出身のシステムエンジニアで、20年以上に渡るシステム開発、コンサルティング、大学講師の経験を有している。

Linux.com 原文