OpenLDAP ライブラリとツールのセットは以下のパッケージに含まれています:
openldap — OpenLDAPサーバーとクライアント アプリケーションを実行するのに必要なライブラリを含んでいます。
openldap-clients — LDAPサーバー上で ディレクトリの表示と変更の為のコマンドラインツールを含んでいます。
openldap-servers — LDAPサーバーの設定と 実行に必要なサーバーと他のユーティリティを含んでいます。
2種類のサーバーがopenldap-serversパッケージの中に 含まれています: スタンドアロン LDAP デーモン (/usr/sbin/slapd)とスタンドアロン LDAP 更新複製 デーモン(/usr/sbin/slurpd)です。
slapdデーモンはスタンドアロン LDAPサーバーであり、 slurpdデーモンはネットワーク上の1つのLDAPサーバーから 別のLDAPサーバーへの変更を同期するのに使用されます。slurpdデーモンは 複数のLDAPサーバーを利用している時にのみに使用されます。
管理の作業をするには、openldap-serversパッケージが /usr/sbin/ディレクトリへ、以下のユーティリティを インストールする必要があります:
slapadd — LDIFファイルから LDAPディレクトリへエントリを追加します。例えば、/usr/sbin/slapadd -l ldif-inputコマンドは 新規のエントリを 含むLDIFファイル、ldif-inputで読み込みます。
![]() | 重要 | |
---|---|---|
rootユーザーのみ/usr/sbin/slapaddを使用できます。 しかし、ディレクトリサーバーはldapユーザーとして動作します。 そのため、ディレクトリサーバーはslapaddで作成された ファイルはどれも変更できません。この問題を修正するには、 slapaddを使用した後に、次のコマンドを入力します。
|
slapcat — デフォルトフォーマット、Sleepycat Software の Berkeley DB システム内の LDAP ディレクトリからエントリを 取り出して、LDIFファイルの中に保存します。例えば、/usr/sbin/slapcat -l ldif-outputコマンドは、LDAPディレクトリ からのエントリを含む ldif-output という LDIF ファイルを出力します。
slapindex — 現在のコンテンツに基づいて slapdディレクトリの索引を再構成します。 このツールは、/etc/openldap/slapd.conf内の インデックスオプションが変更されるたびに実行する必要があります。
slappasswd — ldapmodifyで使う 暗号化されたユーザーパスワードの値、 あるいはslapdの設定ファイル/etc/openldap/slapd.conf のrootpw値を生成します。 パスワードを作成するには、/usr/sbin/slappasswdコマンドを実行します。
![]() | 警告 |
---|---|
slapadd、slapcat、又はslapindexを使う前に、/sbin/service slapd stopを発行して必ずslapdを停止させてください。そうしないと LDAP ディレクトリの一貫性を失う可能性があります。 |
これらのユーティリティの使用方法の詳細については、それぞれの man ページを参照 して下さい。
openldap-clientsパッケージは、LDAPディレクトリのエントリを 追加、変更、削除するのに使う/usr/bin/の中へツールをインストール します。これらのツールには以下の項目が含まれます:
ldapadd — ファイル又は標準入力からの入力を受け付け、LDAPディレクトリにエントリを追加します。ldapaddは実際には ldapmodify -aへのハードリンクです。
ldapdelete — シェルプロンプトかファイルからのユーザー 入力を受領し LDAP ディレクトリからエントリを削除します。
ldapmodify — ファイル又は標準入力からの入力を受け付け、 LDAPディレクトリのエントリを変更します。
ldappasswd — LDAPユーザーのパスワードを設定します。
ldapsearch— shellプロンプトを使用して LDAPディレクトリ内のエントリを検索します。
ldapsearchを例外として、これらのユーティリティは LDAPディレクトリで変更をしたいそれぞれのエントリ用のコマンドをタイプするのでなく、 変更したいファイルを参照するのでより簡単に使用できます。このような ファイルの形式については、それぞれのユーティリティの man ページに概要があります。
OpenLDAPパッケージに加えて、Red Hat Enterprise Linux には、Linux及び他のUNIX環境に統合するために LDAPの機能を強化するnss_ldapと呼ばれるパッケージが 含まれています。
nss_ldapパッケージは、以下のモジュールを提供します:
/lib/libnss_ldap-<glibc-version>.so
/lib/security/pam_ldap.so
nss_ldapパッケージは、Itanium 又は AMD64 アーキテクチャ用 に以下のモジュールを提供します:
/lib64/libnss_ldap-<glibc-version>.so
/lib64/security/pam_ldap.so
libnss_ldap-<glibc-version>.soモジュールにより、アプリケーションは、glibc の NSS ( Nameservice Switch)インターフェースを経由した LDAP ディレクトリを 使用してユーザー、グループ、ホスト、そしてその他の情報を検索できます (<glibc-version>には、使用している libnss_ldapのバージョンを入れます)。NSSは、アプリケーションがNIS (ネットワーク情報サービス)ネームサービスと単層の認証ファイルと 共に LDAP を使用して認証できるようにします。
pam_ldapモジュールの使用で、PAM-認識のアプリケーションが LDAPディレクトリ内に保存してある情報を使用してユーザーを認証することができます。 PAM-認識のアプリケーションには、コンソールログイン、POPとIMAPのメールサーバー、 及びSambaが含まれます。ネットワーク上でLDAPサーバーを起用することにより、 これらのアプリケーションのすべてが、同じユーザーIDとパスワードの組合せを使用して 認証できるようになり、管理が大幅に簡略化します。
PAM の設定に関する詳細は章16章と PAM の man ページを参照して下さい。
Red Hat Enterprise Linux には、PHPサーバーサイド スクリプト言語用の LDAPモジュールを 収納したパッケージが含まれています。
php-ldapパッケージは/usr/lib/php4/ldap.so モジュールを経由してPHP4 HTML埋め込型のスクリプト言語へ LDAP サポートを 追加します。このモジュールにより PHP4スクリプトは、LDAPディレクトリに 保存されている情報にアクセスできます。
Red Hat Enterprise Linux は Apache HTTP サーバーのmod_authz_ldap モジュールと共に送られます。このモジュールはサブジェクトに対するdistinguished name(区別名)の略式を使用し、 クライアントSSL証明書の発行元がLDAPディレクトリ内のユーザーのdistinguished name(区別名)を判定します。 また、ユーザーのLDAPディレクトリエントリの属性を基にユーザーを許可することもでき、 アセットのユーザー/グループ特権を基にアセットへのアクセスを判定します。その時、 パスワードが期限切れのユーザーはアクセスが拒否されます。mod_authz_ldapモジュールを使用する時は mod_sslモジュールが必要となります。
![]() | 重要 |
---|---|
mod_authz_ldapモジュールは暗号化パスワードハッシュ を使用してLDAPディレクトリのユーザー認証を行ないません。 この機能は実験的なmod_auth_ldapモジュール にて提供され、Red Hat Enterprise Linuxには含まれていません。 このモジュールの状況の詳細は、 Apache Software Foundationのwebサイト、 http://www.apache.org/を参照してください。 |
ディレクトリの作成と変更をサポートするグラフィカルな LDAP クライアントが ありますが、Red Hat Enterprise Linuxでは配付されていません。このようなアプリ ケーションの1つがLDAP Browser/Editorです。— Javaベースの ツールでオンラインのhttp://www.iit.edu/~gawojar/ldapで入手できます。
他のLDAPクライアントのほとんどは読み込み専用でディレクトリにアクセスし、 組織全体の情報を参照するのに使用しますが、変更はしません。 このようなアプリケーションの例としては、Sendmail、 Mozilla、Gnome Meeting、 Evolutionがあります。