Solaris のシステム管理 (セキュリティサービス)

チケットの管理

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

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

SEAM 1.0 または SEAM 1.0.1 がインストールされている場合、Kerberos は login コマンドに組み込まれており、チケットの取得はログイン時に自動的に行われます。

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

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

チケットを作成する方法

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

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


% /usr/bin/kinit
 

kinit からはパスワードの入力を求めるプロンプトが表示されます。kinit コマンドの詳細な構文については、kinit(1) のマニュアルページを参照してください。

例 — チケットを作成する

この例では、ユーザー jennifer が自分のシステムにチケットを作成します。


% kinit
Password for jennifer@ENG.EXAMPLE.COM:  <パスワードを入力する>
 

次の例では、ユーザー david-l オプションを使用して 3 時間有効なチケットを作成します。


% kinit -l 3h david@EXAMPLE.ORG
Password for david@EXAMPLE.ORG:  <パスワードを入力する>
 

次の例では、ユーザー david は、 -f を使用して転送可能チケットを作成します。たとえば、この転送可能チケットを使用して、2 つ目のシステムにログインできます。


% kinit -f david@EXAMPLE.ORG
Password for david@EXAMPLE.ORG:     <パスワードを入力する>
 

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

チケットを表示する方法

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


% /usr/bin/klist -f

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

転送可能 (Forwardable) 

転送済み (Forwarded) 

プロキシ可能 (Proxiable) 

プロキシ (Proxy) 

遅延可能 (Postdatable) 

遅延 (Postdated) 

更新可能 (Renewable) 

初期 (Initial) 

無効 (Invalid) 

チケットに指定できる属性については、チケットの種類を参照してください。

例 — チケットを表示する

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


% /usr/bin/klist -f
Ticket cache: /tmp/krb5cc_74287
Default principal: jenniferm@ENG.EXAMPLE.COM
 
Valid starting                 Expires                 Service principal
09 Mar 99 15:09:51  09 Mar 99 21:09:51  nfs/EXAMPLE.SUN.COM@EXAMPLE.SUN.COM
        renew until 10 Mar 99 15:12:51, Flags: Fdi
 

次の例は、ユーザー david が別のホストから自分のホストに転送済み (f) チケットを 2 つ持っていることを示します。これらのチケットは転送可能 (F) です。


% klist -f
Ticket cache: /tmp/krb5cc_74287
Default principal: david@EXAMPLE.SUN.COM
 
Valid starting                 Expires                 Service principal
07 Mar 99 06:09:51  09 Mar 99 23:33:51  host/EXAMPLE.COM@EXAMPLE.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/EXAMPLE.COM@EXAMPLE.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 ファイルに追加します。