オープンソース

サーバー構築のデージーネットTOP > OSS情報 > OSS紹介 > OSSのLDAPサーバ OpenLDAP > LDAPユーティリティコマンド

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

OSS情報 「OpenLDAP」

OSSのLDAPサーバ OpenLDAP
OpenLDAPは、OSSのLDAPサーバソフトウェアです。ここでは、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によるLDAPサーバのマルチマスタ構成

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

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

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

LDAPサーバ冗長化

LDAPサーバをサービス無停止で提供するため、PacemakerとDRBDを利用したHAクラスタ構成でLDAPサーバを構築しました。高信頼性、高可用性が求められる大規模メールシステムのユーザ管理用LDAPサーバを、Linuxクラスタにより構築しました。

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