-
サーバ構築のデージーネットTOP
-
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
関連情報
389 Directory Serverは、LDAPサーバのもう1つの実装です。Red Hat社が出資するFedoraプロジェクトによって開発・管理されています。389 Directory ServerとOpenLDAPは、の2つを比較した際、389 Directory Serverの方がより高速であるという特徴があります。RedHat Enterprise Linux 8では、OpenLDAPに替わり、389 Directory Serverが採用されています。
389 Directory Serverはオープンソースのディレクトリサーバです。OpenLDAPサーバに替わるLDAPソフトウェアとして注目されています。本書では、389 Directory Serverのインストールや基本的な管理方法をまとめています。調査報告書は無料でダウンロードが可能です。
LDAPサーバは、LDAPに基づいてディレクトリサービスを提供するサーバのことです。企業内では特に、ユーザ情報の一元管理や認証の基盤として利用されています。しかし、OSSのLDAPサーバのソフトウェアには、LDAPのデータを管理するためのGUIが付属しておらず、標準ではコマンドラインの操作が必要です。この記事では、LDAPサーバのデータを管理するためのOSSと、それぞれの特徴を紹介します。
OpenLDAPのミラーモードでLDAPサーバーを二重化しました。認証システムの冗長構成が求められていましたが、冗長化ソフトウェアの導入はコスト面で問題がありました。OpenLDAPの柔軟性を活用し、OpenLDAP標準機能であるミラーモードを使うことで、特別な冗長化ソフトウェアを使わずに、認証システムの冗長化を実現しました。
リモートアクセスの管理などで利用しているLDAPサーバーをリプレースしました。これまで利用してきた製品からOpenLDAPへ移行することで、ライセンス費用を抑え、代わりにサーバーを冗長化することが可能となりました。
LDAPサーバーをサービス無停止で提供するため、PacemakerとDRBDを利用したHAクラスタでLDAPクラスタを構築しました。
ケーブルテレビの契約ユーザー向けのLDAPサーバのリプレースを行いました。これまで使用してきた389 Directory ServerからOpenLDAPへリプレースしようとしましたが、設定上、うまくいかないことがあり、新サーバーでも389 Directory Serverを採用することになりました。旧389 Directory Serverで利用していたLDAPのデータもすべて移行しました。
デージーネットでは、豊富なLDAPの利用実績を書籍として公開しています。より詳しい情報が必要な場合には、ぜひ書籍をご参照下さい。「入門LDAP/OpenLDAP ディレクトリサービス導入・運用ガイド」第3版では、RADIUSサーバをLDAPサーバと連携させる方法や、Microsoft社のActive Directory(AD)をLDAPサーバとして使う方法なども掲載しています。
デモのお申込み
もっと使い方が知りたい方へ
OpenLDAPの操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。OpenLDAPのデモをご希望の方は、下記よりお申込みいただけます。
OSS情報「OpenLDAP」
- LDAPユーティリティコマンド
- OpenLDAPには、LDAPユーティリティコマンドが付属しています。ここでは、主なLDAPユーティリティコマンドの概要を紹介します。
- LDAPをGUIで管理するツール
- OpenLDAPに付属するLDAP管理コマンドは、非常に柔軟で便利です。ここでは、用途に合わせたGUI管理ツールを紹介します。
- LDAPサーバの連携
- LDAPは、様々なアプリケーションと連携することができます。ここでは、デージーネットがLDAPと連携した実績のあるアプリケーションを紹介します。