この節では、チケットの取得、表示、および破棄を行う方法を説明します。チケットの概要については、「Kerberos サービスの動作」を参照してください。
すべての SEAM リリースまたは Solaris 10 リリースがインストールされている場合、Kerberos は login に組み込まれており、チケットの取得はログイン時に自動的に行われます。Kerberos に対応するコマンドの rsh、rcp、rdist、telnet、および rlogin は通常、チケットのコピーをほかのマシンに転送するように設定されています。そうすると、ユーザーがチケットを明示的に要求しなくても、それらのマシンにアクセスできるようになるからです。これがデフォルトの動作ですが、特定のユーザーの構成はこの自動転送を含んでいない場合があります。チケットの転送については、「Kerberos コマンドの概要」および 「Kerberos チケットの転送」を参照してください。
チケットの有効期限については、「チケットの有効期限」を参照してください。
通常、PAM が適切に設定されている場合、ログインするとチケットが自動的に作成されるため、チケットを取得するために特別な作業をする必要はありません。ただし、チケットが期限切れになった場合は、チケットを作成する必要があります。また、デフォルトの主体のほかに別の主体を使用する必要がある場合 (たとえば、rlogin -l を使って他人としてマシンにログインする) があります。
チケットを作成するには、kinit コマンドを使用します。
% /usr/bin/kinit |
kinit コマンドからはパスワードの入力を求めるプロンプトが表示されます。kinit コマンドの詳細な構文については、kinit(1) のマニュアルページを参照してください。
次の例では、ユーザー jennifer が自分のシステムにチケットを作成します。
% kinit Password for jennifer@ENG.EXAMPLE.COM: <Type password> |
次の例では、ユーザー david が -l オプションを使用して 3 時間有効なチケットを作成します。
% kinit -l 3h david@EXAMPLE.ORG Password for david@EXAMPLE.ORG: <Type password> |
次の例では、ユーザー david は、-f オプションを使用して、転送可能チケットを作成します。たとえば、この転送可能チケットを使用して、2 つ目のシステムにログインして、3 つ目のシステムに telnet を実行できます。
% kinit -f david@EXAMPLE.ORG Password for david@EXAMPLE.ORG: <Type password> |
転送チケットをどのように使用するかについては、「Kerberos チケットの転送」および 「チケットの種類」を参照してください。
すべてのチケットが同じ属性を持つわけではありません。チケットの属性には、「転送可能 (Forwardable)」、「遅延 (Postdated)」などがあります。また、1 つのチケットに「転送可能」と「遅延」の両方が指定されていることもあります。現在のチケットが何で、どのような属性を持つかを知るには、klist コマンドで -f オプションを使用します。
% /usr/bin/klist -f |
次の記号はチケットに関連付けられる属性です。klist によって表示されます。
事前認証済み
遅延可能 (Postdatable)
遅延 (Postdated)
転送可能 (Forwardable)
転送済み (Forwarded)
初期 (Initial)
無効 (Invalid)
プロキシ可能 (Proxiable)
プロキシ (Proxy)
更新可能 (Renewable)
チケットに指定できる属性については、「チケットの種類」を参照してください。
次の例は、ユーザー jennifer の初期チケットが転送可能 (F) と遅延 (d) のプロパティーを持っていて、まだ検証されていないこと (i) を示します。
% /usr/bin/klist -f Ticket cache: /tmp/krb5cc_74287 Default principal: jennifer@EXAMPLE.COM Valid starting Expires Service principal 09 Mar 04 15:09:51 09 Mar 04 21:09:51 nfs/EXAMPLE.COM@EXAMPLE.COM renew until 10 Mar 04 15:12:51, Flags: Fdi |
次の例は、ユーザー david が別のホストから自分のホストに転送済み (f) チケットを 2 つ持っていることを示します。これらのチケットは転送可能 (F) です。
% klist -f Ticket cache: /tmp/krb5cc_74287 Default principal: david@EXAMPLE.COM Valid starting Expires Service principal 07 Mar 04 06:09:51 09 Mar 04 23:33:51 host/EXAMPLE.COM@EXAMPLE.COM renew until 10 Mar 04 17:09:51, Flags: fF Valid starting Expires Service principal 08 Mar 04 08:09:51 09 Mar 04 12:54:51 nfs/EXAMPLE.COM@EXAMPLE.COM renew until 10 Mar 04 15:22:51, Flags: fF |
次の例は、-e オプションを使用してセッション鍵の暗号化タイプとチケットを表示させる方法を示しています。-a オプションを使用すると、ネームサービスが変換を行える場合、ホストアドレスをホスト名に変換できます。
% klist -fea Ticket cache: /tmp/krb5cc_74287 Default principal: david@EXAMPLE.COM Valid starting Expires Service principal 07 Mar 04 06:09:51 09 Mar 04 23:33:51 krbtgt/EXAMPLE.COM@EXAMPLE.COM renew until 10 Mar 04 17:09:51, Flags: FRIA Etype(skey, tkt): DES cbc mode with RSA-MD5, DES cbc mode with CRC-32 Addresses: client.example.com |
現在のセッション中に取得したすべての Kerberos チケットを破棄するには、kdestroy コマンドを使用します。このコマンドは、資格キャッシュを破棄して、すべての資格とチケットを破棄します。通常、これは必要ありませんが、kdestroy コマンドを実行すると、ログインしていないときに資格キャッシュが継続して存在する可能性を減らすことができます。
チケットを破棄するには、kdestroy コマンドを使用します。
% /usr/bin/kdestroy |
kdestroy コマンドは、そのユーザーのすべてのチケットを破棄します。このコマンドを使用して、特定のチケットを選択して破棄することはできません。
システムを離れるときに侵入者が権限を使用する危険がある場合は、kdestroy を使用してチケットを破棄するか、スクリーンセーバーを使って画面をロックする必要があります。