Solaris のシステム管理 (第 2 巻)

チケットの管理

この節では、チケットの取得、表示、および破棄を行う方法を説明します。チケットの概要については、「SEAM の動作」を参照してください。

チケットを意識する必要があるか

PAM の構成方法によっては、ログインしたときにチケットが自動的に取得されます。これがデフォルトの動作ですが、使用する SEAM 構成によっては、チケットの自動転送機能が含まれていないことがあります。

Kerberos 化されたほとんどのコマンドは、終了するときにチケットを自動的に破棄します。しかし、念のために、コマンドが終了したときに Kerberos チケットを明示的に破棄したい場合は、kdestroy を使用します。kdestroy の詳細は、「チケットを破棄する方法」を参照してください。

チケットの有効期限については、「チケットの有効期間」を参照してください。

チケットを作成する方法

通常は、ログインするとチケットが自動的に作成されるため、チケットを取得するために特別な作業をする必要はありません。ただし、次の場合には、チケットを作成しなければならないことがあります。

チケットを作成するには、kinit コマンドを使用します。


% /usr/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:  <パスワードの入力>

この例では、ユーザー david-f オプションを使用して自分用の転送可能チケットを作成します。この転送可能チケットを使用すると、ユーザーは、たとえば、別のシステムにログインし、telnet を使用してさらに別のシステムにログインできます。


% kinit -f david@ACME.ORG
Password for david@ACME.ORG:     <パスワードの入力>

転送可能チケットをどのように使用するかについては、「チケットの種類」を参照してください。

チケットを表示する方法

すべてのチケットが同じ属性をもっているわけではありません。たとえば、あるチケットは「転送可能 (forwardable)」、別のチケットは「遅延 (postdated)」、さらに別のチケットはその両方である可能性があります。現在のチケットが何で、どのような属性をもつかを知るには、klist コマンドで -f オプションを使用します。


% /usr/bin/klist -f

次の記号はチケットに関連付けられる属性です。klist によって表示されます。

転送可能 (Forwardable) 

転送済み (Forwarded) 

プロクシ可能 (Proxiable) 

プロクシ (Proxy) 

遅延可能 (Postdateable) 

遅延 (Postdated) 

更新可能 (Renewable) 

初期 (Initial) 

無効 (Invalid) 

チケットがもつことのできる属性については、「チケットの種類」を参照してください。

例 - チケットを表示する

次の例は、ユーザー jennifer の「初期 (initial)」チケットが「転送可能 (forwardable)」(F) と「遅延 (postdated)」(d) のプロパティを持っていて、まだ検証 (i) されていないことを示します。


% /usr/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 が別のホストから自分のホストに「転送された (forwarded)」(f) チケットを 2 つ持っていることを示します。これらのチケットは「再転送可能 (forwardable)」(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/bin/kdestroy

kdestroy はそのユーザーの「すべての」チケットを破棄します。特定のチケットを選択して破棄することはできません。

システムを離れるときに侵入者が権限を使用する危険がある場合は、kdestroy を使用してチケットを破棄するか、スクリーンセーバーを使って画面をロックする必要があります。


注 -

チケットを確実に破棄する 1 つの方法は、ホームディレクトリの .logout ファイルに kdestroy コマンドを追加することです。

PAM モジュールが適切に構成されていれば、チケットはログアウト時に自動的に破棄されるため、.login ファイルに kdestroy 呼び出しを追加する必要はありません。ただし、PAM モジュールが適切に構成されていない場合や、構成されているかどうかわからない場合は、システムを終了するときにチケットを確実に破棄するために、kdestroy.login ファイルに追加することもできます。