ldapclient(1M) は、Solaris オペレーティング環境で LDAP クライアントを設定するためのユーティリティです。 ldapclient ユーティリティでは、サーバーがすでに適切なクライアントプロファイルで構成されていることを前提としています。 サーバーをインストールして、適切なプロファイルで構成してからクライアントを設定する必要があります。
ldapclient を使用してクライアントを設定するには、主に次の 2 つの方法があります。
「プロファイル」
少なくとも、使用するプロファイルとドメインを含むサーバーアドレスを指定する必要があります。 プロファイルが指定されていない場合は、デフォルトのプロファイルが使用されます。 プロキシと認証データベースの情報を除いて、必要な情報はサーバーから入手できます。 クライアントの資格レベルがプロキシまたは匿名プロキシである場合は、プロキシのバインド DN とパスワードを入力する必要があります。 詳細については、クライアント資格レベルの割り当てを参照してください。
「手動」
クライアント自体でプロファイルを設定します。つまり、コマンド行からすべてのパラメータを定義します。 このため、プロファイル情報はキャッシュファイルに格納されサーバーによってリフレッシュされることはありません。
クライアントを手動で構成することも可能ですが、お勧めしません。 構成用のプロファイルを使用すると、クライアントの管理が容易になりコストも削減できます。
スーパーユーザーになります。
init -a を指定して ldapclient を実行します。
# ldapclient init -a profileName=new \
-a domainName=west.example.com 192.168.0.1
System successfully configured |
スーパーユーザーになります。
ldapclient を実行します (プロキシ値を定義します)。
# ldapclient init -a profileName=pit1 \ -a proxyDN=cn=proxyagent,ou=profile,dc=west,dc=example,dc=com \ -a domainName=west.example.com \ -a proxyPassword=test1234 192.168.0.1 |
System successfully configured |
使用するプロファイルが proxy 用に設定されている場合は、-a proxyDN および -a proxyPassword の値が「必須」です。 サーバーに保存されているプロファイルにはこの資格情報が含まれていないため、クライアントを初期設定するときは資格情報を入力しなければなりません。 この方法は、プロキシの資格情報をサーバーに保存していた従来の方法に比べて安全性が高くなります。
プロキシ情報は、/var/ldap/ldap_client_cred の作成に使用されます。 それ以外の情報は、/var/ldap/ldap_client_file に格納されます。
どちらのクライアント構成ファイルも直接編集しないでください。 これらのファイルの内容を作成または変更する場合は、ldapclient を使用してください。
スーパーユーザーは、クライアントの構成を手動で行うことができます。 ただし、この処理では多数のチェックが省略されるため、システムを正しく構成できないことがよくあります。 また、プロファイルを使用するときのように一括に設定するのではなく、「マシンごとに」設定を変更する必要があります。
スーパーユーザーになります。
ldapclient manual を実行してクライアントを初期化します。
# ldapclient manual -a domainName=dc=west.example.com \ -a credentialLevel=proxy \ -a defaultSearchBase=dc=west, dc=example, dc=com \ -a proxyDN=cn=proxyagent,ou=profile,dc=west,dc=example,dc=com \ -a proxyPassword=testtest 192.168.0.1 |
ldapclient list を使用して確認します。
NS_LDAP_FILE_VERSION= 2.0 NS_LDAP_BINDDN= cn=proxyagent,ou=profile,dc=west,dc=example,dc=com NS_LDAP_BINDPASSWD= {NS1}4a3788e8c053424f NS_LDAP_SERVERS= 192.168.0.0 NS_LDAP_SEARCH_BASEDN= dc=west,dc=example,dc=com NS_LDAP_CREDENTIAL_LEVEL= proxy |
スーパーユーザーになります。
ldapclient mod を実行して、認証方法を simple に変更します。
# ldapclient mod -a authenticationMethod=simple
ldapclient list を実行して、更新が行われたことを確認します。
# ldapclient list
NS_LDAP_FILE_VERSION= 2.0 NS_LDAP_BINDDN= cn=proxyagent,ou=profile,dc=west,dc=example,dc=com NS_LDAP_BINDPASSWD= {NS1}4a3788e8c053424f NS_LDAP_SERVERS= 192.168.0.0 NS_LDAP_SEARCH_BASEDN= dc=west,dc=example,dc=com NS_LDAP_AUTH= simple NS_LDAP_CREDENTIAL_LEVEL= proxy |
ldapclient uninit コマンドは、クライアントのネームサービスを元の状態 (init、modify、または manual の最後の操作が行われる前の状態) に復元します。 言い換えれば、最後に行われた手順を「元に戻します」。 たとえば、profile1 を使用するようにクライアントを設定した後で profile2 を使用するように変更した場合、ldapclient uninit を実行すると、クライアントで profile1 を使用するように設定が元に戻ります。
cert7.db と key3.db の各ファイルには、どのユーザーも読み取り権が必要です。 key3.db ファイルに非公開鍵を含めないようにしてください。
TLS を使用する場合は、必要なセキュリティデータベースをインストールしなければなりません。 特に、cert7.db と key3.db の両ファイルは必須です。 cert7.db ファイルには、信頼できる認証のデータベースが入ります。 key3.db ファイルには、クライアントの鍵が入ります。 LDAP ネームサービスクライアントがクライアントの鍵を使用しない場合でも、このファイルは必要です。
ldapclient を実行する前に、この節に記述されている必要なセキュリティデータベースファイルを設定およびインストールしておく必要があります。
これらのファイルを作成および管理する方法については、 ご使用のバージョンの Sun ONE Directory Server の『管理者ガイド』の「SSL 管理」の章の中の LDAP クライアントで SSL を利用するための構成に関する節を参照してください。 これらのファイルを構成したら、LDAP ネームサービスクライアントで使用できるように所定の場所にそれらを格納する必要があります。 この場所を判断するために、属性 certificatePath が使用されます。 この属性はデフォルトで /var/ldap です。
たとえば、Netscape CommunicatorTM を使用して必要な cert7.db ファイルと key3.db ファイルを設定した後で、これらのファイルをデフォルトの位置にコピーします。
# cp $HOME/.netscape/cert7.db /var/ldap # cp $HOME/.netscape/key3.db /var/ldap |
次に、すべてのユーザーに読み取り権を付与します。
# chmod 444 /var/ldap/cert7.db # chmod 444 /var/ldap/key3.db |
Netscape では、cert7.db と key3.db の各ファイルを $HOME/.netscape ディレクトリで管理します。 このため、それらのセキュリティデータベースを LDAP ネームサービスクライアントで使用する場合は、そのコピーをローカルファイルシステム上に格納する必要があります。
pam_ldap は、パスワード管理機能あり、またはなしで構成できます。 以下の 2 つのオプションから構成に適した手順を選択してください。
パスワード管理機能なしで pam_ldap を使うときは、pam_ldap に対応した pam.conf ファイルの例 のサンプルの pam.conf ファイルにしたがってください。 pam_ldap.so.1 を含む行をクライアントの /etc/pam.conf ファイルに追加します。 詳細については、pam.conf(4)のマニュアルページを参照してください。
パスワード管理機能のために pam_ldap を構成する場合は、パスワード管理のために pam_ldap を構成した pam.conf ファイル例 のサンプルの pam.conf ファイルをコピーします。 次に、 pam_ldap.so.1 を含む行をクライアントの /etc/pam.conf ファイルに追加します。 さらに、サンプルの pam.conf ファイルの中でいずれかの PAM が binding 管理フラグと server_policy オプションを定義している場合は、クライアントの /etc/pam.conf ファイルの対応するモジュールに、同じフラグとオプションを記述します。 また、サービスモジュール pam_authtok_store.so.1 を含む行に、server_policy オプションを追加します。
binding 管理フラグ
binding 管理フラグを使うことにより、遠隔 (LDAP) パスワードよりローカルパスワードが優先されます。 たとえば、ローカルファイルと LDAP 名前空間の両方にユーザーアカウントが見つかった場合、遠隔パスワードよりローカルアカウントのパスワードの方が優先されます。 したがって、ローカルパスワードの期限が切れているときは、たとえ LDAP パスワードがまだ有効であっても認証に失敗します。
server_policy オプション
server_policy オプションを使うことにより、pam_unix は LDAP 名前空間で見つかったユーザーを使わず、pam_ldap は認証やアカウントの検証を行います。 pam_authtok_store.so.1 は、新しいパスワードを暗号化せずに LDAP サーバーに渡します。 そのため、パスワードはサーバー上で構成されるパスワードの暗号化方式にもとづいたディレクトリに保存されます。 詳細は、 pam.conf(4) と pam_ldap(5) のマニュアルページを参照してください。