この章では、Kerberos サービスを使用するときに発生するエラーメッセージの解決策を説明します。また、さまざまな問題を解決するためのヒントについても説明します。次に、この章で説明するエラーメッセージと障害追跡方法の一覧を示します。
この節では、Kerberos のエラーメッセージ、エラーの発生原因、およびその対処方法について説明します。
主体またはポリシーのリストにアクセスできません; 「名前」フィールドを使用してください。(Unable to view the list of principals or policies; use the Name field.)
原因:ログインに使用した admin 主体には、Kerberos ACL ファイル (kadm5.acl) のリスト特権 (l) がありません。このため、主体リストおよびポリシーリストを表示できません。
対処方法:主体名およびポリシー名を「名前 (Name)」フィールドに入力するか、適切な特権を持つ主体を使用してログインする必要があります。
JNI: Java array creation failed
JNI: Java class lookup failed
JNI: Java field lookup failed
JNI: Java method lookup failed
JNI: Java object lookup failed
JNI: Java object field lookup failed
JNI: Java string access failed
JNI: Java string creation failed
原因:SEAM 管理ツール (gkadmin) で使用される Java Native Interface で重大な問題が発生しました。
対処方法:gkadmin を終了して再起動してください。それでも問題が解決しない場合は、バグを報告してください。
この節では、Kerberos コマンド、Kerberos デーモン、PAM フレームワーク、GSS インタフェース、NFS サービス、および Kerberos ライブラリに共通するエラーメッセージを、英語版メッセージのアルファベット順 (A - M) に示します。
All authentication systems disabled; connection refused (すべての認証システムが無効です。接続が拒否されました。)
原因:このバージョンの rlogind は認証メカニズムをサポートしていません。
対処方法:rlogind の起動時に -k オプションが指定されていることを確認してください。
Another authentication mechanism must be used to access this host (このホストにアクセスするには、別の認証メカニズムを使用する必要があります。)
原因:認証を実行できませんでした。
対処方法:クライアントが Kerberos V5 メカニズムを使って認証を行なっていることを確認してください。
Authentication negotiation has failed, which is required for encryption. Good bye. (暗号化に必要となる認証のネゴシエーションが失敗しました。処理を中断します。)
原因:認証で、サーバーとのネゴシエーションが失敗しました。
対処方法:telnet と toggle authdebug コマンドを実行して認証デバッグ機能を開始し、そのデバッグメッセージからさらなる手掛かりを得てください。また、所有している資格が有効であることも確認してください。
Bad krb5 admin server hostname while initializing kadmin interface (kadmin インタフェースを初期化中に、krb5 admin サーバーホスト名が無効です。)
原因:krb5.conf ファイルの admin_server に、無効なホスト名が設定されています。
対処方法:krb5.conf ファイルの admin_server 行に、マスター KDC の正しいホスト名を指定してください。
Bad lifetime value (有効期限値が無効です。)
原因:指定した有効期限値が無効または間違った形式です。
対処方法:指定した値が、kinit(1) のマニュアルページの時刻形式のセクションに適合していることを確認してください。
Bad start time value (開始時刻の値が無効です。)
原因:指定した開始時刻が無効または間違った形式です。
対処方法:指定した値が、kinit(1) のマニュアルページの時刻形式のセクションに適合していることを確認してください。
Cannot contact any KDC for requested realm (要求されたレルムの KDC に接続できません。)
原因:要求されたレルムの KDC が応答しません。
対処方法:1 つ以上の KDC (マスターまたはスレーブ) にアクセスできること、または krb5kdc デーモンが KDC 上で動作していることを確認してください。/etc/krb5/krb5.conf ファイルに指定されている構成済みの KDC (kdc = kdc_name) を確認してください。
Cannot determine realm for host (ホスト用のレルムを決定できません。)
原因:Kerberos がホストのレルム名を判断できません。
対処方法:デフォルトのレルム名を指定するか、Kerberos 構成ファイル (krb5.conf) にドメイン名のマッピングを設定してください。
Cannot find KDC for requested realm (要求されたレルムの KDC が見つかりません。)
原因:要求されたレルムに KDC が見つかりません。
対処方法:Kerberos 構成ファイル (krb5.conf) の realm セクションに KDC が指定されていることを確認してください。
cannot initialize realm realm-name (レルム realm-name を初期化できません。)
原因:KDC に stash ファイルが存在しない可能性があります。
対処方法:KDC に stash ファイルが存在することを確認してください。存在しない場合は、kdb5_util コマンドを使用して stash ファイルを作成し、再度 krb5kdc コマンドを実行します。
Cannot resolve KDC for requested realm (要求されたレルムの KDC を解決できません。)
原因:Kerberos がレルムの KDC を判断できません。
対処方法:Kerberos 構成ファイル (krb5.conf) の realm セクションに KDC が指定されていることを確認してください。
Cannot reuse password (パスワードは再利用できません。)
原因:指定したパスワードは、以前にこの主体によって使用されています。
対処方法:以前に使用されたことのないパスワードを選択してください。少なくとも KDC データベースに主体ごとに保持されている数のパスワードは、選択しないでください。このポリシーは、主体のポリシーによって適用されます。
Can't get forwarded credentials (転送された資格を取得できません。)
原因:資格の転送ができません。
対処方法:この主体に転送可能な資格を設定してください。
Can't open/find Kerberos configuration file (Kerberos 構成ファイルを開けません / 見つかりません。)
原因:Kerberos 構成ファイル (krb5.conf) を使用できません。
対処方法:krb5.conf ファイルが、正しい場所に配置されていることを確認してください。また、このファイルに正しいアクセス権が与えられていることを確認してください。このファイルに対する書き込み権は root、読み込み権はすべてのユーザーに与える必要があります。
Client did not supply required checksum--connection rejected (必要なチェックサム情報がクライアントから提供されませんでした。接続が拒否されました。)
原因:チェックサム付き認証で、クライアントとのネゴシエーションに失敗しました。クライアントが、初期接続をサポートしない旧 Kerberos V5 プロトコルを使用している可能性があります。
対処方法:クライアントが、初期接続をサポートする Kerberos V5 プロトコルを使用していることを確認してください。
Client/server realm mismatch in initial ticket request (初期チケット要求でクライアント/サーバーレルムが一致していません。)
原因:初期チケット要求で、クライアントとサーバーのレルムが一致していません。
対処方法:通信しているサーバーがクライアントと同じレルムに配置されていること、またはレルム構成が正しいことを確認してください。
Client or server has a null key (クライアントまたはサーバーの鍵が空です。)
原因:クライアントまたはサーバーの鍵が空です。
対処方法:kadmin の cpw コマンドを使用して、主体の鍵の値を入力してください。
Communication failure with server while initializing kadmin interface (kadmin インタフェースを初期化中に、サーバーとの通信の失敗です。)
原因:管理サーバーとして指定したホスト (マスター KDC) 上で、kadmind デーモンが動作していません。
対処方法:マスター KDC に正しいホスト名が指定されていることを確認してください。ホスト名が正しい場合は、指定したマスター KDC 上で kadmind が動作していることを確認してください。
Credentials cache file permissions incorrect (資格キャッシュファイルのアクセス権が正しくありません。)
原因:資格キャッシュ (/tmp/krb5cc_uid) に対する読み取り権または書き込み権が適切ではありません。
対処方法:資格キャッシュに対する読み取り権および書き込み権があることを確認してください。
Credentials cache I/O operation failed XXX (資格キャッシュ入出力操作が失敗しました。XXX)
原因:システムの資格キャッシュ (/tmp/krb5cc_uid) に書き込むときに、Kerberos で問題が発生しました。
対処方法:資格キャッシュが削除されていないことを確認し、df コマンドを使用してデバイスの空き領域を確認してください。
Decrypt integrity check failed (復号化で整合性チェックが失敗しました。)
原因:チケットが無効である可能性があります。
対処方法:次の条件をいずれも確認してください。
資格が有効であることを確認してください。kdestroy を使用してチケットを破棄し、kinit を使用して新しいチケットを作成します。
対象ホストのキータブファイルに対して、正しいバージョンのサービス鍵が割り当てられていることを確認してください。kadmin を使用して、Kerberos データベースのサービス主体 (host/FQDN-hostname など) の鍵バージョン番号を表示します。対象ホスト上で klist -k を使用して、鍵バージョン番号がその番号であることを確認します。
Encryption could not be enabled. Good bye. (暗号化を有効化できませんでした。処理を中止します。)
原因:暗号化で、サーバーとのネゴシエーションに失敗しました。
対処方法:telnet と toggle encdebug コマンドを実行して認証デバッグ機能を開始し、そのデバッグメッセージからさらなる手掛かりを得てください。
failed to obtain credentials cache (資格キャッシュを取得できませんでした。)
原因:kadmin の初期化中に、kadmin が admin 主体の資格を取得しようとしましたが、失敗しました。
対処方法:kadmin を実行したときに、正しい主体とパスワードを使用したことを確認してください。
Field is too long for this implementation (この実装ではフィールドが長すぎます。)
原因:Kerberos アプリケーションから送信されたメッセージのサイズが長すぎます。このエラーは、トランスポートプロトコルが UDP の場合に発生します。UDP では、デフォルトの最大メッセージ長は 65535 バイトです。また、Kerberos サービスから送信されるプロトコルメッセージの各フィールドにも制限があります。
対処方法:KDC サーバーの /etc/krb5/kdc.conf ファイルでトランスポートを UDP に制限していないことを確認してください。
GSS-API (or Kerberos) error (GSS-API (または Kerberos) エラー)
原因:このメッセージは、汎用 GSS-API または Kerberos のエラーメッセージで、いくつかの問題の組み合わせによって発生した可能性があります。
対処方法:/var/krb5/kdc.log ファイルを確認して、このエラーが発生したときに詳細なエラーメッセージが記録されているかどうかを確認してください。
Hostname cannot be canonicalized (ホスト名を展開できません。)
原因:Kerberos がホスト名を完全指定できません。
対処方法:このホスト名が DNS に定義されていることと、ホスト名とアドレス間の双方向のマッピングについて整合性を確認してください。
Illegal cross-realm ticket (レルム間のチケットが無効です。)
原因:送信されたチケットのレルム間関係が正しくありません。レルム間に正しい信頼関係が設定されていない可能性があります。
対処方法:使用しているレルム間の信頼関係が正しいことを確認してください。
Improper format of Kerberos configuration file (Kerberos 構成ファイルのフォーマットが不適切です。)
原因:Kerberos 構成ファイルに無効なエントリがあります。
対処方法:krb5.conf ファイル内のすべての関係式に、= 記号と値が使用されていることを確認してください。また、各下位セクションが角カッコで囲まれていることも確認してください。
Inappropriate type of checksum in message (メッセージのチェックサムのタイプが不適切です。)
原因:このメッセージに無効なチェックサムタイプが含まれています。
対処方法:krb5.conf および kdc.conf ファイルに指定されているチェックサムタイプが有効であることを確認してください。
Incorrect net address (ネットアドレスが間違っています。)
原因:ネットワークアドレスが一致しません。転送されたチケット内のネットワークアドレスが、チケットが処理されたときのネットワークアドレスと一致しません。このメッセージは、チケットの転送時に発生します。
対処方法:ネットワークアドレスが正しいことを確認してください。kdestroy を使用してチケットを破棄し、kinit を使用して新しいチケットを作成します。
Invalid credential was supplied (無効な資格が指定されました。)
Service key not available (サービス鍵が使用できません。)
原因:資格キャッシュ内のサービスチケットが間違っている可能性があります。
対処方法:現在の資格キャッシュを破棄して、このサービスを使用する前に kinit を再実行してください。
Invalid flag for file lock mode (ファイルロックモードのフラグが無効です。)
原因:Kerberos の内部エラーが発生しました。
対処方法:バグを報告してください。
Invalid message type specified for encoding (符号化に対し無効なメッセージタイプが指定されました。)
原因:Kerberos アプリケーションから送信されたメッセージ形式を、Kerberos が認識できません。
対処方法:使用するサイトまたはベンダーで開発した Kerberos アプリケーションを使用している場合は、Kerberos が正しく使用されていることを確認してください。
Invalid number of character classes (文字クラス数が正しくありません。)
原因:主体に指定したパスワードに、主体のポリシーによって適用された数のパスワードクラスが含まれていません。
対処方法:ポリシーに指定されている最小パスワードクラス数を使用して、パスワードを指定してください。
KADM err: Memory allocation failure (KADM エラー: メモリー割り当ての失敗です。)
原因:kadmin の実行に必要なメモリーが不足しています。
対処方法:メモリーを解放してから、kadmin を再実行してください。
kadmin: Bad encryption type while changing host/<FQDN>'s key (host/<FQDN> のキーの変更中に不正な暗号化タイプが見つかりました。)
原因:Solaris 10 8/07 リリースの基本リリースには、デフォルトの暗号化タイプがいくつか追加されました。以前のバージョンの Solaris ソフトウェアを実行している KDC がサポートしない暗号化タイプをクライアントが要求する場合があります。
対処方法:この問題を解決するための対処方法がいくつか用意されています。もっとも簡単に実行できる方法を次に示します。
SUNWcry および SUNWcryr パッケージを KDC サーバーに追加します。これにより、KDC がサポートする暗号化タイプの数が増えます。
aes256 暗号化タイプを含まないように、クライアント上の krb5.conf の permitted_enctypes を設定します。この手順は、新しいクライアントが追加されるごとに実行する必要があります。
KDC can't fulfill requested option (KDC は要求したオプションを処理できません。)
原因:要求されたオプションを KDC が許可しませんでした。遅延または転送可能オプションが要求されましたが、KDC が許可しませんでした。または、TGT の更新が要求されましたが、更新可能な TGT が存在しない可能性があります。
対処方法:KDC が許可しないオプションまたは使用できない種類のチケットを要求していないかどうかを確認してください。
KDC policy rejects request (KDC ポリシーは要求を拒否します。)
原因:KDC ポリシーが要求を許可しませんでした。たとえば、KDC に対する要求に IP アドレスが含まれていないことがあります。あるいは、要求は転送されたが、KDC が許可しなかった可能性があります。
対処方法:正しいオプションを指定して kinit を実行していることを確認してください。必要に応じて、主体に関連付けられたポリシーを変更するか、要求が許可されるように主体の属性を変更します。ポリシーまたは主体を変更するには、kadmin を使用します。
KDC reply did not match expectations (KDC 応答は予期したものと一致しませんでした。)
原因:KDC の応答に予期した主体名が含まれていないか、応答内のその他の値が正しくありません。
対処方法:通信先の KDC が RFC 1510 に準拠していること、送信している要求が Kerberos V5 要求であること、または KDC が有効であることを確認してください。
kdestroy:Could not obtain principal name from cache (キャッシュから主体名を取得できません。)
原因:資格キャッシュが欠落しているか、または破壊されています。
対処方法:指定したキャッシュ位置が正しいことを確認してください。必要に応じて、kinit を使用して削除し、新しい TGT を取得してください。
kdestroy:Could not obtain principal name from cache (キャッシュの破棄中に資格キャッシュが見つかりませんでした。)
原因:資格キャッシュ (/tmp/krb5c_uid) が欠落しているか、または破壊されています。
対処方法:指定したキャッシュ位置が正しいことを確認してください。必要に応じて、kinit を使用して削除し、新しい TGT を取得してください。
kdestroy:Could not obtain principal name from cache (TGT 期限切れの警告が削除されません。)
原因:資格キャッシュが欠落しているか、または破壊されています。
対処方法:指定したキャッシュ位置が正しいことを確認してください。必要に応じて、kinit を使用して削除し、新しい TGT を取得してください。
Kerberos authentication failed (Kerberos 認証に失敗しました。)
原因:Kerberos パスワードが正しくないか、または UNIX パスワードと一致していません。
対処方法:パスワードが一致していない場合は、Kerberos 認証に成功する別のパスワードを指定する必要があります。ユーザーが元のパスワードを忘れた可能性があります。
Kerberos V5 refuses authentication (Kerberos V5 によって認証が拒否されました。)
原因:認証で、サーバーとのネゴシエーションが失敗しました。
対処方法:telnet と toggle authdebug コマンドを実行して認証デバッグ機能を開始し、そのデバッグメッセージからさらなる手掛かりを得てください。また、所有している資格が有効であることも確認してください。
Key table entry not found (鍵テーブルエントリが見つかりません。)
原因:ネットワークアプリケーションサーバーのキータブファイルに、サービス主体のエントリがありません。
対処方法:サーバーのキータブファイルに適切なサービス主体を追加して、Kerberos サービスを提供できるようにしてください。
Key version number for principal in key table is incorrect (鍵テーブルの主体の鍵バージョン番号が正しくありません。)
原因:キータブファイルと Kerberos データベース内の主体の鍵バージョンが異なります。サービスの鍵が変更されたか、旧サービスチケットを使用している可能性があります。
対処方法:kadmin などによってサービスの鍵が変更されている場合は、新しい鍵を抽出して、サービスが動作しているホストのキータブファイルに格納する必要があります。
または、旧サービスチケットを使用しているため、鍵が古い可能性があります。kdestroy コマンドを実行し、次に kinit コマンドを再度実行してください。
kinit: gethostname failed (gethostname が失敗しました。)
原因:ローカルネットワーク構成でのエラーは、kinit が失敗する原因になります。
対処方法:ホストが正しく構成されていることを確認してください。
login: load_modules: can not open module /usr/lib/security/pam_krb5.so.1 (load_modules: /usr/lib/security/pam_krb5.so.1 モジュールを開けません。)
原因:Kerberos PAM モジュールが存在しないか、有効な実行可能バイナリではありません。
対処方法:Kerberos PAM モジュールが /usr/lib/security ディレクトリに存在し、有効な実行可能バイナリであることを確認してください。また、/etc/pam.conf ファイルに pam_krb5.so.1 への正しいパスが指定されていることも確認してください。
Looping detected inside krb5_get_in_tkt (krb5_get_in_tkt 内部でループが検出されました。)
原因:Kerberos が初期チケットを複数回取得しようとしましたが、失敗しました。
対処方法:認証要求に対して 1 つ以上の KDC が応答していることを確認してください。
Master key does not match database (マスター鍵がデータベースと一致しません。)
原因:読み込まれたデータベースのダンプが、マスター鍵を含むデータベースから作成されませんでした。マスター鍵は /var/krb5/.k5.REALM 内に格納されています。
対処方法:読み込まれたデータベースダンプ内のマスター鍵が、/var/krb5/.k5.REALM に配置されているマスター鍵と一致していることを確認してください。
Matching credential not found (一致する資格が見つかりません。)
原因:要求に一致する資格が見つかりませんでした。資格キャッシュで使用できない資格を要求しています。
対処方法:kdestroy を使用してチケットを破棄し、kinit を使用して新しいチケットを作成します。
Message out of order (メッセージの順序が違います。)
原因:順次送信されたメッセージが順不同で着信しました。一部のメッセージが転送中に失われました。
対処方法:Kerberos セッションを再度初期化してください。
Message stream modified (メッセージストリームが変更されました。)
原因:計算されたチェックサムとメッセージのチェックサムが一致しませんでした。転送中のメッセージが変更された可能性があります。セキュリティー侵害が発生している可能性があります。
対処方法:メッセージがネットワーク経由で正しく送信されていることを確認してください。このメッセージが送信中に改変された可能性もあるため、 kdestroy を使用してチケットを破棄し、使用している Kerberos サービスを再度初期化してください。
この節では、Kerberos コマンド、Kerberos デーモン、PAM フレームワーク、GSS インタフェース、NFS サービス、および Kerberos ライブラリに共通するエラーメッセージを、英語版メッセージのアルファベット順 (N - Z) に示します。
No credentials cache file found (資格キャッシュファイルが見つかりません。)
原因:Kerberos が資格キャッシュ (/tmp/krb5cc_uid) を見つけることができません。
対処方法:資格ファイルが存在し、読み込み可能であることを確認してください。存在しない場合は、kinit を再度実行します。
No credentials were supplied, or the credentials were unavailable or inaccessible (資格が提供されていません。あるいは、資格を使用またはアクセスできません。)
No credentials cache found (資格キャッシュが見つかりません。)
原因:ユーザーの資格キャッシュが間違っているか、または存在しません。
対処方法:ユーザーは、サービスを開始する前に、kinit を実行する必要があります。
No credentials were supplied, or the credentials were unavailable or inaccessible (資格が提供されていません。あるいは、資格を使用またはアクセスできません。)
No principal in keytab matches desired name (キータブ内の主体が目的の名前と一致しません。)
原因:サーバーの認証中にエラーが発生しました。
対処方法:ホスト主体またはサービス主体が、サーバーのキータブファイル内にあることを確認してください。
Operation requires “privilege” privilege (操作には privilege 特権が必要です。)
原因:使用された admin 主体に対して、kadm5.acl ファイルに設定されている適切な特権が割り当てられていません。
対処方法:適切な特権を持つ主体を使用してください。または、kadm5.acl ファイルを変更して、使用した主体に適切な特権を割り当てます。通常は、名前の一部に /admin が含まれる主体には、適切な特権が割り当てられています。
PAM-KRB5 (auth): krb5_verify_init_creds failed: Key table entry not found (PAM-KRB5 (auth): krb5_verify_init_creds に失敗しました: Key table entry not found (鍵テーブルエントリが見つかりません。)
原因:遠隔アプリケーションは、ローカル /etc/krb5/krb5.keytab ファイル内にあるホストのサービス主体を読み込もうとしましたが、サービス主体が存在しませんでした。
対処方法:ホストのキータブファイルにホストのサービス主体を追加してください。
Password is in the password dictionary (パスワードはパスワード辞書にあります。)
原因:指定したパスワードが使用中のパスワード辞書にすでに存在します。選択したパスワードが適切ではありません。
対処方法:パスワードクラスを組み合わせたパスワードを選択してください。
Permission denied in replay cache code (再実行キャッシュコードでアクセス権がありません。)
原因:システムの再実行キャッシュを開けませんでした。サーバーは、現在のユーザー ID と異なるユーザー ID で最初に実行された可能性があります。
対処方法:再実行キャッシュに適切なアクセス権が割り当てられていることを確認してください。再実行キャッシュは、Kerberos サーバーアプリケーションが動作するホストに格納されます。再実行キャッシュファイルは、root ではないユーザーの場合は /var/krb5/rcache/rc_service_name_uid という名前です。root ユーザーの再実行キャッシュは、 /var/krb5/rcache/root/rc_service_name です。
Protocol version mismatch (プロトコルバージョンが一致していません。)
原因:Kerberos V4 要求が KDC に送信された可能性があります。Kerberos サービスでは、Kerberos V5 プロトコルだけがサポートされます。
対処方法:アプリケーションが Kerberos V5 プロトコルを使用していることを確認してください。
Request is a replay (要求は再送です。)
原因:この要求は、すでにこのサーバーに送信され、処理が完了しています。チケットが盗まれた可能性があり、ほかのユーザーがチケットを再使用しようとしています。
対処方法:しばらくしてから要求を再発行してください。
Requested principal and ticket don't match (要求した主体とチケットは一致しません。)
原因:接続するサービス主体と使用するサービスチケットが一致しません。
対処方法:DNS が適切に機能することを確認してください。別のベンダーのソフトウェアを使用する場合は、そのソフトウェアが主体名を正しく使用していることを確認します。
Requested protocol version not supported (要求したプロトコルバージョンはサポートされていません。)
原因:Kerberos V4 要求が KDC に送信された可能性があります。Kerberos サービスでは、Kerberos V5 プロトコルだけがサポートされます。
対処方法:アプリケーションが Kerberos V5 プロトコルを使用していることを確認してください。
Server refused to negotiate authentication, which is required for encryption. Good bye.
原因:遠隔アプリケーションは、クライアントからの Kerberos 認証を受け取ることができないか、またはそのように構成されていません。
対処方法:認証をネゴシエーションできるアプリケーションを提供するか、認証を有効にする適切なフラグを使用してアプリケーションを設定します。
Server refused to negotiate encryption. Good bye.
原因:暗号化で、サーバーとのネゴシエーションに失敗しました。
対処方法:telnet と toggle encdebug コマンドを実行して認証デバッグ機能を開始し、そのデバッグメッセージからさらなる手掛かりを得てください。
Server rejected authentication (during sendauth exchange) (サーバーが認証を拒否しました (sendauth 交換で)。)
原因:通信しようとしているサーバーが認証を拒否しました。ほとんどの場合、このエラーは Kerberos データベースを伝播するときに発生します。kpropd.acl ファイル、DNS、またはキータブファイルに問題が発生している可能性があります。
対処方法:kprop 以外のアプリケーションを実行しているときにこのエラーが発生した場合は、サーバーのキータブファルが正しいかどうかを調査してください。
The ticket isn't for us (チケットはわれわれのものではありません。)
Ticket/authenticator don't match (チケット/ オーセンティケータが一致しません。)
原因:チケットとオーセンティケータが一致しません。要求内の主体名がサービス主体の名前と一致しなかった可能性があります。その原因は、サービスが非 FQDN 名を期待しているときにチケットが主体の FQDN 名とともに送信された、サービスが FQDN 名を期待しているときに非 FDQN 名が送信された、のいずれかです。
対処方法:kprop 以外のアプリケーションを実行しているときにこのエラーが発生した場合は、サーバーのキータブファルが正しいかどうかを調査してください。
Ticket expired (チケットの有効期限が切れました。)
原因:チケットが期限切れになっています。
対処方法:kdestroy を使用してチケットを破棄し、kinit を使用して新しいチケットを作成します。
Ticket is ineligible for postdating (チケットには遅延処理の資格がありません。)
原因:この主体は、チケットの遅延を許可していません。
対処方法:kadmin を使用して主体を変更し、遅延を許可してください。
Ticket not yet valid (チケットはまだ有効ではありません。)
原因:遅延チケットはまだ有効ではありません。
対処方法:正しい日付で新しいチケットを作成するか、現在のチケットが有効になるまで待ちます。
Truncated input file detected (不完全な入力ファイルを検出しました。)
原因:操作に使用されたデータベースダンプファイルが完全ではありません。
対処方法:ダンプファイルを作成し直すか、別のデータベースダンプファイルを使用します。
Unable to securely authenticate user ... exit (ユーザーを安全に認証できません。処理を終了します。)
原因:認証で、サーバーとのネゴシエーションが失敗しました。
対処方法:telnet と toggle authdebug コマンドを実行して認証デバッグ機能を開始し、そのデバッグメッセージからさらなる手掛かりを得てください。また、所有している資格が有効であることも確認してください。
Wrong principal in request (要求した主体は正しくありません。)
原因:チケットの主体名が無効です。DNS または FQDN の問題が発生している可能性があります。
対処方法:サービスの主体とチケットの主体が一致していることを確認してください。
この節では、Kerberos ソフトウェアの障害追跡について説明します。
krb5.conf ファイルの書式が正しくない場合、次のエラーメッセージが端末またはログファイルに表示されることがあります。
Improper format of Kerberos /etc/krb5/krb5.conf configuration file while initializing krb5 library |
krb5.conf ファイルの書式に問題があると、関連するサービスへの接続が容易になる危険があります。この問題を解決しないと、Kerberos 機能を使用できません。
Kerberos データベースの伝播が失敗した場合、スレーブ KDC とマスター KDC との間で、およびマスター KDC からスレーブ KDC サーバーへ、/usr/bin/rlogin -x を試してみてください。
KDC がアクセスを制限するように設定されていた場合、 rlogin が無効となり、このコマンドを使って問題を解決することができません。KDC で rlogin を有効にするには、eklogin サービスを有効にする必要があります。
# svcadm enable svc:/network/login:eklogin |
問題の障害追跡を終了したあと、eklogin サービスを無効にする必要があります。
rlogin が正常に動作しなかった場合、問題の原因は KDC のキータブファイルにある可能性が高くなります。rlogin が正常に動作した場合、問題の原因はキータブファイルやネームサービスにはありません。というのも、rlogin と伝播ソフトウェアは同じ host/host-name 主体を使用しているからです。この場合、kpropd.acl ファイルが正しいことを確認してください。
Kerberos NFS ファイルシステムのマウントに失敗した場合には、NFS サーバーに /var/rcache/root ファイルが存在することを確認してください。ファイルシステムの所有者が root でない場合は、削除してから再度マウントします。
Kerberos NFS ファイルシステムへのアクセスに問題がある場合は、使用するシステムと NFS サーバー上で gssd サービスが有効になっていることを確認してください。
Kerberos NFS ファイルシステムにアクセスしようとしたときに invalid argument または bad directory のエラーメッセージが表示された場合は、NFS ファイルシステムをマウントするときに完全指定形式の DNS 名を使用していない可能性があります。マウントされているホストが、サーバーのキータブファイル内のサービス主体名に含まれるホスト名と一致していません。
また、複数の Ethernet インタフェースを実装したサーバーに DNS を設定するときに、ホスト単位に複数のアドレスレコードを割り当てずに、インタフェース単位に名前を割り当てた場合にも、この問題が発生します。Kerberos サービスの場合は、次のようにホスト単位に複数のアドレスレコードを設定する必要があります。 [Ken Hornstein, “Kerberos FAQ,” [http://www.cmf.nrl.navy.mil/CCS/people/kenh/kerberos-faq.html#kerbdns], accessed 10 March 2010.] :
my.host.name. A 1.2.3.4 A 1.2.4.4 A 1.2.5.4 my-en0.host.name. A 1.2.3.4 my-en1.host.name. A 1.2.4.4 my-en2.host.name. A 1.2.5.4 4.3.2.1 PTR my.host.name. 4.4.2.1 PTR my.host.name. 4.5.2.1 PTR my.host.name.
この例の設定では、インタフェースごとに 1 つの参照が割り当てられます。また、サーバーのキータブファイル内で、3 つのサービス主体の代わりに、1 つのサービス主体を使用できます。
使用するシステムのスーパーユーザーになるときの認証に失敗し、ホストのキータブファイルに root 主体がすでに追加されている場合は、2 つの問題を確認する必要があります。まず、キータブファイル内の root 主体が、そのインスタンスとして完全指定形式名であることを確認します。完全指定形式名の場合は、/etc/resolv.conf ファイルを確認して、システムが DNS クライアントとして正しく設定されていることを確認してください。
資格マッピングを監視するには、最初に、/etc/gss/gsscred.conf ファイルの次の行をコメント解除します。
SYSLOG_UID_MAPPING=yes |
次に、gssd サービスに/etc/gss/gsscred.conf ファイルから情報を取得するように指示します。
# pkill -HUP gssd |
これで、gssd が資格マッピングを要求するときにそれを監視できるようになります。syslog.conf ファイルが debug 重要度を扱う auth システム機能用に構成されている場合、syslogdを使用してマッピングを記録できます。