どちらのクライアント構成ファイルも直接編集しないでください。これらのファイルの内容を作成または変更する場合は、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 のシステム管理 (セキュリティサービス)』を参照してください。