オープンソース

LDAPユーティリティコマンド

多様なLDAPユーティリティコマンド

OpenLDAPには、次のようなLDAPユーティリティコマンドが付属しています。

  • ldapadd : LDAPにエントリを登録する
  • ldapmodify : LDAPエントリを修正する
  • ldapdelete : LDAPエントリを削除する
  • ldapsearch : LDAPエントリを検索する
  • ldapcompare : LDAPエントリの属性を比較する

これらのLDAPユーティリティコマンドを使って、LDAPサーバ上のLDAPデータや設定を管理することができます。ここでは、主なLDAPユーティリティコマンドの概要を紹介します。

LDIFフォーマット

LDAPユーティリティコマンドでは、LDIFと呼ばれるフォーマットを使ってLDAPデータの登録や修正を行うことができます。次は、LDIFフォーマットの例です。

dn: cn=Taro,ou=People,dc=designet,dc=jp
objectClass: Person
cn: Taro
sn: Degi Taro
userPassword: {SSHA}uPh+0W3wg6a5KHJCkUacsOMZ6nVAF+IZ

LDIFフォーマットでは、この例のように属性と属性値を「:」区切りで表記します。LDIFフォーマットの先頭には、必ずLDAPデータの所在を示すDNを記載します。

ldapaddコマンド

ldapaddは、LDAPエントリを登録・作成するコマンドです。

$ ldapadd -x -D "cn=Manager,dc=designet,dc=jp" -W -f taro.ldif ⏎
Enter LDAP Password: ******** ⏎
adding new entry "cn=Taro,ou=People,dc=designet,dc=jp"

この例では、-fオプションでLDIFファイルを指定しています。このように、引数にLDIFファイルを指定して実行すると、指定したエントリをLDAPサーバに登録することができます。

ldapmodifyコマンド

ldapmodifyは、LDAPエントリ上のLDAPデータを修正するコマンドです。ldapaddコマンドと同じように、LDIFファイルを使って修正を指示します。

$ ldapmodify -x -D "cn=Manager,dc=designet,dc=jp" -W -f taro-modify.ldif ⏎
Enter LDAP Password: ******** ⏎ ← 指定したDNのパスワード
modifying entry "cn=Taro,ou=People,dc=designet,dc=jp"

修正を指示するためのLDIFファイルは、属性値を追加する場合には、次のようなフォーマットで指定します。

dn: <修正を行うエントリのDN>
changetype: modify
add: <追加する属性タイプ>
<追加する属性タイプ>: <追加する属性値>

属性を削除する場合には、次のようなフォーマットで指定します。

dn: <修正を行うエントリのDN>
changetype: modify
delete: <削除する属性タイプ>
<削除する属性タイプ>: <削除する属性値>

属性を修正する場合には、次のようなフォーマットで指定します。

dn: <修正を行うエントリのDN>
changetype: modify
replace: <修正する属性タイプ>
<修正する属性タイプ>: <修正する属性値>

ldapdeleteコマンド

ldapdeleteは、LDAPエントリを削除するコマンドです。引数に削除するLDAPエントリのDNを指定します。

$ ldapdelete -x -D "cn=Manager,dc=designet,dc=jp" -W cn=Taro,ou=People,dc=designet,dc=jp ⏎
Enter LDAP Password: ******** ⏎

ldapsearchコマンド

ldapsearchは、LDAPデータを検索するコマンドです。検索結果は、LDIF形式で出力することができます。

$ ldapsearch -x -D 'cn=Manager,dc=designet,dc=jp' -W -LLL -b 'ou=People,dc=designet,dc=jp' '(objectClass=*)' ⏎
Enter LDAP Password: ******** ⏎
dn: ou=People,dc=designet,dc=jp
objectClass: organizationalUnit
ou: People

ldapcompareコマンド

ldapcompareは、属性値の比較を行うコマンドです。期待通りの属性値であればTRUE、一致していなければFALSEを出力します。

$ ldapcompare -x -D "cn=Manager,dc=designet,dc=jp" -W 'cn=Hanako,ou=People,dc=designet,dc=jp' 'cn: Taro' ⏎
Enter LDAP Password: ******** ⏎
FALSE

構築事例(OpenLDAP)

OpenLDAPによるLDAPサーバのマルチマスタ構成

OpenLDAPのミラーモードでLDAPサーバを二重化しました。認証システムの冗長構成が求められていましたが、冗長化ソフトウェアの導入はコスト面で問題がありました。OpenLDAPの柔軟性を活用し、OpenLDAP標準機能であるミラーモードを使う事で、特別な冗長化ソフトウェアを使わずに、認証システムを冗長化しました。

構築事例(OpenLDAPによるLDAPサーバのユーザ統合管理システム)

OpenLDAPによるLDAPサーバのユーザ統合管理システム

リモートアクセスの管理などで利用しているLDAPサーバをリプレースしました。これまで利用してきた製品から、OpenLDAPへ移行することでライセンス費用を抑え、代わりにサーバを冗長化することが可能となりました。

構築事例(LDAPサーバ冗長化)

LDAPサーバ冗長化

LDAPサーバをサービス無停止で提供するため、PacemakerとDRBDを利用したHAクラスタでLDAPクラスタを構築しました。

構築事例(389 Directory Server)

389 Directory Serverを利用したLDAPサーバ

ケーブルテレビの契約ユーザ向けのLDAPサーバのリプレースを行いました。これまで使用してきた389 Directory ServerからOpenLDAPへリプレースしようとしましたが、設定上、うまくいかないことがあり、新サーバでも389 Directory Serverを採用することになりました。旧389 Directory Serverで利用していたLDAPのデータもすべて移行しました。

関連情報

389 Directory Server〜OSSのLDAPサーバ〜

389 Directory Serverは、LDAPサーバのもう1つの実装です。Red Hat社が出資するFedoraプロジェクトによって開発・管理されています。389 Directory ServerとOpenLDAPは、の2つを比較した際、389 Directory Serverの方がより高速であるという特徴があります。RedHat Enterprise Linux 8/CentOS 8では、OpenLDAPに替わり、389 Directory Serverが採用されています。

389 Directory Server

LDAPデータ管理のOSS比較 7選

LDAPサーバは、企業内では特にユーザ情報の管理や認証の基盤として使用されています。しかし、OSSのLDAPサーバのソフトウェアには、LDAPのデータを管理するためのGUIが付属しておらず、標準ではコマンドラインの操作が必要です。ここでは、LDAPサーバのデータを管理するためのOSSを紹介します。

LDAPデータ管理のOSS比較

デモのお申込み

もっと使い方が知りたい方へ
OpenLDAPの操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。OpenLDAPのデモをご希望の方は、下記よりお申込みいただけます。

デモをご希望の方

デモの申し込みイメージ


OSS情報「OpenLDAP」

LDAPサーバでパスワード管理の課題を解決〜OpenLDAP〜
OpenLDAPは、OSSのLDAPサーバソフトウェアです。ここでは、OpenLDAPに対するデージーネットの取り組みなどを紹介します。
OpenLDAPのLDAPサーバ(slapd)とは?
ここでは、OpenLDAPに付属するLDAPサーバのソフトウェアである「slapd」について紹介します。
LDAPサーバ(slapd)の冗長化と拡張機能
LDAPサーバ(slapd)は、様々な用途で利用できるLDAPサーバです。ここでは、LDAPサーバ(slapd)のシステム構成や拡張APIについて紹介します。
LDAPユーティリティコマンド
OpenLDAPには、LDAPユーティリティコマンドが付属しています。ここでは、主なLDAPユーティリティコマンドの概要を紹介します。
LDAPをGUIで管理するツール
OpenLDAPに付属するLDAP管理コマンドは、非常に柔軟で便利です。ここでは、用途に合わせたGUI管理ツールを紹介します。
LDAPサーバの連携
LDAPは、様々なアプリケーションと連携することができます。ここでは、デージーネットがLDAPと連携した実績のあるアプリケーションを紹介します。
OpenLDAPサーバ インストール・構築方法
RedHat Enterprise Linux、CentOS、Debian、UbuntuなどのLinuxディストリビューションでは、OpenLDAPはパッケージとして提供されています。ここでは、ソースコードからのインストール方法について解説します。
連携アプリケーションの設定
ここでは、連携するアプリケーションのいくつかについて、設定方法の要約を紹介します。
LDAP管理GUIのインストール
ここでは、phpLDAPadminなどのLDAP管理GUIのインストール方法を解説します。

LDAPユーティリティコマンドの先頭へ