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

第 25 章 Kerberos 主体とポリシーの管理 (手順)

この章では、主体とそれに関連するポリシーを管理する手順について説明します。また、ホストのキータブファイルの管理方法についても説明します。

この章は、主体とポリシーを管理する必要のあるユーザーを対象にしています。主体とポリシーを計画するときの考慮事項など、主体とポリシーについて理解している必要があります。第 21 章Kerberos サービスについて第 22 章Kerberos サービスの計画を参照してください。

この章で説明する情報は次のとおりです。

Kerberos 主体とポリシーの管理方法

マスター KDC の Kerberos データベースには、使用するレルムの Kerberos 主体、そのパスワード、ポリシーなどの管理情報がすべて含まれています。主体を作成または削除したり、主体の属性を変更したりするには、kadmin または gkadmin コマンドのいずれかを使用します。

kadmin コマンドには、対話型のコマンド行インタフェースが用意されています。このインタフェースを使用して、Kerberos 主体、ポリシー、およびキータブファイルを管理することができます。kadmin コマンドには、次の 2 つの種類があります。

Kerberos を使用してユーザーを認証する点を除いて、2 つの kadmin の機能は同じです。kadmin に必要なデータベースを設定するときは、kadmin.local を使用します。

Solaris リリースには、SEAM 管理ツール (gkadmin) も用意されています。このツールは対話型のグラフィカルユーザーインタフェース (GUI) で、基本的に kadmin コマンドと同じ機能を持ちます。詳細は、「SEAM 管理ツール」を参照してください。

SEAM 管理ツール

SEAM 管理ツール (SEAM ツール) は、対話型グラフィカルユーザーインタフェース (GUI) で、Kerberos 主体とポリシーを管理することができます。このツールは、kadmin コマンドと同じ機能を持ちます。ただし、キータブファイルの管理はサポートしません。キータブファイルを管理するには、kadmin コマンドを使用する必要があります (「キータブファイルの管理」を参照)。

kadmin コマンドと同様に、SEAM Toolは、Kerberos 認証と暗号化された RPC を使用して、ネットワーク上の任意の場所から安全に操作することができます。SEAM ツールでは、次の操作を行うことができます。

SEAM ツールでは、コンテキストヘルプと一般的なオンラインヘルプも利用できます。

SEAM ツールを使用して実行できる操作について、次の作業マップで説明します。

また、SEAM ツールで指定または表示できる主体属性とポリシー属性については、「SEAM ツールパネルの説明」を参照してください。

SEAM ツールに対応するコマンド行

この節では、SEAM ツールと同じ機能を提供する kadmin コマンドを示します。これらのコマンドは、X ウィンドウシステムで実行しなくても使用できます。この章のほとんどの手順では、SEAM ツールを使用します。ただし、多くの手順では、対応するコマンド行の使用例も挙げています。

表 25–1 SEAM ツールに対応するコマンド行

SEAM ツールの手順 

対応する kadmin コマンド

主体の一覧を表示します。 

list_principals または get_principals

主体の属性を表示します。 

get_principal

新しい主体を作成します。 

add_principal

主体を複製します。 

対応するコマンド行なし 

主体を変更します。 

modify_principal または change_password

主体を削除します。 

delete_principal

新しい主体を作成するときのデフォルトを設定します。 

対応するコマンド行なし 

ポリシーの一覧を表示します。 

list_policies または get_policies

ポリシーの属性を表示します。 

get_policy

新しいポリシーを作成します。 

add_policy

ポリシーを複製します。 

対応するコマンド行なし 

ポリシーを変更します。 

modify_policy

ポリシーを削除します。 

delete_policy

SEAM ツールにより変更されるファイル

SEAM ツールが変更するファイルは、$HOME/.gkadmin ファイルだけです。このファイルには、新しい主体を作成するときのデフォルト値が含まれます。このファイルを更新するには、「Edit」メニューから「Properties」を選択します。

SEAM ツールの印刷機能とオンラインヘルプ機能

SEAM ツールには、印刷機能とオンラインヘルプ機能が用意されています。「Print」メニューから、次の要素をプリンタまたはファイルに送信できます。

「Help」メニューから、コンテキストヘルプと通常のヘルプを使用できます。「Help」メニューから「Context-Sensitive Help」を選択すると、「Context-Sensitive Help」ウィンドウが表示され、ツールがヘルプモードに切り替わります。ヘルプモードのウィンドウで、任意のフィールド、ラベル、またはボタンをクリックすると、「Help」ウィンドウにその項目のヘルプが表示されます。ツールの通常モードに戻るには、「Help」ウィンドウで「Dismiss」をクリックします。

また、「Help Contents」を選択すると、HTML ブラウザが開き、この章で説明している概要や操作情報が表示されます。

SEAM ツールで大規模な一覧を使用する

登録した主体とポリシーが増加するにつれて、SEAM ツールが主体とポリシーを読み込んでそれらの一覧を表示する時間が長くなります。このため、ツールによる作業効率が低下します。この問題には、いくつかの対応方法があります。

まず、一覧を読み込む時間を完全になくすために、SEAM ツールに一覧を読み込まないようにします。この方法を設定するには、「Edit」メニューから「Properties」を選択し、「Show Lists」フィールドのチェックマークをはずします。一覧を読み込まない場合、一覧は表示されないため、一覧を使用して主体またはポリシーを選択できなくなります。代わりに、表示された新しい「Name」フィールドに主体またはポリシー名を入力し、その主体またはポリシーに適用する操作を選択する必要があります。名前を入力する操作は、一覧から項目を選択する操作と同じ効果を持ちます。

大規模な一覧を使用するときは、キャッシュを利用することもできます。SEAM ツールのデフォルトの動作として、一定量の一覧がキャッシュに格納されるように設定されています。SEAM ツールは、最初に一覧をキャッシュに読み込む必要がありますが、そのあとは一覧を再度読み込まずにキャッシュを使用できます。この方法では、サーバーから時間をかけて何回も一覧を読み込む必要がありません。

一覧がキャッシュに格納されるように設定するには、「Edit」メニューから「Properties」を選択します。キャッシュの設定には、次の 2 つの方法があります。一覧をキャッシュに永続的に格納するか、制限時間を指定します。制限時間を指定した場合は、その時間が経過すると、ツールはサーバーの一覧をキャッシュに再度読み込みます。

一覧をキャッシュに格納しても、一覧から主体とポリシーを選択することができます。このため、一覧を読み込まない最初の方法と異なり、SEAM ツールの利用には影響しません。また、キャッシュを利用した場合でも、ほかの主体とポリシーの変更を確認できなくなることがあります。ただし、使用している主体とポリシーを変更したときは最新の一覧が表示されます。主体とポリシーを変更すると、サーバーとキャッシュの一覧が更新されるためです。キャッシュを更新して、ほかの主体とポリシーの変更を確認し、最新の一覧を取得するには、任意のタイミングで「Refresh」メニューを使用します。サーバーから一覧が読み込まれ、キャッシュを更新することができます。

ProcedureSEAM ツールを起動する方法

  1. gkadmin コマンドを使用して SEAM ツールを起動します。


    $ /usr/sbin/gkadmin
    

    「SEAM Administration Login」ウィンドウが表示されます。

    「SEAM Administration Login」というタイトルのダイアログボックスに、「Principal Name」、「Password」、「Realm」、「Master KDC」の 4 フィールドが表示されています。「了解 (OK)」および「Start Over」ボタンが表示されています。
  2. デフォルト値を使用しない場合は、新しいデフォルト値を指定します。

    ウィンドウには、デフォルト値が自動的に表示されています。デフォルトの主体名は、USER 環境変数の現在の ID に /admin が付加されて作成されます (username/admin)。デフォルトの「Realm」フィールドおよび「Master KDC」フィールドは、/etc/krb5/krb5.conf ファイルから選択されます。デフォルト値を再度取得する場合は、「Start Over」をクリックします。


    注 –

    各「Principal Name」が実行できる管理操作は、Kerberos ACL ファイルの /etc/krb5/kadm5.acl で規定されます。権限の制限については、「Kerberos 管理権限を制限して SEAM ツールを使用する」を参照してください。


  3. 指定した主体名のパスワードを入力します。

  4. 「了解 (OK)」をクリックします。

    ウィンドウが表示され、すべての主体が示されます。

Kerberos 主体の管理

この節では、SEAM ツールを使用して主体を管理する手順について説明します。また、対応するコマンド行がある場合は、その例も示します。

Kerberos 主体の管理 (作業マップ)

作業 

説明 

参照先 

主体の一覧を表示します。 

「Principals」タブをクリックして、主体の一覧を表示します。 

「Kerberos 主体の一覧を表示する方法」

主体の属性を表示します。 

「Principal List」の「Principal」を選択し、「Modify」ボタンをクリックして、主体の属性を表示します。 

「Kerberos 主体の属性を表示する方法」

新しい主体を作成します。 

「Principal List」パネルの「Create New」ボタンをクリックして、新しい主体を作成します。 

「新しい Kerberos 主体を作成する方法」

主体を複製します。 

「Principal List」から複製する主体を選択し、「Duplicate」ボタンをクリックして、主体を複製します。 

「Kerberos 主体を複製する方法」

主体を変更します。 

「Principal List」から変更する主体を選択し、「Modify」ボタンをクリックして、主体を変更します。 

主体名は変更できません。主体名を変更するときは、主体を複製し、新しい名前を指定して保存してから、古い主体を削除する必要があります。 

「Kerberos 主体を変更する方法」

主体を削除します。 

「Principal List」から削除する主体を選択し、「Delete」ボタンをクリックして、主体を削除します。 

「Kerberos 主体を削除する方法」

新しい主体を作成するときのデフォルトを設定します。 

「Edit」メニューから「Properties」を選択して、新しい主体を作成するときのデフォルトを設定します。 

「新しい Kerberos 主体を作成するときのデフォルトを設定する方法」

Kerberos 管理権限 (kadm5.acl ファイル) を変更します。

コマンド行のみ。Kerberos 管理権限により、主体が Kerberos データベースに対して実行できる操作 (追加、変更など) が決定されます。

各主体の Kerberos 管理権限を変更するときは、/etc/krb5/kadm5.acl ファイルを編集する必要があります。

「Kerberos 管理権限を変更する方法」

新しい Kerberos 主体の自動作成

SEAM Toolは簡単に使用できますが、新しい主体を自動作成することができません。10 個または 100 個などの新しい主体を短時間で作成する場合は、自動作成を利用すると便利です。Bourne シェルスクリプトで kadmin.local コマンドを使用すると、主体を自動作成できます。

次のシェルスクリプト行は、新しい主体を自動作成する方法の例を示します。


awk '{ print "ank +needchange -pw", $2, $1 }' < /tmp/princnames | 
        time /usr/sbin/kadmin.local> /dev/null

この例は、見やすいように 2 行に分割しています。このスクリプトは、princnames というファイルを読み込んで、そこに含まれている主体名とそのパスワードを Kerberos データベースに追加します。princnames ファイルをあらかじめ作成する必要があります。このファイルの各行には、主体とそのパスワードを 1 つ以上の空白で区切って指定します。主体に +needchange オプションを指定すると、ユーザーがその主体を使用して初めてログインしたときに、新しいパスワードを要求するプロンプトが表示されます。この方法を使用すると、princnames ファイル内のパスワードのセキュリティーが向上します。

より複雑なスクリプトも作成できます。たとえば、ネームサービスの情報を使用して、主体名に対応するユーザー名の一覧を取得できます。必要な作業とその方法は、使用環境要件とスクリプト使用技術によって決まります。

ProcedureKerberos 主体の一覧を表示する方法

対応するコマンド行の例は、この手順のあとに示します。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、「SEAM ツールを起動する方法」を参照してください。


    $ /usr/sbin/gkadmin
    
  2. 「Principals」タブをクリックします。

    主体の一覧が表示されます。

    「Seam Administration Tool」というタイトルのダイアログボックスに、主体の一覧と一覧のフィルタが表示されています。「Modify」、「Create New」、「Delete」、「Duplicate」ボタンが表示されています。
  3. 特定の主体を表示するか、主体の部分リストを表示します。

    「Filter」フィールドにフィルタ文字列を入力して、Return キーを押します。フィルタが正常終了すると、フィルタに一致する主体の一覧が表示されます。

    フィルタ文字列は、1 文字以上の文字列である必要があります。フィルタメカニズムでは大文字と小文字が区別されるため、大文字と小文字を正しく指定する必要があります。たとえば、フィルタ文字列に ge と入力すると、主体名に文字列 ge を含む主体 (georgeedge など) だけが表示されます。

    すべての主体を表示するには、「Clear Filter」をクリックします。


例 25–1 Kerberos 主体の一覧の表示 (コマンド行)

次の例では、kadminlist_principals コマンドを使用して、kadmin* と一致するすべての主体を表示します。list_principals コマンドでは、ワイルドカードを使用できます。


kadmin: list_principals kadmin*
kadmin/changepw@EXAMPLE.COM
kadmin/kdc1.example.con@EXAMPLE.COM
kadmin/history@EXAMPLE.COM
kadmin: quit

ProcedureKerberos 主体の属性を表示する方法

対応するコマンド行の例は、この手順のあとに示します。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、「SEAM ツールを起動する方法」を参照してください。


    $ /usr/sbin/gkadmin
    
  2. 「Principals」タブをクリックします。

  3. 表示する主体を一覧から選択して、「Modify」をクリックします。

    「Principal Basic」パネルが表示され、主体の属性の一部が示されます。

  4. 「Next」をクリックして、主体のすべての属性を表示します。

    属性情報は、3 つのウィンドウに表示されます。「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。主体のすべての属性の説明については、「SEAM ツールパネルの説明」を参照してください。

  5. 表示を終了する場合は、「Cancel」をクリックします。


例 25–2 Kerberos 主体の属性の表示

次の例は、jdb/admin 主体を表示したときの最初のウィンドウです。

「SEAM Administration Tool」というタイトルのダイアログボックスに、jdb/admin 主体のアカウントデータが表示されています。アカウントデータの有効期限とコメントが表示されています。

例 25–3 Kerberos 主体の属性の表示 (コマンド行)

次の例では、kadminget_principal コマンドを使用して、jdb/admin 主体の属性を表示します。


kadmin: getprinc jdb/admin
Principal: jdb/admin@EXAMPLE.COM

Expiration date: [never]
Last password change: [never]

Password expiration date: Wed Apr 14 11:53:10 PDT 2011
Maximum ticket life: 1 day 16:00:00
Maximum renewable life: 1 day 16:00:00
Last modified: Mon Sep 28 13:32:23 PST 2009 (host/admin@EXAMPLE.COM)
Last successful authentication: [never]
Last failed authentication: [never]
Failed password attempts: 0
Number of keys: 1
Key: vno 1, AES-256 CTS mode with 96-bit SHA-1 HMAC, no salt
Key: vno 1, AES-128 CTS mode with 96-bit SHA-1 HMAC, no salt
Key: vno 1, Triple DES with HMAC/sha1, no salt
Key: vno 1, ArcFour with HMAC/md5, no salt
Key: vno 1, DES cbc mode with RSA-MD5, no salt
Attributes: REQUIRES_HW_AUTH
Policy: [none]
kadmin: quit

Procedure新しい Kerberos 主体を作成する方法

対応するコマンド行の例は、この手順のあとに示します。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、「SEAM ツールを起動する方法」を参照してください。


    注 –

    新しい主体を作成するときに、新しいポリシーが必要な場合は、新しいポリシーを作成してから新しい主体を作成する必要があります。「新しい Kerberos ポリシーを作成する方法」を参照してください。



    $ /usr/sbin/gkadmin
    
  2. 「Principals」タブをクリックします。

  3. 「New」をクリックします。

    「Principal Basics」パネルが表示され、主体の属性の一部が示されます。

  4. 主体名とパスワードを指定します。

    主体名とパスワードは必須です。

  5. 主体の暗号化タイプを指定します。

    暗号化鍵タイプフィールドの右にあるボックスをクリックして、使用可能なすべての暗号化鍵タイプを表示する新しいウィンドウを開きます。必須の暗号化タイプを選択してから、「OK」をクリックします。

    「SEAM Encryption Type List Helper」というタイトルのダイアログボックスに、インストール済みのすべての暗号化タイプが表示されます。
  6. 主体のポリシーを指定します。

  7. 主体の属性に値を指定します。「Next」をクリックして、属性の値を必要に応じて指定します。

    属性情報は、3 つのウィンドウに表示されます。「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。主体のすべての属性の説明については、「SEAM ツールパネルの説明」を参照してください。

  8. 主体を保存する場合は、「Save」をクリックします。または、最後のパネルで「Done」をクリックします。

  9. 必要に応じて、新しい主体の Kerberos 管理権限を /etc/krb5/kadm5.acl ファイルに設定します。

    詳細は、「Kerberos 管理権限を変更する方法」を参照してください。


例 25–4 新しい Kerberos 主体の作成

次の例は、pak という新しい主体を作成するときの「Principal Basics」パネルです。ポリシーには、testuser が設定されています。

「SEAM Administration Tool」というタイトルのダイアログボックスに、pak 主体のアカウントデータが表示されています。パスワード、アカウントの有効期限、および testuser のポリシーが表示されています。

例 25–5 新しい Kerberos 主体の作成 (コマンド行)

次の例では、kadminadd_principal コマンドを使用して、 pak という新しい主体を作成します。この主体のポリシーには、testuser が設定されています。


kadmin: add_principal -policy testuser pak
Enter password for principal "pak@EXAMPLE.COM": <Type the password>
Re-enter password for principal "pak@EXAMPLE.COM": <Type the password again>
Principal "pak@EXAMPLE.COM" created.
kadmin: quit

ProcedureKerberos 主体を複製する方法

この手順では、既存の主体の一部またはすべてを使用して、新しい主体を作成する方法について説明します。この手順に対応するコマンド行はありません。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、「SEAM ツールを起動する方法」を参照してください。


    $ /usr/sbin/gkadmin
    
  2. 「Principals」タブをクリックします。

  3. 複製する主体を一覧から選択して、「Duplicate」をクリックします。

    「Principal Basics」パネルが表示されます。選択した主体のすべての属性が複製されます。ただし、「Principal Name」と「Password」フィールドは複製されず、空で表示されます。

  4. 主体名とパスワードを指定します。

    主体名とパスワードは必須です。選択した主体をそのまま複製するときは、「Save」をクリックして、手順 7 に進みます。

  5. 主体の属性に別の値を指定します。「Next」をクリックして、属性の値を必要に応じて指定します。

    属性情報は、3 つのウィンドウに表示されます。「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。主体のすべての属性の説明については、「SEAM ツールパネルの説明」を参照してください。

  6. 主体を保存する場合は、「Save」をクリックします。または、最後のパネルで「Done」をクリックします。

  7. 必要に応じて、主体の Kerberos 管理権限を /etc/krb5/kadm5.acl ファイルに設定します。

    詳細は、「Kerberos 管理権限を変更する方法」を参照してください。

ProcedureKerberos 主体を変更する方法

対応するコマンド行の例は、この手順のあとに示します。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、「SEAM ツールを起動する方法」を参照してください。


    $ /usr/sbin/gkadmin
    
  2. 「Principals」タブをクリックします。

  3. 変更する主体を一覧から選択して、「Modify」をクリックします。

    「Principal Basic」パネルが表示され、主体の属性の一部が示されます。

  4. 主体の属性を変更します。「Next」をクリックして、必要に応じて属性を変更します。

    属性情報は、3 つのウィンドウに表示されます。「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。主体のすべての属性の説明については、「SEAM ツールパネルの説明」を参照してください。


    注 –

    主体名は変更できません。主体名を変更するときは、主体を複製し、新しい名前を指定して保存してから、古い主体を削除する必要があります。


  5. 主体を保存する場合は、「Save」をクリックします。または、最後のパネルで「Done」をクリックします。

  6. /etc/krb5/kadm5.acl ファイルで、主体の Kerberos 管理権限を変更します。

    詳細は、「Kerberos 管理権限を変更する方法」を参照してください。


例 25–6 Kerberos 主体のパスワードの変更 (コマンド行)

次の例では、kadminchange_password コマンドを使用して、jdb 主体のパスワードを変更します。change_password コマンドでは、主体のパスワード履歴に存在するパスワードには変更できません。


kadmin: change_password jdb
Enter password for principal "jdb": <Type the new password>
Re-enter password for principal "jdb": <Type the password again>
Password for "jdb@EXAMPLE.COM" changed.
kadmin: quit

主体のその他の属性を変更するには、kadminmodify_principal コマンドを使用する必要があります。


ProcedureKerberos 主体を削除する方法

対応するコマンド行の例は、この手順のあとに示します。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、「SEAM ツールを起動する方法」を参照してください。


    $ /usr/sbin/gkadmin
    
  2. 「Principals」タブをクリックします。

  3. 削除する主体を一覧から選択して、「Delete」をクリックします。

    削除を確定すると、主体が削除されます。

  4. Kerberos アクセス制御リスト (ACL) ファイル /etc/krb5/kadm5.acl から主体を削除します。

    詳細は、「Kerberos 管理権限を変更する方法」を参照してください。


例 25–7 Kerberos 主体の削除 (コマンド行)

次の例では、kadmindelete_principal コマンドを使用して、jdb 主体を削除します。


kadmin: delete_principal pak
Are you sure you want to delete the principal "pak@EXAMPLE.COM"? (yes/no): yes
Principal "pak@EXAMPLE.COM" deleted.
Make sure that you have removed this principal from all ACLs before reusing.
kadmin: quit

Procedure新しい Kerberos 主体を作成するときのデフォルトを設定する方法

この手順に対応するコマンド行はありません。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、「SEAM ツールを起動する方法」を参照してください。


    $ /usr/sbin/gkadmin
    
  2. 「Edit」メニューから「Properties」を選択します。

    「Properties」ウィンドウが表示されます。

    「Properties」というタイトルのダイアログボックスに、新しい主体とリストコントロールのデフォルトが表示されています。主体のデフォルトには、セキュリティーやその他のオプションが含まれます。
  3. 新しい主体を作成するときに使用するデフォルトを選択します。

    「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。

  4. 「Save」をクリックします。

ProcedureKerberos 管理権限を変更する方法

使用する環境には、多くのユーザー主体が登録されていると思われます。しかし、Kerberos データベースの管理者は通常、少数のユーザーだけに割り当てます。Kerberos データベースを管理する権限は、Kerberos アクセス制御リスト (ACL) ファイル (kadm5.acl) によって判断されます。kadm5.acl ファイルを使用すると、主体ごとに権限を設定できます。主体名にワイルドカード (*) を使用すると、複数の主体に権限を指定できます。

  1. マスター KDC 上でスーパーユーザーになります。

  2. /etc/krb5/kadm5.acl ファイルを編集します。

    kadm5.acl ファイルのエントリは、次の書式で記述する必要があります。


    principal privileges [principal-target]

    principal

    権限を与える主体を指定します。主体名の任意の場所にワイルドカード (*) を使用できます。複数の主体グループに同じ権限を与えるときに使用します。たとえば、admin インスタンスを持つすべての主体を指定する場合は、*/admin@realm を使用します。

    admin インスタンスは通常、個別の権限 (Kerberos データベースへの管理アクセス権など) を個別の Kerberos 主体に許可するときに使用します。たとえば、ユーザー jdb が、jdb/admin という管理目的の主体を持つとします。この場合、ユーザー jdb は、この権限を実際に使用するときにだけ、jdb/admin チケットを取得します。

    privileges

    主体が実行できる操作または実行できない操作を指定します。このフィールドは、次に示す 1 つまたは複数の文字列 (またはその大文字) の組み合わせから構成されます。大文字の指定、または指定なしは許可されません。小文字の指定は許可されます。 

     

    a

    主体またはポリシーの追加を許可する/しない。 

     

    d

    主体またはポリシーの削除を許可する/しない。 

     

    m

    主体またはポリシーの変更を許可する/しない。 

     

    c

    主体のパスワードの変更を許可する/しない。 

     

    i

    Kerberos データベースの照会を許可する/しない。 

     

    l

    Kerberos データベース内の主体またはポリシーの一覧表示を許可する/しない。 

     

    x または *

    すべての権限 (admcil) を許可する。

    principal-target

    このフィールドに主体を指定すると、principal の操作が principal-target の場合にだけ、privilegesprincipal に適用されます。主体名の任意の場所にワイルドカード (*) を使用できます。主体をグループ化するときに使用します。


例 25–8 Kerberos 管理権限の変更

kadm5.acl ファイル内の次のエントリは、EXAMPLE.COM レルム内で admin インスタンスを持つ すべての主体に対して、Kerberos データベース上のすべての権限を与えます。


*/admin@EXAMPLE.COM *

kadm5.acl ファイル内の次のエントリは、jdb@EXAMPLE.COM 主体に対して、root インスタンスを持つすべての主体に関する追加、一覧表示、および照会の権限を与えます。


jdb@EXAMPLE.COM ali */root@EXAMPLE.COM

Kerberos 主体の管理

この節では、SEAM ツールを使用してポリシーを管理する手順について説明します。また、対応するコマンド行がある場合は、その例も示します。

Kerberos ポリシーの管理 (作業マップ)

作業 

説明 

参照先 

ポリシーの一覧を表示します。 

「Policies」タブをクリックして、ポリシーの一覧を表示します。 

「Kerberos ポリシーの一覧を表示する方法」

ポリシーの属性を表示します。 

「Policy List」からポリシーを選択し、「Modify」ボタンをクリックして、ポリシーの属性を表示します。 

「Kerberos ポリシーの属性を表示する方法」

新しいポリシーを作成します。 

「Policy List」パネルの「Create New」ボタンをクリックして、新しいポリシーを作成します。 

「新しい Kerberos ポリシーを作成する方法」

ポリシーを複製します。 

複製するポリシーを「Policy List」ポリシーから選択し、「Duplicate」ボタンをクリックして、ポリシーを複製します。 

「Kerberos ポリシーを複製する方法」

ポリシーを変更します。 

変更するポリシーを「Policy List」ポリシーから選択し、「Modify」ボタンをクリックして、ポリシーを変更します。 

ポリシー名は変更できません。ポリシー名を変更するときは、ポリシーを複製し、新しい名前を指定して保存してから、古いポリシーを削除する必要があります。 

「Kerberos ポリシーを変更する方法」

ポリシーを削除します。 

削除するポリシーを「Policy List」ポリシーから選択し、「Delete」ボタンをクリックして、ポリシーを削除します。 

「Kerberos ポリシーを削除する方法」

ProcedureKerberos ポリシーの一覧を表示する方法

対応するコマンド行の例は、この手順のあとに示します。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、「SEAM ツールを起動する方法」を参照してください。


    $ /usr/sbin/gkadmin
    
  2. 「Policies」タブをクリックします。

    ポリシーの一覧が表示されます。

    「SEAM Administration Tool」というタイトルのダイアログボックスに、ポリシーの一覧とポリシーのフィルタが表示されています。「Modify」、「Create New」、「Delete」、「Duplicate」ボタンが表示されています。
  3. 特定のポリシーを表示するか、ポリシーの部分リストを表示します。

    「Filter」フィールドにフィルタ文字列を入力して、Return キーを押します。フィルタが正常終了すると、フィルタに一致するポリシーの一覧が表示されます。

    フィルタ文字列は、1 文字以上の文字列である必要があります。フィルタメカニズムでは大文字と小文字が区別されるため、大文字と小文字を正しく指定する必要があります。たとえば、フィルタ文字列に ge と入力すると、ポリシー名に文字列 ge を含むポリシー (georgeedge など) だけが表示されます。

    すべてのポリシーを表示するには、「Clear Filter」をクリックします。


例 25–9 Kerberos ポリシーの一覧の表示 (コマンド行)

次の例では、kadminlist_policies コマンドを使用して、*user* と一致するすべてのポリシーを表示します。list_policies コマンドでは、ワイルドカードを使用できます。


kadmin: list_policies *user*
testuser
enguser
kadmin: quit

ProcedureKerberos ポリシーの属性を表示する方法

対応するコマンド行の例は、この手順のあとに示します。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、「SEAM ツールを起動する方法」を参照してください。


    $ /usr/sbin/gkadmin
    
  2. 「Policies」タブをクリックします。

  3. 表示するポリシーを一覧から選択して、「Modify」をクリックします。

    「Policy Details」パネルが表示されます。

  4. 表示を終了する場合は、「Cancel」をクリックします。


例 25–10 Kerberos ポリシーの属性の表示

次の例は、test ポリシーを表示したときの「Policy Details」パネルです。

「SEAM Administration Tool」というタイトルのダイアログボックスに、enguser ポリシーのポリシー詳細が表示されています。「Save」、「Previous」、「Done」、および「Cancel」ボタンが表示されています。

例 25–11 Kerberos ポリシーの属性の表示 (コマンド行)

次の例では、kadminget_policy コマンドを使用して、enguser ポリシーの属性を表示します。


kadmin: get_policy enguser
Policy: enguser
Maximum password life: 2592000
Minimum password life: 0
Minimum password length: 8
Minimum number of password character classes: 2
Number of old keys kept: 3
Reference count: 0
kadmin: quit

「Reference count」は、このポリシーを使用する主体の数です。


Procedure新しい Kerberos ポリシーを作成する方法

対応するコマンド行の例は、この手順のあとに示します。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、「SEAM ツールを起動する方法」を参照してください。


    $ /usr/sbin/gkadmin
    
  2. 「Policies」タブをクリックします。

  3. 「New」をクリックします。

    「Policy Details」パネルが表示されます。

  4. 「Policy Name」フィールドにポリシー名を指定します。

    ポリシー名は必須です。

  5. ポリシーの属性の値を指定します。

    「Help」メニューから「Context-Sensitive Help」を選択すると、このウィンドウの属性に関する情報が表示されます。ポリシーのすべての属性の説明については、表 25–5 を参照してください。

  6. 「Save」をクリックしてポリシーを保存するか、「Done」をクリックします。


例 25–12 新しい Kerberos ポリシーの作成

次の例では、build11 という新しいポリシーを作成します。「Minimum Password Classes」は、3 に設定されています。

「SEAM Administration Tool」というタイトルのダイアログボックスに、build11 ポリシーのポリシー詳細が表示されています。「Save」、「Previous」、「Done」、および「Cancel」ボタンが表示されています。

例 25–13 新しい Kerberos ポリシーの作成 (コマンド行)

次の例では、kadminadd_policy コマンドを使用して、build11 ポリシーを作成します。このポリシーのパスワードには、3 種類以上の文字クラスが必要です。


$ kadmin
kadmin: add_policy -minclasses 3 build11
kadmin: quit

ProcedureKerberos ポリシーを複製する方法

この手順では、既存のポリシーの一部またはすべてを使用して、新しいポリシーを作成する方法について説明します。この手順に対応するコマンド行はありません。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、「SEAM ツールを起動する方法」を参照してください。


    $ /usr/sbin/gkadmin
    
  2. 「Policies」タブをクリックします。

  3. 複製するポリシーを一覧から選択して、「Duplicate」をクリックします。

    「Policy Details」パネルが表示されます。選択したフィールドのすべての属性が複製されます。ただし、「Policy Name」フィールドは空で表示されます。

  4. 複製するポリシー名を「Policy Name」フィールドに指定します。

    ポリシー名は必須です。選択したポリシーをそのまま複製するには、手順 6 に進みます。

  5. ポリシーの属性に別の値を指定します。

    「Help」メニューから「Context-Sensitive Help」を選択すると、このウィンドウの属性に関する情報が表示されます。ポリシーのすべての属性の説明については、表 25–5 を参照してください。

  6. 「Save」をクリックしてポリシーを保存するか、「Done」をクリックします。

ProcedureKerberos ポリシーを変更する方法

対応するコマンド行の例は、この手順のあとに示します。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、「SEAM ツールを起動する方法」を参照してください。


    $ /usr/sbin/gkadmin
    
  2. 「Policies」タブをクリックします。

  3. 変更するポリシーを一覧から選択して「Modify」をクリックします。

    「Policy Details」パネルが表示されます。

  4. ポリシーの属性を変更します。

    「Help」メニューから「Context-Sensitive Help」を選択すると、このウィンドウの属性に関する情報が表示されます。ポリシーのすべての属性の説明については、表 25–5 を参照してください。


    注 –

    ポリシー名は変更できません。ポリシー名を変更するときは、ポリシーを複製し、新しい名前を指定して保存してから、古いポリシーを削除する必要があります。


  5. 「Save」をクリックしてポリシーを保存するか、「Done」をクリックします。


例 25–14 Kerberos ポリシーの変更 (コマンド行)

次の例では、kadminmodify_policy コマンドを使用して、build11 ポリシーの最小パスワード長を 5 文字に変更します。


$ kadmin
kadmin: modify_policy -minlength 5 build11
kadmin: quit

ProcedureKerberos ポリシーを削除する方法

対応するコマンド行の例は、この手順のあとに示します。


注 –

ポリシーを削除する前に、現在使用しているすべての主体からそのポリシーを取り消す必要があります。ポリシーを取り消すには、その主体の「Policy」属性を変更する必要があります。任意の主体が使用しているポリシーは、削除できません。


  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、「SEAM ツールを起動する方法」を参照してください。


    $ /usr/sbin/gkadmin
    
  2. 「Policies」タブをクリックします。

  3. 削除するポリシーを一覧から選択して、「Delete」をクリックします。

    削除を確定すると、ポリシーが削除されます。


例 25–15 Kerberos ポリシーの削除 (コマンド行)

次の例では、kadmindelete_policy コマンドを使用して、build11 ポリシーを削除します。


kadmin: delete_policy build11 
Are you sure you want to delete the policy "build11"? (yes/no): yes
kadmin: quit

ポリシーを削除する前に、現在使用しているすべての主体からそのポリシーを取り消す必要があります。ポリシーを取り消すには、関係する主体に対して kadminmodify_principal -policy コマンドを使用する必要があります。そのポリシーが主体に使用されている場合は、delete_policy コマンドは失敗します。


SEAM ツール参照

この節では、SEAM ツールの各パネルについて説明します。SEAM ツールで制限された権限を使用する方法についても説明します。

SEAM ツールパネルの説明

この節では、SEAM ツールで指定または表示できる主体とポリシーの属性について説明します。属性は、表示されるパネルごとに分類されています。

表 25–2 SEAM ツールの「Principal Basics」パネルの属性

属性 

説明 

Principal Name 

主体名 (完全指定形式の主体名の primary/instance 部分)。主体は、KDC がチケットを割り当てることができる一意の ID です。

主体を変更しても、主体名は編集できません。 

パスワード 

主体のパスワード。「Generate Random Password」ボタンを使用して、主体のランダムパスワードを作成できます。 

Policy 

主体に使用できるポリシーのメニュー。 

Account Expires 

主体のアカウントが期限切れになる日時。アカウントが期限切れになると、主体はチケット認可チケット (TGT) を取得できず、ログインできなくなります。 

Last Principal Change  

主体の情報が最後に変更された日付。(読み取り専用) 

Last Changed By 

この主体のアカウントを最後に変更した主体名。(読み取り専用) 

Comments 

主体に関連するコメント (「一時アカウント」など)。 

表 25–3 SEAM ツールの「Principal Details」パネルの属性

属性 

説明 

Last Success 

主体が最後に正常にログインした日時。(読み取り専用) 

Last Failure 

主体が最後にログインに失敗した日時。(読み取り専用) 

Failure Count 

主体のログインが失敗した回数。(読み取り専用) 

Last Password Change 

主体のパスワードが最後に変更された日時。(読み取り専用) 

Password Expires 

主体の現在のパスワードが期限切れになる日時。 

Key Version 

主体の鍵のバージョン番号。この属性は通常、パスワードが危険にさらされた場合にだけ変更されます。 

Maximum Lifetime (seconds) 

チケットを主体が使用できる最大期間 (更新しない場合)。 

Maximum Renewal (seconds) 

既存のチケットを主体が更新できる最大期間。 

表 25–4 SEAM ツールの「Principal Flags」パネルの属性

属性 (ラジオボタン) 

説明 

Disable Account 

チェックすると、その主体はログインできなくなります。この属性は、主体のアカウントを一時的に凍結するときに使用します。 

Require Password Change 

チェックすると、主体の現在のパスワードが期限切れとなり、ユーザーは kpasswd コマンドを使用して新しいパスワードを作成しなければなりません。この属性は、セキュリティー侵害が発生し、古いパスワードを置換する必要があるときに使用します。

Allow Postdated Tickets 

チェックすると、主体は遅延チケットを取得できます。  

たとえば、cron ジョブを数時間後に実行する場合は、遅延チケットを使用する必要があります。ただし、チケットの有効期限が短い場合は、事前にチケットを取得できません。

Allow Forwardable Tickets 

チェックすると、主体は転送可能チケットを取得できます。 

転送可能チケットは、遠隔ホストに転送されて、シングルサインオンセッションを実現します。たとえば、転送可能チケットを使用して、ユーザー自身の ftp 認証または rsh 認証が完了すると、NFS サービスなどのほかのサービスを利用するときに、新たにパスワードを要求されません。

Allow Renewable Tickets 

チェックすると、主体が更新可能チケットを取得できます。 

主体は、チケットが更新可能な場合、有効期限日時を自動的に延長することができます。つまり、最初のチケットの期限が切れても、新しいチケットを取得する必要がありません。現在の NFS サービスは、チケットを新しくするチケットサービスです。 

Allow Proxiable Tickets 

チェックすると、主体は代理可能チケットを取得できます。 

代理可能チケットを使用すると、クライアントの代わりにサービスがクライアントの操作を実行できます。代理可能チケットを使用すると、サービスはクライアントの ID を使用して別のサービスのチケットを取得できます。ただし、チケット認可チケット (TGT) を取得することはできません。 

Allow Service Tickets 

チェックすると、サービスチケットを特定の主体に発行できます。 

サービスチケットの発行は、kadmin/hostname および changepw/hostname 主体に許可してはいけません。これらの主体は、KDC データベース以外は更新してはいけません。

Allow TGT-Based Authentication 

チェックすると、このサービス主体は別の主体にサービスを提供できます。つまり、KDC は、サービス主体にサービスチケットを発行できます。 

この属性は、サービス主体にだけ使用できます。チェックを解除すると、サービスチケットをサービス主体に対して発行できません。 

Allow Duplicate Authentication 

チェックすると、このユーザー主体はほかのユーザー主体のサービスチケットを取得できます。 

この属性は、ユーザー主体にだけ使用できます。チェックを解除すると、ユーザー主体はサービス主体のサービスチケットを取得できますが、ほかのユーザー主体のサービスチケットは取得できません。 

Required Preauthentication 

チェックすると、KDC が要求されたチケット認可チケット (TGT) を主体に送信する前に、その主体が TGT を要求している主体であることを KDC のソフトウェアが認証します。この事前認証は通常、DES カードなどの特別のパスワードを使用して行われます。 

チェックを解除すると、KDC は要求された TGT を主体に送信する前に、主体の事前認証を必要としません。 

Required Hardware Authentication 

チェックすると、KDC が要求されたチケット認可チケット (TGT) を主体に送信する前に、その主体が TGT を要求している主体であることを KDC のハードウェアが認証します。ハードウェア事前認証は、たとえば Java リングのリーダー上で行われます。 

チェックを解除すると、KDC は要求された TGT を主体に送信する前に、主体の事前認証を必要としません。 

表 25–5 SEAM ツールの「Policy Basics」区画の属性

属性 

説明 

ポリシー名 

ポリシー名。ポリシーとは、主体のパスワードとチケットを管理する一連のルールのことです。 

ポリシーを変更しても、ポリシー名は編集できません。 

Minimum Password Length 

主体の最小パスワード長。 

Minimum Password Classes 

主体のパスワードに必要な異なる文字タイプの数。 

たとえば、最小クラス値が 2 の場合は、パスワードに 2 種類以上の文字タイプを使用する必要があります。たとえば、英字と数字を使用して「hi2mom」と入力する必要があります。値が 3 の場合は、パスワードに 3 種類以上の文字タイプを使用する必要があります。たとえば、英字、数字、および句読点を使用して「hi2mom!」と入力する必要があります。  

値が 1 の場合は、パスワード文字タイプの数に制限が設定されません。 

Saved Password History 

主体に使用された過去のパスワードの数と、過去のパスワードの一覧。これらのパスワードは再使用できません。 

Minimum Password Lifetime (seconds) 

パスワードの最小使用期間。この期間が経過しないとパスワードを変更できません。 

Maximum Password Lifetime (seconds) 

パスワードの最大使用期間。この期間が経過したらパスワードを変更する必要があります。 

Principals Using This Policy 

このポリシーが現在適用されている主体の数。(読み取り専用) 

Kerberos 管理権限を制限して SEAM ツールを使用する

admin 主体が Kerberos データベースの管理権限をすべて持っている場合は、SEAM 管理ツールの機能をすべて使用できます。ただし、たとえば主体の一覧の表示、主体のパスワードの変更だけができるように、Kerberos 管理権限を制限することもできます。Kerberos 管理権限を制限した場合でも、SEAM ツールを使用できます。ただし、許可された Kerberos 管理権限によって、SEAM ツールの使い方が異なります。表 25–6 は、Kerberos 管理権限に基づいた SEAM ツールの変更の一覧です。

一覧表示権限がない場合、SEAM ツールの表示がもっとも大きく変わります。この場合、操作する主体とポリシーの一覧が「List」パネルに表示されません。代わりに、「List」パネルの「Name」フィールドを使用して、操作する主体またはポリシーを指定する必要があります。

SEAM ツールにログインしても、必要な権限がない場合は、次のメッセージが表示されて「SEAM Administration Login」ウィンドウに戻ります。


Insufficient privileges to use gkadmin: ADMCIL. Please try using another principal.

主体が Kerberos データベースを管理する権限を変更する方法については、「Kerberos 管理権限を変更する方法」を参照してください。

表 25–6 Kerberos 管理権限が制限された SEAM ツールの使用

許可しない権限 

SEAM ツールの変更 

a (追加)

「Principal List」および「Policy List」パネルの「Create New」と「Duplicate」ボタンを使用できません。追加権限がない場合は、新しい主体またはポリシーを作成または複製できません。 

d (削除)

「Principal List」および「Policy List」パネルの「Delete」ボタンを使用できません。削除権限がない場合は、主体またはポリシーを削除できません。 

m (変更)

「Principal List」および「Policy List」パネルの「Modify」ボタンを使用できません。変更権限がない場合は、主体またはポリシーを変更できません。  

また、「Modify」ボタンを使用できない場合、パスワードの変更権限を持っていても、主体のパスワードを変更できません。 

c (パスワードの変更)

「Principal Basics」パネルの「Password」フィールドが読み取り専用になり、変更できません。パスワードの変更権限がない場合、主体のパスワードを変更できません。  

パスワードの変更権限を持っている場合でも、主体のパスワードを変更するときは、さらに変更権限が必要になります。 

i (データベースの照会)

「Principal List」および「Policy List」パネルの「Modify」と「Duplicate」ボタンを使用できません。照会権限がない場合は、主体またはポリシーを変更または複製できません。  

また、「Modify」ボタンを使用できない場合、パスワードの変更権限を持っていても、主体のパスワードを変更できません。 

l (一覧)

「List」パネルで主体とポリシーの一覧を表示できません。一覧権限がない場合は、「List」パネルの「Name」フィールドを使用して、操作する主体またはポリシーを指定する必要があります。 

キータブファイルの管理

サービスを提供するすべてのホストには、「キータブ」 (「鍵テーブル」の短縮名) と呼ばれるローカルファイルが必要です。キータブには、「サービス鍵」と呼ばれる該当するサービスの主体が格納されます。サービス鍵は、KDC に対してサービス自身を認証するときに使用され、Kerberos とそのサービスだけが認識します。たとえば、Kerberos NFS サーバーを使用する場合、このサーバーには nfs サービス主体を含むキータブが必要です。

キータブファイルにサービス鍵を追加するには、kadminktadd コマンドを使用して、適切なサービス主体をホストのキータブファイルに追加します。サービス主体をキータブファイルに追加するときは、Kerberos データベースにあらかじめ主体を登録し、kadmin が主体の存在を検証できるようにする必要があります。マスター KDC では、キータブファイルのデフォルトの位置は /etc/krb5/kadm5.keytab です。Kerberos サービスを提供するアプリケーションサーバーでは、キータブファイルのデフォルトの位置は /etc/krb5/krb5.keytab です。

キータブはユーザーのパスワードに似ています。ユーザーの場合は、自分のパスワードを保護することが重要ですが、アプリケーションサーバーの場合は、キータブファイルを保護することが重要です。キータブファイルは常時ローカルディスクに格納し、root ユーザー以外は読み取れないようにしてください。また、キータブファイルは、セキュリティー保護されていないネットワークを介して送信しないでください。

root 主体をホストのキータブファイルに追加する特別な場合もあります。Kerberos クライアント上のユーザーが root と同等のアクセスを必要とする Kerberos NFS ファイルシステムをマウントするようにするには、クライアントの root 主体をクライアントのキータブファイルに追加する必要があります。追加しなかった場合、root アクセスで Kerberos NFS ファイルシステムをマウントするたびに、ユーザーは kinit コマンドをスーパーユーザーとして使用して、クライアントの root 主体の資格を取得する必要があります。これは、オートマウンタを使用している場合でも同様です。


注 –

マスター KDC を設定するときは、kadmind および changepw 主体を kadm5.keytab ファイルに追加する必要があります。


キータブファイルを管理するときに、ktutil コマンドも使用できます。この対話型のコマンドは、Kerberos 管理権限がなくても、ローカルホストのキータブファイルを管理できます。kadmin は Kerberos データベースと対話しますが、ktutil は対話しないためです。つまり、主体をキータブファイルに追加したあとに ktutil を使用すると、キータブファイル内のキー一覧を表示したり、サービスの認証を一時的に無効にしたりできます。


注 –

kadminktadd コマンドを使用してキータブファイル内の主体を変更すると、新しい鍵が生成され、キータブファイルに追加されます。


キータブファイルの管理 (作業マップ)

作業 

説明 

参照先 

サービス主体をキータブファイルに追加します。 

kadminktadd コマンドを使用して、サービス主体をキータブファイルに追加します。

「Kerberos サービス主体をキータブファイルに追加する方法」

キータブファイルからサービス主体を削除します。 

kadminktremove コマンドを使用して、キータブファイルからサービスを削除します。

「キータブファイルからサービス主体を削除する方法」

キータブファイル内のキー一覧 (主体の一覧) を表示します。 

ktutil コマンドを使用して、キータブファイル内のキー一覧を表示します。

「キータブファイル内のキー一覧 (主体) を表示する方法」

ホスト上でのサービスの認証を一時的に無効にします。 

この手順を行うと、kadmin 権限がなくても、ホスト上でのサービスの認証を一時的に無効にできます。

ktutil を使用してサーバーのキータブファイルからサービス主体を削除する前に、元のキータブファイルを一時的な位置にコピーする必要があります。サービスを再度有効にする場合は、元のキータブファイルを適切な場所に戻す必要があります。

「ホスト上のサービスの認証を一時的に無効にする方法」

ProcedureKerberos サービス主体をキータブファイルに追加する方法

  1. 主体がすでに Kerberos データベースに登録されていることを確認します。

    詳細は、「Kerberos 主体の一覧を表示する方法」を参照してください。

  2. キータブファイルに主体を追加するホスト上でスーパーユーザーになります。

  3. kadmin コマンドを起動します。


    # /usr/sbin/kadmin
    
  4. ktadd コマンドを使用して、キータブファイルに主体を追加します。


    kadmin: ktadd [-e enctype] [-k keytab] [-q] [principal | -glob principal-exp]
    -e enctype

    krb5.conf ファイルに定義された暗号化タイプの一覧を上書きします。

    -k keytab

    キータブファイルを指定します。デフォルトでは、/etc/krb5/krb5.keytab が使用されます。

    -q

    冗長な情報を表示しません。

    principal

    キータブファイルに追加する主体を指定します。追加できるサービス主体は、次のとおりです。 hostrootnfs、および ftp

    -glob principal-exp

    主体表現を指定します。principal-exp に一致するすべての主体が、キータブファイルに追加されます。主体表現の規則は、kadminlist_principals コマンドと同じです。

  5. kadmin コマンドを終了します。


    kadmin: quit
    

例 25–16 サービス主体のキータブファイルへの追加

次の例では、kadmin/kdc1.example.com および changepw/kdc1.example.com 主体をマスター KDC のキータブファイルに追加しています。この例のキータブファイルは、kdc.conf ファイルで指定されている必要があります。


kdc1 # /usr/sbin/kadmin.local
kadmin.local: ktadd -k /etc/krb5/kadm5.keytab kadmin/kdc1.example.com changepw/kdc1.example.com
Entry for principal kadmin/kdc1.example.com with kvno 3, encryption type AES-256 CTS mode
          with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/kadm5.keytab.
Entry for principal kadmin/kdc1.example.com with kvno 3, encryption type AES-128 CTS mode
          with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/kadm5.keytab.
Entry for principal kadmin/kdc1.example.com with kvno 3, encryption type Triple DES cbc
          mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/kadm5.keytab.
Entry for principal kadmin/kdc1.example.com with kvno 3, encryption type ArcFour
          with HMAC/md5 added to keytab WRFILE:/etc/krb5/kadm5.keytab.
Entry for principal kadmin/kdc1.example.com with kvno 3, encryption type DES cbc mode
          with RSA-MD5 added to keytab WRFILE:/etc/krb5/kadm5.keytab.
Entry for principal changepw/kdc1.example.com with kvno 3, encryption type AES-256 CTS
          mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/kadm5.keytab.
Entry for principal changepw/kdc1.example.com with kvno 3, encryption type AES-128 CTS
          mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/kadm5.keytab.
Entry for principal changepw/kdc1.example.com with kvno 3, encryption type Triple DES cbc
          mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/kadm5.keytab.
Entry for principal changepw/kdc1.example.com with kvno 3, encryption type ArcFour
          with HMAC/md5 added to keytab WRFILE:/etc/krb5/kadm5.keytab.
Entry for principal changepw/kdc1.example.com with kvno 3, encryption type DES cbc mode
          with RSA-MD5 added to keytab WRFILE:/etc/krb5/kadm5.keytab.
kadmin.local: quit

次の例では、denverhost 主体を denver のキータブファイルに追加し、KDC が denver のネットワークサービスを認証できるようにします。


denver # /usr/sbin/kadmin
kadmin: ktadd host/denver.example.com
Entry for principal host/denver.example.com with kvno 3, encryption type AES-256 CTS
          mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
Entry for principal host/denver.example.com with kvno 3, encryption type AES-128 CTS mode
          with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
Entry for principal host/denver.example.com with kvno 3, encryption type Triple DES cbc mode
          with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab.
Entry for principal host/denver.example.com with kvno 3, encryption type ArcFour
          with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
Entry for principal host/denver.example.com with kvno 3, encryption type DES cbc mode
          with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
kadmin: quit

Procedureキータブファイルからサービス主体を削除する方法

  1. キータブファイルから削除するサービス主体が登録されているホスト上でスーパーユーザーになります。

  2. kadmin コマンドを起動します。


    # /usr/sbin/kadmin
    
  3. (省略可能) キータブファイル内の現在の主体 (鍵) の一覧を表示するには、ktutil コマンドを使用します。

    詳細な手順は、「キータブファイル内のキー一覧 (主体) を表示する方法」を参照してください。

  4. ktremove コマンドを使用して、キータブファイルから主体を削除します。


    kadmin: ktremove [-k keytab] [-q] principal [kvno | all | old ]
    -k keytab

    キータブファイルを指定します。デフォルトでは、/etc/krb5/krb5.keytab が使用されます。

    -q

    冗長な情報を表示しません。

    principal

    キータブファイルから削除する主体を指定します。

    kvno

    指定された主体のうち、鍵のバージョン番号が kvno と一致する主体のすべてのエントリを削除します。

    all

    指定された主体のすべてのエントリを削除します。

    old

    指定した主体のすべてのエントリを削除します。ただし、鍵のバージョン番号が最上位の主体は削除しません。

  5. kadmin コマンドを終了します。


    kadmin: quit
    

例 25–17 キータブファイルからのサービス主体の削除

次の例では、denverhost 主体を denver のキータブファイルから削除します。


denver # /usr/sbin/kadmin
kadmin: ktremove host/denver.example.com@EXAMPLE.COM
kadmin: Entry for principal host/denver.example.com@EXAMPLE.COM with kvno 3
  removed from keytab WRFILE:/etc/krb5/krb5.keytab.
kadmin: quit

Procedureキータブファイル内のキー一覧 (主体) を表示する方法

  1. キータブファイルが存在するホスト上でスーパーユーザーになります。


    注 –

    ほかのユーザーが所有するキータブファイルを作成することもできますが、キータブファイルのデフォルトの位置を使用するには root 所有権が必要です。


  2. ktutil コマンドを起動します。


    # /usr/bin/ktutil
    
  3. read_kt コマンドを使用して、キータブファイルをキー一覧バッファーに読み込みます。


    ktutil: read_kt keytab
    
  4. list コマンドを使用して、キー一覧バッファーを表示します。


    ktutil: list
    

    現在のキー一覧バッファーが表示されます。

  5. ktutil コマンドを終了します。


    ktutil: quit
    

例 25–18 キータブファイル内のキー一覧 (主体) の表示

次の例では、denver ホストの /etc/krb5/krb5.keytab ファイル内のキー一覧を表示します。


denver # /usr/bin/ktutil
    ktutil: read_kt /etc/krb5/krb5.keytab
    ktutil: list
slot KVNO Principal
---- ---- ---------------------------------------
   1    5 host/denver@EXAMPLE.COM
    ktutil: quit

Procedureホスト上のサービスの認証を一時的に無効にする方法

ネットワークアプリケーションサーバー上の rloginftp など、サービスの認証メカニズムを一時的に無効にしなければならない場合があります。たとえば、保守作業中は、ユーザーがシステムにログインできないようにする必要があります。ktutil コマンドを使用してサーバーのキータブファイルからサービス主体を削除することにより、サービスの認証を一時的に無効にすることができます。このとき、kadmin 権限は必要ありません。認証を再度有効にするには、保存した元のキータブファイルを元の位置にコピーするだけです。


注 –

デフォルトでは、ほとんどのサービスが認証を要求するように設定されています。そのように設定されていないときは、サービスの認証を無効にした場合でもサービスは動作します。


  1. キータブファイルが存在するホスト上でスーパーユーザーになります。


    注 –

    ほかのユーザーが所有するキータブファイルを作成することもできますが、キータブファイルのデフォルトの位置を使用するには root 所有権が必要です。


  2. 現在のキータブファイルを一時ファイルに保存します。

  3. ktutil コマンドを起動します。


    # /usr/bin/ktutil
    
  4. read_kt コマンドを使用して、キータブファイルをキー一覧バッファーに読み込みます。


    ktutil: read_kt keytab
    
  5. list コマンドを使用して、キー一覧バッファーを表示します。


    ktutil: list
    

    現在のキー一覧バッファーが表示されます。無効にするサービスのスロット番号を記録します。

  6. ホストのサービスを一時的に無効にするには、delete_entry コマンドを使用して、キー一覧バッファーから特定のサービス主体を削除します。


    ktutil: delete_entry slot-number
    

    この例では、slot-number に、削除するサービス主体のスロット番号を指定します。スロット番号は、list コマンドで表示できます。

  7. write_kt コマンドを使用して、新しいキー一覧バッファーをキータブファイルに書き込みます。


    ktutil: write_kt new-keytab
    
  8. ktutil コマンドを終了します。


    ktutil: quit
    
  9. 新しいキータブファイルの名前を変更します。


    # mv new-keytab keytab
    
  10. サービスを再度有効にする場合は、一時的な (元の) キータブファイルを元の場所にコピーします。


例 25–19 ホスト上のサービスを一時的に無効にする

次の例では、denver ホスト上の host サービスを一時的に無効にします。denver 上のホストサービスを再度有効にするには、 krb5.keytab.temp ファイルを /etc/krb5/krb5.keytab ファイルにコピーします。


denver # cp /etc/krb5/krb5.keytab /etc/krb5/krb5.keytab.temp
denver # /usr/bin/ktutil
    ktutil:read_kt /etc/krb5/krb5.keytab
    ktutil:list
slot KVNO Principal
---- ---- ---------------------------------------
   1    8 root/denver@EXAMPLE.COM
   2    5 host/denver@EXAMPLE.COM
    ktutil:delete_entry 2
    ktutil:list
slot KVNO Principal
---- ---- --------------------------------------
   1    8 root/denver@EXAMPLE.COM
    ktutil:write_kt /etc/krb5/new.krb5.keytab
    ktutil: quit
denver # cp /etc/krb5/new.krb5.keytab /etc/krb5/krb5.keytab