この節では、チケットを取得、表示、および破棄する方法を説明します。チケットの概要については、「SEAM はどのように動作するのか」を参照してください。
SEAM をインストールすると Kerberos は login コマンドに組み込まれるため、ユーザーはログイン時にチケットを自動的に取得します。Kerberos 化されたコマンド rsh、rcp、telnet、および rlogin は、通常チケットを他のマシンに転送するように設定されているため、ユーザーはこれらのマシンへのアクセスを取得するためのチケットを明示的に要求する必要はありません。この動作はデフォルトです。チケットを自動的に転送しないように SEAM を構成することもできます。チケットの転送についての詳細は、「Kerberos 化されたコマンドの概要」と 「-f と -F によるチケットの転送」を参照してください。
ほとんどの Kerberos 化されたコマンドは、終了時にチケットを自動的に破棄します。しかし、使用後に Kerberos チケットを確実に破棄したい場合は、kdestroy で破棄することができます。kdestroy についての詳細は、「チケットを破棄するには」を参照してください。 チケットの有効期間については、「チケットの有効期間」を参照してください。
通常、チケットはユーザーのログイン時に自動的に作成されるため、チケットを取得するために特に何かをする必要はありません。しかし、次のような場合では、チケットを作成する必要があります。
チケットの有効期限が切れたとき
デフォルト以外のプリンシパルを使用する必要があるとき (たとえば、rlogin -l で他のユーザーとしてマシンにログインする場合など)
チケットを作成するには、kinit コマンドを使用します。
% /usr/krb5/bin/kinit |
kinit を使用するにはユーザーのパスワードが必要です。kinit コマンドの完全な構文については、kinit(1) のマニュアルページを参照してください。
次の例では、ユーザー jennifer が自分のシステム上でチケットを作成しています。
% kinit Password for jennifer@ENG.ACME.COM: <パスワードを入力する> |
次の例では、ユーザー david が -l オプションで 3 時間だけ有効なチケットを作成しています。
% kinit -l 3h david@ACME.ORG Password for david@ACME.ORG: <パスワードを入力する> |
次の例では、-f オプションを指定して david が自分用の転送可能チケットを作成しています。転送可能チケットを使用すると、たとえば、david は 2 番目のシステムにログインして、3 番目のシステムに対し telnet を実行できます。
% kinit -f david@ACME.ORG Password for david@ACME.ORG: <パスワードを入力する> |
転送可能チケットの動作についての詳細は、「-f と -F によるチケットの転送」と 「チケットの種類」を参照してください。
すべてのチケットが同じであるというわけではありません。たとえば、あるチケットは転送可能で、別のチケットは遅延可能で、また別のチケットは両方とも可能であるような場合もあります。自分が持っているチケットやその属性を調べるには、klist コマンドに -f オプションを指定して実行します。
% /usr/krb5/bin/klist -f |
次の記号は、klist で表示される、各チケットに関連する属性を示しています。
F |
転送可能 |
f |
転送 |
P |
代理可能 |
p |
代理 (プロクシ) |
D |
遅延可能 |
d |
遅延 |
R |
更新可能 |
I |
初期 |
i |
無効 |
チケットのさまざまな属性については、「チケットの種類」を参照してください。
次の例は、ユーザー jennifer の初期チケットが転送可能であり (F)、遅延されたものだが (d)、まだ有効でない (i) ことを示しています。
% /usr/krb5/bin/klist -f Ticket cache: /tmp/krb5cc_74287 Default principal: jenniferm@ENG.ACME.COM Valid starting Expires Service principal 09 Mar 99 15:09:51 09 Mar 99 21:09:51 nfs/ACME.SUN.COM@ACME.SUN.COM renew until 10 Mar 99 15:12:51, Flags: Fdi |
次の例は、ユーザー david の 2 つのチケットが別のホストから自分のホストに転送された (f) こと、さらに転送可能である (F) ことを示してます。
% klist -f Ticket cache: /tmp/krb5cc_74287 Default principal: david@ACME.SUN.COM Valid starting Expires Service principal 07 Mar 99 06:09:51 09 Mar 99 23:33:51 host/ACME.COM@ACME.COM renew until 10 Mar 99 17:09:51, Flags: fF Valid starting Expires Service principal 08 Mar 99 08:09:51 09 Mar 99 12:54:51 nfs/ACME.COM@ACME.COM renew until 10 Mar 99 15:22:51, Flags: fF |
チケットは通常、そのチケットを作成したコマンドが終了すると自動的に破棄されます。しかし、チケットを使用し終えたときに確実に破棄したい場合は、明示的に Kerberos チケットを削除することもできます。チケットは無断で使用され、そのチケットは有効期限がくるまで使用される可能性があります (ただし、そのチケットを使用するには、暗号を復号化しなければなりません)。
チケットを削除するには、kdestroy コマンドを使用します。
% /usr/krb5/bin/kdestroy |
kdestroy は、ユーザー本人のすべてのチケットを破棄します。特定のチケットだけを選択して破棄することはできません。
システムから離れるときに自分のアクセス権が使用される心配がある場合は、kdestroy を使用するか、スクリーンセーバーで画面をロックします。
必ずチケットが破棄されるようにするには、ホームディレクトリにある .logout ファイルに kdestroy コマンドを追加します。
PAM モジュールが構成されている場合 (デフォルトであり、通常デフォルトのまま使用)、チケットはログアウト時に自動的に破棄されます。したがって、kdestroy の呼び出しを .logout ファイルに追加する必要はありません。しかし、PAM モジュールが構成されていない場合、あるいは、PAM モジュールが構成されているかどうかが分からない場合は、.login ファイルに kdestroy を追加して、システム終了時に必ずチケットが破棄されるようにしてください。