【ldapsearchは不要!】Windows PCからLDAPツリー(登録内容)を一覧化するApache Directory Studioの使い方,インストール方法

LDAP サーバを運用している際に、LDAP の中身を見たいなぁ、というときは ldapsearch を使うことがあるかと思います。ですがコマンドもオプションが思い出せずに毎回調べるのも面倒ですよね。

しかも決め打ちであるユーザを見る分にはまだしも、全体を俯瞰したいときには不向きです。

そんなときは Apache Directory Studio を使いましょう。このソフトを Windows PC にインストールすると、細かいコマンドなどを使わず、起動するだけで LDAP ツリーの全体が一覧で見ることができるようになります

インストール方法

前提:OS も Apache Directory Studio も後述の JDK も全て 64bit 版です。

1. Apache Directory Studio のダウンロード

ぐぐりましょう。以下がヒットすると思います。

https://directory.apache.org/studio/downloads.html

"Download for Windows" のボタンをクリックし、"Windows 64 bit installer" のリンクをクリックすると exe ファイルのダウンロードが始まります。

2. Apache Directory Studio のインストール

ダウンロードした exe ファイルダブルクリックし、道なりでインストールします。迷う箇所は無いかと思います。以下のようになれば "Finish" をクリックして完了です。

Apache Directory Studio のセットアップ

そのまま起動するとエラー発生

そのまま起動しようとしても以下のようなエラーがでます。

"Java was started but returned exit code=13"

原因は .ini ファイルへのセットアップが未完了であることです。

JDK のインストール状況確認、必要に応じてインストール

Apache Directory Studio では JDK を利用します。まずは JDK がインストールされていることを確認してください。(通常の Java, JRE ではなく開発者向けキットです。)

例えば現在のバージョンだとデフォルトでは以下のパスにインストールされます。

C:\Program Files\Java\jdk1.8.0_211\bin

※現在は JDK のダウンロード、インストールには MS や VMware と同じように、 Oracle サイトのアカウント(プロファイル)作成が必要となりました。無料ですぐに作成できます。

"JDK download" でぐぐりましょう。

.ini ファイルの編集

C:\Program Files\Apache Directory Studio

の直下にある ApacheDirectoryStudio.ini を管理者権限のテキストエディタで開き、以下の4行

-nl
en
-vm
C:\Program Files\Java\jdk1.8.0_211\bin

を -vmargs の上に追記します。

ちなみに、-vm の下のパス指定で JRE のインストール先を指定すると、以下のようなエラーが出ます。

Failed to load the JNI shared library "C:\Program Files(x86)\Java\jre1.8.0_211\bin\client\jvm.dll"

JDK のパスを正しく指定しましょう。うまく起動すると以下のような画面が出ます。

LDAP サーバの登録設定方法

ここでは Microsoft Windows Server の役割 Active Directory ドメインサービス (AD DS) に内含される LDAP サーバを一覧化してみます。

まずは『LDAP』タブから『New Connection...』をクリックします。

『Connection name』は GUI の識別用の表示名ですので分かり易い任意の文字列で OK です。『Hostname』は IP でもよいですし、DNS で名前解決できるならホスト名でもよいです。

『Read-Only』についてはチェックを入れましょう。入れない場合はリネームや削除など誤操作が反映されてしまいます。

その他はデフォルトで OK です。『Next』をクリックします。

『Bind DN or user:』にバインドユーザ(LDAPサーバを利用するユーザ)を設定します。ここでは最高権限の Administrator を設定していますが、権限を落としたユーザを使うことをお勧めします。

なお、『Bind DN or user:』に設定する値については、AD の『属性エディタ』の『distinguishedName』から確認することができます。

属性エディタの表示の仕方については以下を参照下さい。

【属性エディタ】Active DirectoryのDNやSID等の属性を一覧表示,取得する方法
【属性エディタ】Active DirectoryのDNやSID等の属性を一覧表示,取得する方法
Active Directory の属性エディタ ActiveDirector...

『Bind DN or user:』の設定で『Finished』をクリックする前に『Check Authentication』をクリックすれば、Bind DN or user と password が正しいかどうかを確認できます。

成功の場合は『The authentication was successful.』と表示されます。

エラーの場合は『The authentication failed - [LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903D3, comment: AcceptSecurityContext error, data 52e, v3839』といったように表示されます。

LDAPツリーからの検索

Quick Search を使うと、ややこしいフィルタ条件式を使わなくても簡単に検索が実施できます。Quick Search では検索にワイルドカード『*』を使うことができます。

例えば『Users』OU 配下で、『test』を含むユーザを検索したい場合は、まずは『Users』OU をクリックして選択した状態で、上の Quick Search バーに条件式を入力します。

AD のユーザIDの属性は『sAMAccountName』(サムアカウントネーム)ですので、以下のように『sAMAccountName = *test*』入力し、Enter をクリックします。するとtaro test というユーザが引っ掛かりました。

LDAPs (LDAP over TLS) サーバの場合の設定

今後追記予定。