Solaris スマートカードの管理

第 4 章 問題発生時の解決方法

この章では、Solaris スマートカードに関する問題を解決する方法について説明します。この章では、次の内容について説明します。

スマートカードを使用したログインに関する問題の解決

ユーザーがシステムにログインできない場合は、Solaris スマートカードを無効にするか、設定に関する問題を解決する必要が生じることもあります。

Procedureスマートカードを無効にするには

次の場合に、システムでスマートカードを無効にする必要が生じることもあります。

次の手順を実行して、Solaris スマートカードを無効にします。

手順
  1. ocfserv デーモンが有効になっていることを確認します。

    次のコマンドを入力すると、サービスの状態がわかります。


    % svcs network/rpc/ocfserv
    

    注 –

    スマートカードを変更する前に、ocfserv デーモンが有効になっていることを確認する必要があります。


  2. (省略可能) 必要に応じて、スーパーユーザーでログインし、ocfserv デーモンを有効にします。


    # svcadm enable network/rpc/ocfserv
    
  3. スマートカードの操作を無効にする


    # smartcard -c disable
    

Procedureスマートカードの設定に関する問題を解決するには

スマートカードを有効にしたあとで、システムからログアウトすると、CDE ログイン画面には次のようなメッセージが表示されます。


Please insert Smart Card

スマートカードの設定に関する問題のために、スマートカードを使用したシステムへログインできない場合は、次の手順を実行してください。

手順
  1. rlogin または telnet コマンドを使って、リモートからログインします。

  2. ocfserv デーモンが有効になっていることを確認します。

    次のコマンドを入力すると、サービスの状態がわかります。


    % svcs network/rpc/ocfserv
    

    注 –

    スマートカードを変更する前に、ocfserv デーモンが有効になっていることを確認する必要があります。


  3. (省略可能) 必要に応じて、スーパーユーザーでログインし、ocfserv デーモンを有効にします。


    # svcadm enable network/rpc/ocfserv
    
  4. 次のように入力して、スマートカードを無効にします。


    # smartcard -c disable
    

    スマートカードを無効にすると、CDE 画面には次のようなプロンプトが表示されます。


    Enter User Name
  5. こうしておいて、スマートカードの設定に関する問題を修正します。

アプレット、ATR、または設定に関する問題の解決

スマートカードへのアプレットのダウンロード、新しいタイプのカードに対するサービスの追加、または Solaris スマートカードの構成ファイルでの不当なエントリで問題の生じることがあります。

アプレットのダウンロードに関する問題の解決

アプレットをカードにダウンロードしようとして、次のメッセージが表示されることがあります。


SmartcardInvalidCardException

このメッセージは、カードリーダーに挿入されているスマートカードの ATR が、システムが受け付けることができる有効な ATR のリストに追加されていない可能性があることを示しています。「新しいカードタイプのサポートを追加するには (SmartCard Console)」の手順に従って、スマートカードの ATR を更新してください。

ProcedureATR の紛失に関する問題を解決するには

SmartCard Console でスマートカードを追加すると、カードリーダーに挿入されているスマートカードの ATR が表示されます。表示された ATR が有効な ATR のリストに存在しない場合は、その ATR を card-name.ATR 属性に追加します。

関連情報については、「新しいカードタイプのサポートを追加するには (SmartCard Console)」を参照してください。SmartCard Console の手順とコマンド行の例が示されています。

手順
  1. ocfserv デーモンが有効になっていることを確認します。

    次のコマンドを入力すると、サービスの状態がわかります。


    % svcs network/rpc/ocfserv
    

    注 –

    スマートカードを変更する前に、ocfserv デーモンが有効になっていることを確認する必要があります。


  2. (省略可能) 必要に応じて、スーパーユーザーでログインし、ocfserv デーモンを有効にします。


    # svcadm enable network/rpc/ocfserv
    
  3. ocfserv 属性を表示して、card_name.ATR 属性が存在するかどうかを調べます。


    # smartcard -c admin
    

    たとえば、ocfservMySCM.0.ATR 属性を示します。MySCM はユーザーにわかりやすくしたカードリーダーの名前です。この属性は、カードリーダーに挿入されているスマートカードの ATR を反映しています。この属性は一時的なもので、スマートカードがカードリーダーに挿入されている間だけ、ocfserv によって追加されます。また、スマートカードをカードリーダーから取り外すと削除されます。

  4. この属性により表示された ATR が有効な ATR のリストに存在しない場合は、その ATR を card_name.ATR 属性に追加します。

Procedure構成に関する問題を解決するには

スマートカードの重要な構成情報は /etc/smartcard/opencard.properties ファイルに格納されています。このファイルの管理が必要になることはありません。このファイルは手動で編集しないでください。ただし、スマートカードを構成するときに問題が発生した場合は、/etc/smartcard/opencard.properties の前のバージョンに戻すことができます。

手順
  1. ocfserv デーモンが有効になっていることを確認します。

    次のコマンドを入力すると、サービスの状態がわかります。


    % svcs network/rpc/ocfserv
    

    注 –

    スマートカードを変更する前に、ocfserv デーモンが有効になっていることを確認する必要があります。


  2. (省略可能) 必要に応じて、スーパーユーザーでログインし、ocfserv デーモンを有効にします。


    # svcadm enable network/rpc/ocfserv
    
  3. /etc/smartcard ディレクトリに移動します。

  4. 最初に現在のバージョンを保存します。


    # cp opencard.properties opencard.properties.bad
    
  5. 前のバージョンを現在のバージョンにコピーします。


    # cp opencard.properties.bak opencard.properties
    

スマートカードのデバッグ

スマートカードの動作をシステム上でデバッグするには、デバッグ属性を設定します。Solaris スマートカードは標準的なデバッグ機能を提供します。指定しておけば、ユーザーの動作を詳細に追跡できます。有効にすると、デバッグ情報がファイルに記録されます。デバッグ情報のレベルおよび量は、0 - 9 段階で制御することができます。デフォルトでは、デバッグは無効になっています。

デフォルトでは、次のデバッグ属性が ocfserv 用に定義されています。


debugging.filename        = /var/run/ocf.log
debugging                 = 0
/var/run/ocf_log

デバッグ情報を格納するファイル名

debugging = 0

デバッグが無効であることを示す。debugging = 1 はデバッグが有効であることを示す


注 –

Solaris 8 以前のリリースでは、デバッグのログファイルは、/tmp/ocf_debugfile と呼ばれることがあります。


デバッグの手順については、次の内容を参照してください。

Procedureデバッグを有効にするには (Smartcard Console)

手順
  1. ocfserv デーモンが有効になっていることを確認します。

    次のコマンドを入力すると、サービスの状態がわかります。


    % svcs network/rpc/ocfserv
    

    注 –

    スマートカードを変更する前に、ocfserv デーモンが有効になっていることを確認する必要があります。


  2. (省略可能) 必要に応じて、スーパーユーザーでログインし、ocfserv デーモンを有効にします。


    # svcadm enable network/rpc/ocfserv
    
  3. ナビゲーション区画で「OCF サーバー (OCF Server)」を選択します。

  4. ローカルシステムを表すアイコンをダブルクリックします。

  5. 「デバッグ (Debug)」タブを選択します。

  6. OCF デバッグレベルスライダのインジケータを動かして、デバッグレベルを示します。

  7. 「Open Card トレースレベル (Open Card Trace Level)」スライダのインジケータを動かして、トレースレベルを示します。

  8. (省略可能) デバッグファイルの代わりの名前を指定します。

    1. 「ブラウズ」をクリックして、システム上のファイルシステムを表示します。

    2. 「OCF デバッグファイルの場所」フィールドに、デバッグファイルの絶対パス名を入力します。

  9. 「適用 (Apply)」ボタンまたは「了解 (OK)」ボタンをクリックします。

Procedureデバッグを有効にするには (コマンド行)

スマートカードのデバッグを有効にするには、次の手順を使用します。

手順
  1. ocfserv デーモンが有効になっていることを確認します。

    次のコマンドを入力すると、サービスの状態がわかります。


    % svcs network/rpc/ocfserv
    

    注 –

    スマートカードを変更する前に、ocfserv デーモンが有効になっていることを確認する必要があります。


  2. (省略可能) 必要に応じて、スーパーユーザーでログインし、ocfserv デーモンを有効にします。


    # svcadm enable network/rpc/ocfserv
    
  3. debugging=1 を設定して、スマートカードのデバッグを有効にします。


    # smartcard -c admin -x modify debugging=1
    

    次の例では、ocfserv デバッグファイルの位置を変更しています。 場所は、-x modify debugging.filename オプションを使用するか、デバッグファイルの絶対パスによるファイル名を指定することによって、変更します。


    # smartcard -c admin -x modify debugging.filename=/var/tmp/sc.debug