この章では、Solaris LDAP ネームサービスクライアントの設定方法について説明します。この章で扱う内容は、次のとおりです。
Solaris クライアントで LDAP をネームサービスとして使用するためには、次の要件が満たされている必要があります。
クライアントのドメイン名が LDAP サーバーによって処理される
nsswitch.conf ファイルが、必要なサービスの LDAP を指している
クライアントが、その動作を定義するための特定のパラメータをすべて使って構成されている
ldap_cachemgr がクライアントで実行されている
クライアントが構成されているサーバーが 1 つ以上起動され、実行されている
ldapclient ユーティリティーは、サーバーの起動を除き、上記の手順をすべて実行するので、LDAP クライアントを設定するための鍵となります。この章の後半では、ldapclient ユーティリティーを使用して LDAP クライアントを設定する方法や、それ以外の各種 LDAP ユーティリティーを使用して LDAP クライアントに関する情報を取得したり LDAP クライアントの状態をチェックしたりする方法について、例を挙げて説明します。
LDAP クライアントサービスは、サービス管理機能を使用して管理されます。SMF の概要については、『Solaris のシステム管理 (基本編)』の第 18 章「サービスの管理 (概要)」を参照してください。また、詳細については、svcadm(1M) および svcs(1) のマニュアルページを参照してください。
このサービスに関する有効化、無効化、再起動などの管理アクションは svcadm コマンドを使用して実行できます。
-t オプションを使用してサービスを一時的に無効化すると、そのサービス構成に対していくらかの保護を提供できます。-t オプションを指定してサービスを無効にした場合、リブート後に元の設定が復元されます。-t オプションを指定しないでサービスを無効にした場合、リブート後もそのサービスは無効のままです。
LDAP クライアントサービスに対する障害管理リソース識別子 (FMRI) は、svc:/network/ldap/client:<instance> です。
svcs コマンドを使用することによって、LDAP クライアントおよび ldap_cachemgr の状態を照会できます。
svcs コマンドと出力の例を、次に示します。
# svcs \*ldap\* STATE STIME FMRI online 15:43:46 svc:/network/ldap/client:default |
svcs -l コマンドと出力の例を、次に示します。次に示す出力を得るには、FMRI でインスタンス名を使用する必要があります。
# svcs -l network/ldap/client:default fmri svc:/network/ldap/client:default enabled true state online next_state none restarter svc:/system/svc/restarter:default contract_id 1598 dependency require_all/none file://localhost/var/ldap/ldap_client_file (-) dependency require_all/none svc:/network/initial (online) dependency require_all/none svc:/system/filesystem/minimal (online) |
デーモンの存在は ps コマンドを使用して確認できます。
# ps -e | grep slapd root 23320 1 0 Aug 27 ? 16:30 ./ns-slapd -D \ /usr/iplanet/ds5/slapd-lastrev -i /usr/iplanet/ds5/slapd-lastrev/ root 25367 25353 0 15:35:19 pts/1 0:00 grep slapd |
-f オプションを ps で使用しないでください。このオプションはユーザー ID を名前に変換しようとするため、より多くのネームサービス検索が失敗する可能性があります。
ldapclient(1M) は、Solaris システムで LDAP クライアントを設定するためのユーティリティーです。ldapclient ユーティリティーでは、サーバーがすでに適切なクライアントプロファイルで構成されていることを前提としています。サーバーをインストールして、適切なプロファイルで構成してからクライアントを設定する必要があります。
Solaris オペレーティングシステムは、NIS クライアントとネイティブな LDAP クライアントが同一のクライアントマシン上に共存する構成をサポートしません。
ldapclient を使用してクライアントを設定するには、主に次の 2 つの方法があります。
「プロファイル」
少なくとも、使用するプロファイルとドメインを含むサーバーアドレスを指定する必要があります。プロファイルが指定されていない場合は、デフォルトのプロファイルが使用されます。プロキシと認証データベースの情報を除いて、必要な情報はサーバーから入手できます。クライアントの資格レベルがプロキシまたは匿名プロキシである場合は、プロキシのバインド DN とパスワードを入力してください。詳細については、「クライアント資格レベルの割り当て」を参照してください。
Solaris 10 10/09 リリース以降では、enableShadowUpdate スイッチが使用できます。シャドウデータの更新を有効にするには、管理者資格 (adminDN と adminPassword) を入力する必要があります。
「手動」
クライアント自体でプロファイルを設定します。つまり、コマンド行からすべてのパラメータを定義します。このため、プロファイル情報はキャッシュファイルに格納されサーバーによってリフレッシュされることはありません。
クライアントを手動で構成することも可能ですが、お勧めしません。構成用のプロファイルを使用すると、クライアントの管理が容易になりコストも削減できます。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の第 9 章「役割によるアクセス制御の使用 (手順)」を参照してください。
init を指定して ldapclient を実行します。
# ldapclient init \ -a profileName=new \ -a domainName=west.example.com 192.168.0.1 System successfully configured |
どちらのクライアント構成ファイルも直接編集しないでください。これらのファイルの内容を作成または変更する場合は、ldapclient コマンドを使用してください。
ユーザー別の資格を使用してクライアントを設定する前に、次の項目が構成済みである必要があります。
1 つ以上の Kerberos KDC サーバーが構成され、稼働している
DNS、DNS サーバーへのクライアントアクセス、および 1 つ以上の DNS サーバーが構成され、稼働している
クライアントマシン上の Kerberos が構成され、有効にされている
Kerberos クライアントのインストールプロファイルが存在している。次にプロファイルの例を示す
# cat /usr/tmp/krb5.profile REALM SPARKS.COM KDC kdc.example.com ADMIN super/admin FILEPATH /usr/tmp/krb5.conf NFS 1 DNSLOOKUP none |
LDAP サーバーがインストールおよび構成され、sasl/GSSAPI がサポートされている
適切な識別情報マッピング構成が存在する
ディレクトリサーバーおよび KDC 用の Kerberos ホスト主体が KDC 内で設定されている
使用するディレクトリサーバー DIT 上で idsconfig が稼働している
ユーザー別の適切な gssapi プロファイル (gssapi_EXAMPLE.COM など) が作成済みである
次に、idsconfig で表示されるユーザー別プロファイルの例の一部を示します。
# /usr/lib/ldap/idsconfig Do you wish to continue with server setup (y/n/h)? [n] y Enter the iPlanet Directory Server's (iDS) hostname to setup: kdc.example.com Enter the port number for iDS (h=help): [389] <Enter your port> Enter the directory manager DN: [cn=Directory Manager] <Enter your DN> Enter passwd for cn=Directory Manager : <Enter your password> Enter the domainname to be served (h=help): [example.com] <Enter your domain> Enter LDAP Base DN (h=help): [dc=example,dc=com] <Enter your DN> GSSAPI is supported. Do you want to set up gssapi:(y/n) [n] y Enter Kerberos Realm: [EXAMPLE.COM] EXAMPLE.COMYou can create a sasl/GSSAPI enabled profile with default values now. Do you want to create a sasl/GSSAPI default profile ? [n] y Enter. the profile name (h=help): [gssapi_EXAMPLE.COM] <Enter> GSSAPI setup is done. ... |
必須のユーザー主体が鍵配布センター (KDC) 内に存在する
クライアントマシン上で、次に示すようなコマンドにより、クライアントプロファイルを使って Kerberos が初期化される
# /usr/sbin/kclient -p /usr/tmp/krb5.profile |
/etc/nsswitch.ldap が、hosts および ipnodes 用の dns を使用するように構成される。必要に応じ、エディタを使用してこのファイルを次のように修正します。
host: files dns ipnodes: files dns |
/etc/resolv.conf が構成され、dns サービスが稼働している。詳細は、このマニュアルの DNS に関する章を参照してください。
ディレクトリサーバー DIT が、(少なくとも) このクライアントマシンのユーザー、クライアントホスト、および必須の auto_home LDAP エントリで読み込み済みである。ldapaddent を使用してエントリを追加する方法については、このマニュアルのほかの節を参照してください。
ldapclient init を実行し、gssapi プロファイルを使用してクライアントを初期化します。
# /usr/sbin/ldapclient init -a profilename=gssapi_SPARKS.COM -a \ domainname=example.com 9.9.9.50 |
ユーザーとしてログインを試みます。
kinit -p user を実行します。
ユーザーのログインセッションで ldaplist -l passwd user を実行します。「userpassword」が表示されるはずです。
一方、ldaplist -l passwd bar を実行すると、userpassword なしでエントリを取得できます。デフォルトでは、root はすべてのユーザーの userpassword を引き続き表示できます。
syslog でメッセージ libsldap: Status: 7 Mesg: openConnection: GSSAPI bind failed - 82 Local error が表示される場合、Kerberos が初期化されていないか、チケットの有効期限が切れていることが考えられます。klist を実行して、表示される内容を確認します。kinit -p foo または kinit -R -p foo を実行して、再度試みてください。
必要に応じて、pam_krb5.so.1 を /etc/pam.conf に追加することで、ログイン時に kinit を自動的に実行できます。
次に例を示します。
login auth optional pam_krb5.so.1 rlogin auth optional pam_krb5.so.1 other auth optional pam_krb5.so.1 |
ユーザーが kinit され、syslog メッセージに Invalid credential が表示される場合は、原因として、ホストのエントリ (root) かユーザーエントリが LDAP ディレクトリ内に存在しない、またはマッピング規則が正しくないことが考えられます。
ldapclient init の実行時に、LDAP プロファイルに self/ sasl/GSSAPI 構成が含まれるかどうかがチェックされます。/etc/nsswitch.ldap のチェックに失敗する場合の一般的な原因は、dns が host: および ipnodes: に追加されていないことです。
DNS クライアントが有効でないために失敗する場合は、svcs -l dns/client を実行して、/etc/resolv.conf が存在しないのか、単に無効になっているのかを確認します。これを有効にするには、svcadm enable dns/client を実行します。
sasl/GSSAPI バインドが原因でチェックが失敗する場合は、syslog で問題の箇所を確認します。
詳細については、このマニュアルのほかの箇所および『Solaris のシステム管理 (セキュリティサービス)』を参照してください。
どちらのクライアント構成ファイルも直接編集しないでください。これらのファイルの内容を作成または変更する場合は、ldapclient を使用してください。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の第 9 章「役割によるアクセス制御の使用 (手順)」を参照してください。
ldapclient を実行します (プロキシ値を定義します)。
# ldapclient init \ -a proxyDN=cn=proxyagent,ou=profile,dc=west,dc=example,dc=com \ -a domainName=west.example.com \ -a profileName=pit1 \ -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 に格納されます。
Solaris 10 10/09 リリース以降では、enableShadowUpdate スイッチが使用できます。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の第 9 章「役割によるアクセス制御の使用 (手順)」を参照してください。
enableShadowUpdate スイッチを設定し、管理者資格を定義するには、ldapclient コマンドを実行します。
既に実行中のクライアントを更新するには、次のコマンドを使用します。
# ldapclient mod -a enableShadowUpdate=TRUE \ -a adminDN=cn=admin,ou=profile,dc=west,dc=example,dc=com \ -a adminPassword=admin-password System successfully configured |
クライアントを初期化するには、次のコマンドを使用します。
# ldapclient init \ -a adminDN=cn=admin,ou=profile,dc=west,dc=example,dc=com \ -a adminPassword=admin-password -a domainName=west.example.com \ -a profileName=WestUserProfile \ -a proxyDN=cn=proxyagent,ou=profile,dc=west,dc=example,dc=com \ -a proxyPassword=i<proxy_password> \ 192.168.0.1 System successfully configured |
構成を検証するには、/var/ldap/ldap_client_cred ファイルの内容を表示します。
出力には、次のような行を含むべきです。
# cat /var/ldap/ldap_client_cred NS_LDAP_BINDDN= cn=proxyagent,ou=profile,dc=west,dc=example,dc=com NS_LDAP_BINDPASSWD= {NS1}4a3788f8eb85de11 NS_LDAP_ENABLE_SHADOW_UPDATE= TRUE NS_LDAP_ADMIN_BINDDN= cn=admin,ou=profile,dc=west,dc=example,dc=com NS_LDAP_ADMIN_BINDPASSWD= {NS1}4a3788f8c053434f |
スーパーユーザー、または同等の役割の管理者は、クライアントを手動で構成できます。ただし、この処理では多数のチェックが省略されるため、システムを正しく構成できないことがよくあります。また、プロファイルを使用するときのように一括に設定するのではなく、「マシンごとに」設定を変更する必要があります。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の第 9 章「役割によるアクセス制御の使用 (手順)」を参照してください。
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.1 NS_LDAP_SEARCH_BASEDN= dc=west,dc=example,dc=com NS_LDAP_CREDENTIAL_LEVEL= proxy |
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の第 9 章「役割によるアクセス制御の使用 (手順)」を参照してください。
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.1 NS_LDAP_SEARCH_BASEDN= dc=west,dc=example,dc=com NS_LDAP_AUTH= simple NS_LDAP_CREDENTIAL_LEVEL= proxy |
LDAP クライアント設定には、mod サブコマンドでは変更できない属性があります。たとえば、profileName 属性や profileTTL 属性は変更できません。これらの属性を変更するには、「プロファイルを使用してクライアントを初期化する」で説明されているように、ldapclient init コマンドを使用して新しいプロファイルを作成します。「クライアントを手動で初期設定する」で説明されているように、ldapclient manual コマンドを実行することもできます。
ldapclient uninit コマンドは、クライアントのネームサービスを元の状態 (init、modify、または manual の最後の操作が行われる前の状態) に復元します。言い換えれば、最後に行われた手順を「元に戻します」。たとえば、profile1 を使用するようにクライアントを設定したあとで profile2 を使用するように変更した場合、ldapclient uninit を実行すると、クライアントで profile1 を使用するように設定が元に戻ります。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の第 9 章「役割によるアクセス制御の使用 (手順)」を参照してください。
ldapclient uninit を実行します。
# ldapclient uninit System successfully recovered |
セキュリティーデータベースファイルは、すべてのユーザーから読み取れるようにする必要があります。key3.db に非公開鍵を含めないようにしてください。
TLS を使用する場合は、必要なセキュリティーデータベースをインストールしなければなりません。具体的には証明書ファイルと鍵データベースファイルが必要です。たとえば、Netscape Communicator の古いデータベースフォーマットを使用する場合、cert7.db と key3.db の 2 つのファイルが必要です。あるいは、Mozilla の新しいデータベースフォーマットを使用する場合、cert8.db、key3.db、および secmod.db の 3 つのファイルが必要です。cert7.db ファイルまたは cert8.db ファイルには、信頼された証明書が入ります。key3.db ファイルには、クライアントの鍵が入ります。LDAP ネームサービスクライアントがクライアントの鍵を使用しない場合でも、このファイルは必要です。secmod.db ファイルには、 PKCS#11 などのセキュリティーモジュールが入ります。このファイルは、古いフォーマットを使用する場合には必要ありません。
ldapclient を実行する前に、この節に記述されている必要なセキュリティーデータベースファイルを設定およびインストールしておく必要があります。
これらのファイルを作成および管理する方法については、ご使用のバージョンの Sun Java System Directory Server の『管理者ガイド』の「SSL 管理」の章の中の LDAP クライアントで SSL を利用するための構成に関する節を参照してください。これらのファイルを構成したら、LDAP ネームサービスクライアントで使用できるように所定の場所にそれらを格納する必要があります。この場所を判断するために、属性 certificatePath が使用されます。この属性はデフォルトで /var/ldap です。
たとえば、Netscape Communicator を使用して必要な 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 ディレクトリで管理し、Mozilla は cert8.db ファイル、key3.db ファイル、および secmod.db ファイルを $HOME/.mozilla のサブディレクトリで管理します。このため、それらのセキュリティーデータベースを LDAP ネームサービスクライアントで使用する場合は、そのコピーをローカルファイルシステム上に格納する必要があります。
pam_ldap は、LDAP の認証およびアカウント管理用 PAM モジュールオプションの 1 つです。pam_ldap で現在サポートされている機能の詳細については、pam_ldap(5) のマニュアルページと付録 A Solaris 10 ソフトウェアの DNS、NIS、および LDAP の更新を参照してください。
ユーザー別モードと自己資格オプションの両方を選択した場合は、PAM Kerberos pam_krb5(5) pam モジュールも有効にする必要があります。詳細については、pam_krb5(5) のマニュアルページおよび『Solaris のシステム管理 (セキュリティサービス)』を参照してください。
UNIX policy を使用するように PAM を構成するには、「pam_ldap に対応した pam.conf ファイルの例」に示す例に従ってください。pam_ldap.so.1 を含む行をクライアントの /etc/pam.conf ファイルに追加します。詳細については、pam.conf(4) のマニュアルページを参照してください。
LDAP server_policy を使用するように PAM を構成するには、「アカウント管理のために pam_ldap を構成した 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 オプションを追加します。
以前は、pam_ldap アカウント管理を有効にすると、システムにログインする際には、常にすべてのユーザーが認証用にログインパスワードを入力する必要がありました。そのため、rsh、rlogin、ssh などのツールによるパスワードを使用しないログインは失敗します。
一方、pam_ldap(5) を Sun Java System Directory Server DS5.2p4 以降のリリースで使用することで、ユーザーはパスワードを入力せずに、rsh、rlogin、rcp、および ssh を使ってログインできるようになりました。
pam_ldap(5) は変更され、ユーザーのログイン時に Directory Server への認証を実行せずに、アカウントの管理およびユーザーのアカウント状態の取得を実行できるようになりました。Directory Server 上でこの機能を制御するのは、1.3.6.1.4.1.42.2.27.9.5.8 です。これは、デフォルトで有効になっています。
この制御をデフォルト以外に変更する場合は、Directory Server 上でアクセス制御情報 (ACI) を追加します。
dn: oid=1.3.6.1.4.1.42.2.27.9.5.8,cn=features,cn=config objectClass: top objectClass: directoryServerFeature oid:1.3.6.1.4.1.42.2.27.9.5.8 cn:Password Policy Account Usable Request Control aci: (targetattr != "aci")(version 3.0; acl "Account Usable"; allow (read, search, compare, proxy) (groupdn = "ldap:///cn=Administrators,cn=config");) creatorsName: cn=server,cn=plugins,cn=config modifiersName: cn=server,cn=plugins,cn=config |
binding 管理フラグ
binding 管理フラグを使うことにより、遠隔 (LDAP) パスワードよりローカルパスワードが優先されます。たとえば、ローカルファイルと LDAP 名前空間の両方にユーザーアカウントが見つかった場合、遠隔パスワードよりローカルアカウントのパスワードの方が優先されます。したがって、ローカルパスワードの期限が切れているときは、たとえ LDAP パスワードがまだ有効であっても認証に失敗します。
server_policy オプション
server_policy オプションによって、pam_unix_auth、 pam_unix_account、および pam_passwd_auth は LDAP 名前空間で検出されたユーザーを無視し、pam_ldap による認証やアカウント検証が可能になります。pam_authtok_store は、新しいパスワードを暗号化せずに LDAP サーバーに渡します。そのため、パスワードはサーバー上で構成されるパスワードの暗号化方式に基づいたディレクトリに保存されます。詳細については、pam.conf(4) および pam_ldap(5) のマニュアルページを参照してください。
ldaplist ユーティリティーを使用して、LDAP ネームサービスについての情報を取得できます。この LDAP ユーティリティーは、LDAP サーバーから取得したネームサービス情報を LDIF フォーマットで表示します。このユーティリティーは、トラブルシューティングに役立ちます。詳細については、ldaplist(1) のマニュアルページを参照してください。
ldaplist は、レコードを空行で区切って出力を表示します。この表示方法は、複数行にまたがる大きなレコードに有効です。
ldaplist の出力は、クライアントの構成によって変わります。たとえば、ns_ldap_search の値が one ではなく sub である場合は、ldaplist によって現在の検索 baseDN の下にあるエントリがすべて表示されます。
次に ldaplist の出力例を示します。
# ldaplist dn: ou=people,dc=west,dc=example,dc=com dn: ou=group,dc=west,dc=example,dc=com dn: ou=rpc,dc=west,dc=example,dc=com dn: ou=protocols,dc=west,dc=example,dc=com dn: ou=networks,dc=west,dc=example,dc=com dn: ou=netgroup,dc=west,dc=example,dc=com dn: ou=aliases,dc=west,dc=example,dc=com dn: ou=hosts,dc=west,dc=example,dc=com dn: ou=services,dc=west,dc=example,dc=com dn: ou=ethers,dc=west,dc=example,dc=com dn: ou=profile,dc=west,dc=example,dc=com dn: automountmap=auto_home,dc=west,dc=example,dc=com dn: automountmap=auto_direct,dc=west,dc=example,dc=com dn: automountmap=auto_master,dc=west,dc=example,dc=com dn: automountmap=auto_shared,dc=west,dc=example,dc=com |
ユーザーの passwd エントリなど特定の情報を表示する場合は、次のように getent を使用します。
# getent passwd user1 user1::30641:10:Joe Q. User:/home/user1:/bin/csh |
すべての属性を表示する場合は、-l オプションを指定して ldaplist コマンドを実行します。
# ldaplist -l passwd user1dn: uid=user1,ou=People,dc=west,dc=example,dc=com uid: user1 cn: user1 uidNumber: 30641 gidNumber: 10 gecos: Joe Q. User homeDirectory: /home/user1 loginShell: /bin/csh objectClass: top objectClass: shadowAccount objectClass: account objectClass: posixAccount shadowLastChange: 6445 |
以降の節では、クライアント環境をカスタマイズする方法について説明します。
どのサービスも変更できますが注意が必要です。変更したサービスのデータがサーバー上に生成されない場合、カスタマイズは無効になります。また、ファイルがデフォルトで設定されない場合もあります。
/etc/nsswitch.conf ファイルを変更して、各サービスが情報を取得する場所をカスタマイズできます。デフォルトの設定は /etc/nsswitch.ldap に保存されており、クライアントの初期化時に ldapclient がこのファイルを使って /etc/nsswitch.conf ファイルを作成します。
/etc/resolv.conf ファイルを設定して DNS を使用可能にする場合は、次に示すように、DNS を hosts 行に追加します。
hosts: ldap dns [NOTFOUND=return] files |
推奨構成を次に示します。
hosts: files dns
ipnodes: files dns
ユーザー別の認証を使用する場合、sasl/GSSAPI および Kerberos 機構は dns ネームサービスが構成され、有効になっていることを前提に動作します。詳細については、この管理ガイドの DNS に関する章を参照してください。