LDAP の設定と構成

第 4 章 クライアントの設定

この章では、LDAP ネームサービスを使用するための Solaris クライアントの設定方法について説明します。

概要

Solaris クライアントを LDAP クライアントにした場合、NIS/NIS+ または NFS を使用した Solaris クライアントと同様に動作します。このクライアントは強固な検索を実行します。つまり、getXXbyYY() 呼び出しは、応答が返ってくるまで待ちます。通常 NIS(YP) では、ローカルのサブネット上にサーバーを置きますが、これはブロードキャストを使用するように設定されているためです。Solaris 2.0 から、NIS (YP) サーバーがあまり使用されていないにしても、ローカルサブネットの外にあるサーバーを使用できるようになりました。NIS+ はローカルサーバーを使用しないように設定するのが普通です。LDAP は、非ローカルサーバーを使用することが多いという点で、NIS+ に似ています。

したがって、クライアントマシンを動作させるには、ルーターが不可欠になります。

クライアントは、少なくとも 1 つの LDAP サーバーに常にアクセスできるようにしておく必要があります。それには、ネットワークの適度な信頼性を確保するか (ケーブルを切断したり、ルーターの電源を落としたりしない限り、ほとんどのネットワークには適度な信頼性があります)、サーバーをローカルサブネット上に置くようにします。ただし、サーバーをローカルサブネット上に置き、イーサネットスイッチ経由で接続したとしても、ケーブル切断や電源断にはやはり対処できません。

クライアントを常に機能させるには、複数のサーバーを配備し、それらのサーバーを最新の状態に (同じデータが保持されるように) し、クライアントがすべてのサーバーにアクセスできるようにするのが最善の方法です。サーバー優先機能を使用して自分のクライアントを特定のサーバー群に強制的にバインドしている場合は、それらのサーバーが同じ基準を満たしている必要があります。

完全指定ドメイン名 (FQDN)

LDAP クライアントと NIS/NIS+ クライアントの大きな違いは、LDAP クライアントは常に FQDN (完全指定ドメイン名) を返す点で、これは DNS に似ています。たとえば、ドメイン名が engineering.example.net のとき、ホスト名 servergetipnodebyname() で検索したとします (現行の LDAP は IPv4 上でのみ動作しますが、IPv6 への移行に備えて、この API を使用します)。gethostbyname()getipnodebyname() はどちらも、server.engineering.example.net のように FQDN を返します。また、server-# のようなインタフェース固有の別名を使用した場合も、FQDN の長いリストが返されます。

ホスト名を使用してファイルシステムを共有したり、他にこのような検査を行うアプリケーションを使用している場合は、この鍵となる違いを理解し、対処する必要があります。特に、ローカルホストは非 FQDN、(DNS で解決された) リモートホストは FQDN と考えている場合は注意が必要です。DNS と異なるドメイン名を使用して LDAP を設定すると、同じホストでも検索元によって FQDN が異なることがあります。

ldap_cachemgr デーモン

ldap_cachemgr(1M) は、LDAP クライアント上で動作するデーモンです。このデーモンは、構成ファイル内の情報をサーバーからの情報で更新します。

ldap_cachemgr が実行されていないと、構成は更新されません。

ldap_cachemgr は、更新機能の他に、更新照会中の不正な構文を検出する堅牢な解析機能を備えています。

NIS/NIS+ から LDAP への移行

NIS/NIS+ クライアントであったマシンを SunOS 5.8 (Solaris 8) にアップグレードして、LDAP クライアントにするには、ldapclient(1M) を実行します。

ldapclient を実行するには、プロファイル名と最低 1 つのサーバーの IP アドレスが必要です。次の例では、プロファイル名が myprofile、LDAP サーバーが IP アドレス 100.100.100.100 上でデフォルトの LDAP ポート番号 389 を使用して動作しているものとします。

LDAP クライアントを作成する
  1. スーパユーザーになります。

  2. ldapclient(1M) を実行します。


    # ldapclient -P myprofile 100.100.100.100

    ldapclient は構成ファイルを作成し、このクライアントが LDAP を使用してネームサービス検索を行うように /etc/nsswitch.conf ファイルを変更します。

  3. クライアントをリブートします。

ログインすると、ldap で認証されます。

ldaplist コマンド

ldaplist は、LDAP サーバーの名前情報をリストするユーティリティです。詳細は、ldaplist(1) のマニュアルページを参照してください。

LDAP サーバーの名前情報をリストする
  1. 起点識別名 (baseDN) のコンテナをリストします。


    # ldaplist hosts myhost
    dn: cn=myhost+ipHostNumber=100.100.100.100,ou=Hosts,
    dc=mkt,dc=mainstore,dc=com

    引数を省略すると、ldaplist は、現在の検索 baseDN 内のすべてのコンテナを返します。