この節では、Solaris スマートカードに関する問題を解決する方法について説明します。この章では、次の内容について説明します。
デバッグ属性を設定することで、スマートカードの動作をシステム上でデバッグできます。Solaris スマートカードは標準的なデバッグ機能を提供します。指定しておけば、ユーザーの動作を詳細に追跡できます。有効にすると、デバッグ情報がファイルに記録されます。デバッグ情報のレベルおよび量は、0 - 9 段階で制御することができます。デフォルトでは、デバッグは無効になっています。
デフォルトでは、次のデバッグ属性が ocfserv 用に定義されています。
debugging.filename = /var/run/ocf.log debugging = 0 OpenCard.trace = com.sun:9 opencard.core:9 |
Solaris 8 を使用している場合は、デバッグログファイルの名前 が /tmp/ocf_debugfile の場合があります。
/var/run/ocf_log |
デバッグ情報を格納するファイル名 |
debugging = 0 |
デバッグが無効であることを示す。debugging = 1 はデバッグが有効であることを示す |
OpenCard.trace |
OpenCard のトレースレベル |
ocfserv のデバッグ属性を設定したい場合は、「デバッグ (Debug)」フォルダを使用します。デバッグの設定はオプション (省略可能) です。
ナビゲーション区画で「OCF サーバー (OCF Server)」を選択します。
ローカルシステムを表すアイコンをダブルクリックします。
「デバッグ (Debug)」フォルダを選択します。
OCF デバッグレベルスライダのインジケータを右側に動かして、OCF サーバーのデバッグレベルを示します。
「Open Card トレースレベル (Open Card Trace Level)」スライダのインジケータを右側に動かして、OCF サーバーのトレースレベルを示します。
(省略可能) デバッグファイルの代わりの名前を指定します。
「適用 (Apply)」または「了解 (OK)」をクリックします。
スマートカードのデバッグを有効にするには、次の手順を使用します。
スーパーユーザーになります。
debugging=1 を設定して、スマートカードのデバッグを有効にします。
# smartcard -c admin -x modify debugging=1 |
次の例では、-x modify debugging.filename オプションとデバッグファイルの絶対パスによるファイル名を指定することによって、ocfserv デバッグファイルの位置を変更しています。
# smartcard -c admin -x modify debugging.filename=/var/tmp/sc.debug |
スマートカードの設定に関する問題によってユーザーのスマートカードでのログインが許可されない場合、またはシステムがスマートカードによるログインを必要としなくなった場合は、システムでスマートカードを無効にする必要が生じることもあります。
スマートカードを有効にしたあとで、システムからログアウトすると、CDE ログイン画面には次のようなメッセージが表示されます。
Please insert Smart Card |
スマートカードの設定に関する問題のために、スマートカードを使用したシステムのログインを無効にする場合には、次の手順を実行してください。
rlogin または telnet コマンドを使って、リモートからログインします。
su と入力してスーパーユーザーになります。
次のように入力して、スマートカードを無効にします。
# smartcard -c disable |
スマートカードを無効にすると、CDE 画面には次のようなプロンプトが表示されます。
Enter User Name |
こうしておいて、スマートカードの設定に関する問題を修正します。
スマートカードの重要な構成情報は /etc/smartcard/opencard.properties ファイルに格納されています。このファイルは管理が不要なので、手動で編集しないでください。ただし、SmartCard Console またはコマンド行からスマートカードを構成するときに問題が発生した場合は、/etc/smartcard/opencard.properties ファイルの前のバージョンをコマンド行から復元できます。
スーパーユーザーになります。
/etc/smartcard ディレクトリに移動します。
最初に現在のバージョンを保存します。
# cp opencard.properties opencard.properties.bad |
前のバージョンを現在のバージョンにコピーします。
# cp opencard.properties.bak opencard.properties |
アプレットをスマートカードにダウンロードしようとして、次のメッセージが表示された場合、カードリーダーに挿入されているスマートカードの ATR が (システムが受け付けることができる) 有効な ATR のリストに追加されていない可能性があります。
SmartcardInvalidCardException |
新しいカードタイプのサポートを追加するには (新しい ATR)の手順に従って、スマートカードの ATR を更新してください。
SmartCard Console でスマートカードを追加すると、カードリーダーに挿入されているスマートカードの ATR が表示されます。表示された ATR が有効な ATR のリストに存在しない場合は、その ATR を「card-name.ATR」属性に追加します。
詳細については、新しいカードタイプのサポートを追加するには (新しい ATR)を参照してください。また、次のコマンド行の例も参照してください。
ocfserv 属性を表示して、「card_name.ATR」属性が存在するかどうかを調べます。
# smartcard -c admin |
たとえば、ocfserv は「MySCM.0.ATR」属性を表示します。MySCM はカードリーダーのユーザーフレンドリな名前です。この属性は、カードリーダーに挿入されているスマートカードの ATR を反映しています。この属性は一時的なものです。スマートカードをカードリーダーに挿入すると、ocfserv によって追加され、スマートカードをカードリーダーから取り外すと削除されます。
この属性により表示された ATR が有効な ATR のリストに存在しない場合は、その ATR を「card-name.ATR」属性に追加します。