この章では、主体とそれに関連するポリシーを管理する手順について説明します。また、ホストのキータブファイルの管理方法についても説明します。
この章は、主体とポリシーを管理する必要のあるユーザーを対象にしています。主体とポリシーを計画するときの考慮事項など、主体とポリシーについて理解している必要があります。第 21 章Kerberos サービスについてと第 22 章Kerberos サービスの計画を参照してください。
この章で説明する情報は次のとおりです。
マスター KDC の Kerberos データベースには、使用するレルムの Kerberos 主体、そのパスワード、ポリシーなどの管理情報がすべて含まれています。主体を作成または削除したり、主体の属性を変更したりするには、kadmin または gkadmin コマンドのいずれかを使用します。
kadmin コマンドには、対話型のコマンド行インタフェースが用意されています。このインタフェースを使用して、Kerberos 主体、ポリシー、およびキータブファイルを管理することができます。kadmin コマンドには、次の 2 つの種類があります。
Kerberos を使用してユーザーを認証する点を除いて、2 つの kadmin の機能は同じです。kadmin に必要なデータベースを設定するときは、kadmin.local を使用します。
Solaris リリースには、SEAM 管理ツール (gkadmin) も用意されています。このツールは対話型のグラフィカルユーザーインタフェース (GUI) で、基本的に kadmin コマンドと同じ機能を持ちます。詳細は、「SEAM 管理ツール」を参照してください。
SEAM 管理ツール (SEAM ツール) は、対話型グラフィカルユーザーインタフェース (GUI) で、Kerberos 主体とポリシーを管理することができます。このツールは、kadmin コマンドと同じ機能を持ちます。ただし、キータブファイルの管理はサポートしません。キータブファイルを管理するには、kadmin コマンドを使用する必要があります (「キータブファイルの管理」を参照)。
kadmin コマンドと同様に、SEAM Toolは、Kerberos 認証と暗号化された RPC を使用して、ネットワーク上の任意の場所から安全に操作することができます。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 ツールが変更するファイルは、$HOME/.gkadmin ファイルだけです。このファイルには、新しい主体を作成するときのデフォルト値が含まれます。このファイルを更新するには、「Edit」メニューから「Properties」を選択します。
SEAM ツールには、印刷機能とオンラインヘルプ機能が用意されています。「Print」メニューから、次の要素をプリンタまたはファイルに送信できます。
指定したマスター KDC で使用できる主体の一覧
指定したマスター KDC で使用できるポリシーの一覧
現在選択されている主体または読み込まれている主体
「Help」メニューから、コンテキストヘルプと通常のヘルプを使用できます。「Help」メニューから「Context-Sensitive Help」を選択すると、「Context-Sensitive Help」ウィンドウが表示され、ツールがヘルプモードに切り替わります。ヘルプモードのウィンドウで、任意のフィールド、ラベル、またはボタンをクリックすると、「Help」ウィンドウにその項目のヘルプが表示されます。ツールの通常モードに戻るには、「Help」ウィンドウで「Dismiss」をクリックします。
また、「Help Contents」を選択すると、HTML ブラウザが開き、この章で説明している概要や操作情報が表示されます。
登録した主体とポリシーが増加するにつれて、SEAM ツールが主体とポリシーを読み込んでそれらの一覧を表示する時間が長くなります。このため、ツールによる作業効率が低下します。この問題には、いくつかの対応方法があります。
まず、一覧を読み込む時間を完全になくすために、SEAM ツールに一覧を読み込まないようにします。この方法を設定するには、「Edit」メニューから「Properties」を選択し、「Show Lists」フィールドのチェックマークをはずします。一覧を読み込まない場合、一覧は表示されないため、一覧を使用して主体またはポリシーを選択できなくなります。代わりに、表示された新しい「Name」フィールドに主体またはポリシー名を入力し、その主体またはポリシーに適用する操作を選択する必要があります。名前を入力する操作は、一覧から項目を選択する操作と同じ効果を持ちます。
大規模な一覧を使用するときは、キャッシュを利用することもできます。SEAM ツールのデフォルトの動作として、一定量の一覧がキャッシュに格納されるように設定されています。SEAM ツールは、最初に一覧をキャッシュに読み込む必要がありますが、そのあとは一覧を再度読み込まずにキャッシュを使用できます。この方法では、サーバーから時間をかけて何回も一覧を読み込む必要がありません。
一覧がキャッシュに格納されるように設定するには、「Edit」メニューから「Properties」を選択します。キャッシュの設定には、次の 2 つの方法があります。一覧をキャッシュに永続的に格納するか、制限時間を指定します。制限時間を指定した場合は、その時間が経過すると、ツールはサーバーの一覧をキャッシュに再度読み込みます。
一覧をキャッシュに格納しても、一覧から主体とポリシーを選択することができます。このため、一覧を読み込まない最初の方法と異なり、SEAM ツールの利用には影響しません。また、キャッシュを利用した場合でも、ほかの主体とポリシーの変更を確認できなくなることがあります。ただし、使用している主体とポリシーを変更したときは最新の一覧が表示されます。主体とポリシーを変更すると、サーバーとキャッシュの一覧が更新されるためです。キャッシュを更新して、ほかの主体とポリシーの変更を確認し、最新の一覧を取得するには、任意のタイミングで「Refresh」メニューを使用します。サーバーから一覧が読み込まれ、キャッシュを更新することができます。
gkadmin コマンドを使用して SEAM ツールを起動します。
$ /usr/sbin/gkadmin |
デフォルト値を使用しない場合は、新しいデフォルト値を指定します。
ウィンドウには、デフォルト値が自動的に表示されています。デフォルトの主体名は、USER 環境変数の現在の ID に /admin が付加されて作成されます (username/admin)。デフォルトの「Realm」フィールドおよび「Master KDC」フィールドは、/etc/krb5/krb5.conf ファイルから選択されます。デフォルト値を再度取得する場合は、「Start Over」をクリックします。
各「Principal Name」が実行できる管理操作は、Kerberos ACL ファイルの /etc/krb5/kadm5.acl で規定されます。権限の制限については、「Kerberos 管理権限を制限して SEAM ツールを使用する」を参照してください。
指定した主体名のパスワードを入力します。
「了解 (OK)」をクリックします。
ウィンドウが表示され、すべての主体が示されます。
この節では、SEAM ツールを使用して主体を管理する手順について説明します。また、対応するコマンド行がある場合は、その例も示します。
作業 |
説明 |
参照先 |
---|---|---|
主体の一覧を表示します。 |
「Principals」タブをクリックして、主体の一覧を表示します。 | |
主体の属性を表示します。 |
「Principal List」の「Principal」を選択し、「Modify」ボタンをクリックして、主体の属性を表示します。 | |
新しい主体を作成します。 |
「Principal List」パネルの「Create New」ボタンをクリックして、新しい主体を作成します。 | |
主体を複製します。 |
「Principal List」から複製する主体を選択し、「Duplicate」ボタンをクリックして、主体を複製します。 | |
主体を変更します。 |
「Principal List」から変更する主体を選択し、「Modify」ボタンをクリックして、主体を変更します。 主体名は変更できません。主体名を変更するときは、主体を複製し、新しい名前を指定して保存してから、古い主体を削除する必要があります。 | |
主体を削除します。 |
「Principal List」から削除する主体を選択し、「Delete」ボタンをクリックして、主体を削除します。 | |
新しい主体を作成するときのデフォルトを設定します。 |
「Edit」メニューから「Properties」を選択して、新しい主体を作成するときのデフォルトを設定します。 | |
Kerberos 管理権限 (kadm5.acl ファイル) を変更します。 |
コマンド行のみ。Kerberos 管理権限により、主体が Kerberos データベースに対して実行できる操作 (追加、変更など) が決定されます。 各主体の Kerberos 管理権限を変更するときは、/etc/krb5/kadm5.acl ファイルを編集する必要があります。 |
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 ファイル内のパスワードのセキュリティーが向上します。
より複雑なスクリプトも作成できます。たとえば、ネームサービスの情報を使用して、主体名に対応するユーザー名の一覧を取得できます。必要な作業とその方法は、使用環境要件とスクリプト使用技術によって決まります。
対応するコマンド行の例は、この手順のあとに示します。
必要に応じて、SEAM ツールを起動します。
詳細は、「SEAM ツールを起動する方法」を参照してください。
$ /usr/sbin/gkadmin |
「Principals」タブをクリックします。
主体の一覧が表示されます。
特定の主体を表示するか、主体の部分リストを表示します。
「Filter」フィールドにフィルタ文字列を入力して、Return キーを押します。フィルタが正常終了すると、フィルタに一致する主体の一覧が表示されます。
フィルタ文字列は、1 文字以上の文字列である必要があります。フィルタメカニズムでは大文字と小文字が区別されるため、大文字と小文字を正しく指定する必要があります。たとえば、フィルタ文字列に ge と入力すると、主体名に文字列 ge を含む主体 (george、edge など) だけが表示されます。
すべての主体を表示するには、「Clear Filter」をクリックします。
次の例では、kadmin の list_principals コマンドを使用して、kadmin* と一致するすべての主体を表示します。list_principals コマンドでは、ワイルドカードを使用できます。
kadmin: list_principals kadmin* kadmin/changepw@EXAMPLE.COM kadmin/kdc1.example.con@EXAMPLE.COM kadmin/history@EXAMPLE.COM kadmin: quit |
対応するコマンド行の例は、この手順のあとに示します。
必要に応じて、SEAM ツールを起動します。
詳細は、「SEAM ツールを起動する方法」を参照してください。
$ /usr/sbin/gkadmin |
「Principals」タブをクリックします。
表示する主体を一覧から選択して、「Modify」をクリックします。
「Principal Basic」パネルが表示され、主体の属性の一部が示されます。
「Next」をクリックして、主体のすべての属性を表示します。
属性情報は、3 つのウィンドウに表示されます。「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。主体のすべての属性の説明については、「SEAM ツールパネルの説明」を参照してください。
表示を終了する場合は、「Cancel」をクリックします。
次の例は、jdb/admin 主体を表示したときの最初のウィンドウです。
次の例では、kadmin の get_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 |
対応するコマンド行の例は、この手順のあとに示します。
必要に応じて、SEAM ツールを起動します。
詳細は、「SEAM ツールを起動する方法」を参照してください。
新しい主体を作成するときに、新しいポリシーが必要な場合は、新しいポリシーを作成してから新しい主体を作成する必要があります。「新しい Kerberos ポリシーを作成する方法」を参照してください。
$ /usr/sbin/gkadmin |
「Principals」タブをクリックします。
「New」をクリックします。
「Principal Basics」パネルが表示され、主体の属性の一部が示されます。
主体名とパスワードを指定します。
主体名とパスワードは必須です。
主体の暗号化タイプを指定します。
暗号化鍵タイプフィールドの右にあるボックスをクリックして、使用可能なすべての暗号化鍵タイプを表示する新しいウィンドウを開きます。必須の暗号化タイプを選択してから、「OK」をクリックします。
主体のポリシーを指定します。
主体の属性に値を指定します。「Next」をクリックして、属性の値を必要に応じて指定します。
属性情報は、3 つのウィンドウに表示されます。「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。主体のすべての属性の説明については、「SEAM ツールパネルの説明」を参照してください。
主体を保存する場合は、「Save」をクリックします。または、最後のパネルで「Done」をクリックします。
必要に応じて、新しい主体の Kerberos 管理権限を /etc/krb5/kadm5.acl ファイルに設定します。
詳細は、「Kerberos 管理権限を変更する方法」を参照してください。
次の例は、pak という新しい主体を作成するときの「Principal Basics」パネルです。ポリシーには、testuser が設定されています。
次の例では、kadmin の add_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 |
この手順では、既存の主体の一部またはすべてを使用して、新しい主体を作成する方法について説明します。この手順に対応するコマンド行はありません。
必要に応じて、SEAM ツールを起動します。
詳細は、「SEAM ツールを起動する方法」を参照してください。
$ /usr/sbin/gkadmin |
「Principals」タブをクリックします。
複製する主体を一覧から選択して、「Duplicate」をクリックします。
「Principal Basics」パネルが表示されます。選択した主体のすべての属性が複製されます。ただし、「Principal Name」と「Password」フィールドは複製されず、空で表示されます。
主体名とパスワードを指定します。
主体名とパスワードは必須です。選択した主体をそのまま複製するときは、「Save」をクリックして、手順 7 に進みます。
主体の属性に別の値を指定します。「Next」をクリックして、属性の値を必要に応じて指定します。
属性情報は、3 つのウィンドウに表示されます。「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。主体のすべての属性の説明については、「SEAM ツールパネルの説明」を参照してください。
主体を保存する場合は、「Save」をクリックします。または、最後のパネルで「Done」をクリックします。
必要に応じて、主体の Kerberos 管理権限を /etc/krb5/kadm5.acl ファイルに設定します。
詳細は、「Kerberos 管理権限を変更する方法」を参照してください。
対応するコマンド行の例は、この手順のあとに示します。
必要に応じて、SEAM ツールを起動します。
詳細は、「SEAM ツールを起動する方法」を参照してください。
$ /usr/sbin/gkadmin |
「Principals」タブをクリックします。
変更する主体を一覧から選択して、「Modify」をクリックします。
「Principal Basic」パネルが表示され、主体の属性の一部が示されます。
主体の属性を変更します。「Next」をクリックして、必要に応じて属性を変更します。
属性情報は、3 つのウィンドウに表示されます。「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。主体のすべての属性の説明については、「SEAM ツールパネルの説明」を参照してください。
主体名は変更できません。主体名を変更するときは、主体を複製し、新しい名前を指定して保存してから、古い主体を削除する必要があります。
主体を保存する場合は、「Save」をクリックします。または、最後のパネルで「Done」をクリックします。
/etc/krb5/kadm5.acl ファイルで、主体の Kerberos 管理権限を変更します。
詳細は、「Kerberos 管理権限を変更する方法」を参照してください。
次の例では、kadmin の change_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 |
主体のその他の属性を変更するには、kadmin の modify_principal コマンドを使用する必要があります。
対応するコマンド行の例は、この手順のあとに示します。
必要に応じて、SEAM ツールを起動します。
詳細は、「SEAM ツールを起動する方法」を参照してください。
$ /usr/sbin/gkadmin |
「Principals」タブをクリックします。
削除する主体を一覧から選択して、「Delete」をクリックします。
削除を確定すると、主体が削除されます。
Kerberos アクセス制御リスト (ACL) ファイル /etc/krb5/kadm5.acl から主体を削除します。
詳細は、「Kerberos 管理権限を変更する方法」を参照してください。
次の例では、kadmin の delete_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 |
この手順に対応するコマンド行はありません。
必要に応じて、SEAM ツールを起動します。
詳細は、「SEAM ツールを起動する方法」を参照してください。
$ /usr/sbin/gkadmin |
「Edit」メニューから「Properties」を選択します。
「Properties」ウィンドウが表示されます。
新しい主体を作成するときに使用するデフォルトを選択します。
「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。
「Save」をクリックします。
使用する環境には、多くのユーザー主体が登録されていると思われます。しかし、Kerberos データベースの管理者は通常、少数のユーザーだけに割り当てます。Kerberos データベースを管理する権限は、Kerberos アクセス制御リスト (ACL) ファイル (kadm5.acl) によって判断されます。kadm5.acl ファイルを使用すると、主体ごとに権限を設定できます。主体名にワイルドカード (*) を使用すると、複数の主体に権限を指定できます。
マスター KDC 上でスーパーユーザーになります。
/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 の場合にだけ、privileges が principal に適用されます。主体名の任意の場所にワイルドカード (*) を使用できます。主体をグループ化するときに使用します。 |
kadm5.acl ファイル内の次のエントリは、EXAMPLE.COM レルム内で admin インスタンスを持つ すべての主体に対して、Kerberos データベース上のすべての権限を与えます。
*/admin@EXAMPLE.COM * |
kadm5.acl ファイル内の次のエントリは、jdb@EXAMPLE.COM 主体に対して、root インスタンスを持つすべての主体に関する追加、一覧表示、および照会の権限を与えます。
jdb@EXAMPLE.COM ali */root@EXAMPLE.COM |
この節では、SEAM ツールを使用してポリシーを管理する手順について説明します。また、対応するコマンド行がある場合は、その例も示します。
作業 |
説明 |
参照先 |
---|---|---|
ポリシーの一覧を表示します。 |
「Policies」タブをクリックして、ポリシーの一覧を表示します。 | |
ポリシーの属性を表示します。 |
「Policy List」からポリシーを選択し、「Modify」ボタンをクリックして、ポリシーの属性を表示します。 | |
新しいポリシーを作成します。 |
「Policy List」パネルの「Create New」ボタンをクリックして、新しいポリシーを作成します。 | |
ポリシーを複製します。 |
複製するポリシーを「Policy List」ポリシーから選択し、「Duplicate」ボタンをクリックして、ポリシーを複製します。 | |
ポリシーを変更します。 |
変更するポリシーを「Policy List」ポリシーから選択し、「Modify」ボタンをクリックして、ポリシーを変更します。 ポリシー名は変更できません。ポリシー名を変更するときは、ポリシーを複製し、新しい名前を指定して保存してから、古いポリシーを削除する必要があります。 | |
ポリシーを削除します。 |
削除するポリシーを「Policy List」ポリシーから選択し、「Delete」ボタンをクリックして、ポリシーを削除します。 |
対応するコマンド行の例は、この手順のあとに示します。
必要に応じて、SEAM ツールを起動します。
詳細は、「SEAM ツールを起動する方法」を参照してください。
$ /usr/sbin/gkadmin |
「Policies」タブをクリックします。
ポリシーの一覧が表示されます。
特定のポリシーを表示するか、ポリシーの部分リストを表示します。
「Filter」フィールドにフィルタ文字列を入力して、Return キーを押します。フィルタが正常終了すると、フィルタに一致するポリシーの一覧が表示されます。
フィルタ文字列は、1 文字以上の文字列である必要があります。フィルタメカニズムでは大文字と小文字が区別されるため、大文字と小文字を正しく指定する必要があります。たとえば、フィルタ文字列に ge と入力すると、ポリシー名に文字列 ge を含むポリシー (george、edge など) だけが表示されます。
すべてのポリシーを表示するには、「Clear Filter」をクリックします。
次の例では、kadmin の list_policies コマンドを使用して、*user* と一致するすべてのポリシーを表示します。list_policies コマンドでは、ワイルドカードを使用できます。
kadmin: list_policies *user* testuser enguser kadmin: quit |
対応するコマンド行の例は、この手順のあとに示します。
必要に応じて、SEAM ツールを起動します。
詳細は、「SEAM ツールを起動する方法」を参照してください。
$ /usr/sbin/gkadmin |
「Policies」タブをクリックします。
表示するポリシーを一覧から選択して、「Modify」をクリックします。
「Policy Details」パネルが表示されます。
表示を終了する場合は、「Cancel」をクリックします。
次の例は、test ポリシーを表示したときの「Policy Details」パネルです。
次の例では、kadmin の get_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」は、このポリシーを使用する主体の数です。
対応するコマンド行の例は、この手順のあとに示します。
必要に応じて、SEAM ツールを起動します。
詳細は、「SEAM ツールを起動する方法」を参照してください。
$ /usr/sbin/gkadmin |
「Policies」タブをクリックします。
「New」をクリックします。
「Policy Details」パネルが表示されます。
「Policy Name」フィールドにポリシー名を指定します。
ポリシー名は必須です。
ポリシーの属性の値を指定します。
「Help」メニューから「Context-Sensitive Help」を選択すると、このウィンドウの属性に関する情報が表示されます。ポリシーのすべての属性の説明については、表 25–5 を参照してください。
「Save」をクリックしてポリシーを保存するか、「Done」をクリックします。
次の例では、build11 という新しいポリシーを作成します。「Minimum Password Classes」は、3 に設定されています。
次の例では、kadmin の add_policy コマンドを使用して、build11 ポリシーを作成します。このポリシーのパスワードには、3 種類以上の文字クラスが必要です。
$ kadmin kadmin: add_policy -minclasses 3 build11 kadmin: quit |
この手順では、既存のポリシーの一部またはすべてを使用して、新しいポリシーを作成する方法について説明します。この手順に対応するコマンド行はありません。
必要に応じて、SEAM ツールを起動します。
詳細は、「SEAM ツールを起動する方法」を参照してください。
$ /usr/sbin/gkadmin |
「Policies」タブをクリックします。
複製するポリシーを一覧から選択して、「Duplicate」をクリックします。
「Policy Details」パネルが表示されます。選択したフィールドのすべての属性が複製されます。ただし、「Policy Name」フィールドは空で表示されます。
複製するポリシー名を「Policy Name」フィールドに指定します。
ポリシー名は必須です。選択したポリシーをそのまま複製するには、手順 6 に進みます。
ポリシーの属性に別の値を指定します。
「Help」メニューから「Context-Sensitive Help」を選択すると、このウィンドウの属性に関する情報が表示されます。ポリシーのすべての属性の説明については、表 25–5 を参照してください。
「Save」をクリックしてポリシーを保存するか、「Done」をクリックします。
対応するコマンド行の例は、この手順のあとに示します。
必要に応じて、SEAM ツールを起動します。
詳細は、「SEAM ツールを起動する方法」を参照してください。
$ /usr/sbin/gkadmin |
「Policies」タブをクリックします。
変更するポリシーを一覧から選択して「Modify」をクリックします。
「Policy Details」パネルが表示されます。
ポリシーの属性を変更します。
「Help」メニューから「Context-Sensitive Help」を選択すると、このウィンドウの属性に関する情報が表示されます。ポリシーのすべての属性の説明については、表 25–5 を参照してください。
ポリシー名は変更できません。ポリシー名を変更するときは、ポリシーを複製し、新しい名前を指定して保存してから、古いポリシーを削除する必要があります。
「Save」をクリックしてポリシーを保存するか、「Done」をクリックします。
次の例では、kadmin の modify_policy コマンドを使用して、build11 ポリシーの最小パスワード長を 5 文字に変更します。
$ kadmin kadmin: modify_policy -minlength 5 build11 kadmin: quit |
対応するコマンド行の例は、この手順のあとに示します。
ポリシーを削除する前に、現在使用しているすべての主体からそのポリシーを取り消す必要があります。ポリシーを取り消すには、その主体の「Policy」属性を変更する必要があります。任意の主体が使用しているポリシーは、削除できません。
必要に応じて、SEAM ツールを起動します。
詳細は、「SEAM ツールを起動する方法」を参照してください。
$ /usr/sbin/gkadmin |
「Policies」タブをクリックします。
削除するポリシーを一覧から選択して、「Delete」をクリックします。
削除を確定すると、ポリシーが削除されます。
次の例では、kadmin の delete_policy コマンドを使用して、build11 ポリシーを削除します。
kadmin: delete_policy build11 Are you sure you want to delete the policy "build11"? (yes/no): yes kadmin: quit |
ポリシーを削除する前に、現在使用しているすべての主体からそのポリシーを取り消す必要があります。ポリシーを取り消すには、関係する主体に対して kadmin の modify_principal -policy コマンドを使用する必要があります。そのポリシーが主体に使用されている場合は、delete_policy コマンドは失敗します。
この節では、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 |
このポリシーが現在適用されている主体の数。(読み取り専用) |
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 サービス主体を含むキータブが必要です。
キータブファイルにサービス鍵を追加するには、kadmin の ktadd コマンドを使用して、適切なサービス主体をホストのキータブファイルに追加します。サービス主体をキータブファイルに追加するときは、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 を使用すると、キータブファイル内のキー一覧を表示したり、サービスの認証を一時的に無効にしたりできます。
kadmin の ktadd コマンドを使用してキータブファイル内の主体を変更すると、新しい鍵が生成され、キータブファイルに追加されます。
作業 |
説明 |
参照先 |
---|---|---|
サービス主体をキータブファイルに追加します。 |
kadmin の ktadd コマンドを使用して、サービス主体をキータブファイルに追加します。 | |
キータブファイルからサービス主体を削除します。 |
kadmin の ktremove コマンドを使用して、キータブファイルからサービスを削除します。 | |
キータブファイル内のキー一覧 (主体の一覧) を表示します。 |
ktutil コマンドを使用して、キータブファイル内のキー一覧を表示します。 | |
ホスト上でのサービスの認証を一時的に無効にします。 |
この手順を行うと、kadmin 権限がなくても、ホスト上でのサービスの認証を一時的に無効にできます。 ktutil を使用してサーバーのキータブファイルからサービス主体を削除する前に、元のキータブファイルを一時的な位置にコピーする必要があります。サービスを再度有効にする場合は、元のキータブファイルを適切な場所に戻す必要があります。 |
主体がすでに Kerberos データベースに登録されていることを確認します。
詳細は、「Kerberos 主体の一覧を表示する方法」を参照してください。
キータブファイルに主体を追加するホスト上でスーパーユーザーになります。
kadmin コマンドを起動します。
# /usr/sbin/kadmin |
ktadd コマンドを使用して、キータブファイルに主体を追加します。
kadmin: ktadd [-e enctype] [-k keytab] [-q] [principal | -glob principal-exp] |
krb5.conf ファイルに定義された暗号化タイプの一覧を上書きします。
キータブファイルを指定します。デフォルトでは、/etc/krb5/krb5.keytab が使用されます。
冗長な情報を表示しません。
キータブファイルに追加する主体を指定します。追加できるサービス主体は、次のとおりです。 host、root、nfs、および ftp。
主体表現を指定します。principal-exp に一致するすべての主体が、キータブファイルに追加されます。主体表現の規則は、kadmin の list_principals コマンドと同じです。
kadmin コマンドを終了します。
kadmin: quit |
次の例では、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 |
次の例では、denver の host 主体を 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 |
キータブファイルから削除するサービス主体が登録されているホスト上でスーパーユーザーになります。
kadmin コマンドを起動します。
# /usr/sbin/kadmin |
(省略可能) キータブファイル内の現在の主体 (鍵) の一覧を表示するには、ktutil コマンドを使用します。
詳細な手順は、「キータブファイル内のキー一覧 (主体) を表示する方法」を参照してください。
ktremove コマンドを使用して、キータブファイルから主体を削除します。
kadmin: ktremove [-k keytab] [-q] principal [kvno | all | old ] |
キータブファイルを指定します。デフォルトでは、/etc/krb5/krb5.keytab が使用されます。
冗長な情報を表示しません。
キータブファイルから削除する主体を指定します。
指定された主体のうち、鍵のバージョン番号が kvno と一致する主体のすべてのエントリを削除します。
指定された主体のすべてのエントリを削除します。
指定した主体のすべてのエントリを削除します。ただし、鍵のバージョン番号が最上位の主体は削除しません。
kadmin コマンドを終了します。
kadmin: quit |
次の例では、denver の host 主体を 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 |
キータブファイルが存在するホスト上でスーパーユーザーになります。
ほかのユーザーが所有するキータブファイルを作成することもできますが、キータブファイルのデフォルトの位置を使用するには root 所有権が必要です。
ktutil コマンドを起動します。
# /usr/bin/ktutil |
read_kt コマンドを使用して、キータブファイルをキー一覧バッファーに読み込みます。
ktutil: read_kt keytab |
list コマンドを使用して、キー一覧バッファーを表示します。
ktutil: list |
現在のキー一覧バッファーが表示されます。
ktutil コマンドを終了します。
ktutil: quit |
次の例では、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 |
ネットワークアプリケーションサーバー上の rlogin や ftp など、サービスの認証メカニズムを一時的に無効にしなければならない場合があります。たとえば、保守作業中は、ユーザーがシステムにログインできないようにする必要があります。ktutil コマンドを使用してサーバーのキータブファイルからサービス主体を削除することにより、サービスの認証を一時的に無効にすることができます。このとき、kadmin 権限は必要ありません。認証を再度有効にするには、保存した元のキータブファイルを元の位置にコピーするだけです。
デフォルトでは、ほとんどのサービスが認証を要求するように設定されています。そのように設定されていないときは、サービスの認証を無効にした場合でもサービスは動作します。
キータブファイルが存在するホスト上でスーパーユーザーになります。
ほかのユーザーが所有するキータブファイルを作成することもできますが、キータブファイルのデフォルトの位置を使用するには root 所有権が必要です。
現在のキータブファイルを一時ファイルに保存します。
ktutil コマンドを起動します。
# /usr/bin/ktutil |
read_kt コマンドを使用して、キータブファイルをキー一覧バッファーに読み込みます。
ktutil: read_kt keytab |
list コマンドを使用して、キー一覧バッファーを表示します。
ktutil: list |
現在のキー一覧バッファーが表示されます。無効にするサービスのスロット番号を記録します。
ホストのサービスを一時的に無効にするには、delete_entry コマンドを使用して、キー一覧バッファーから特定のサービス主体を削除します。
ktutil: delete_entry slot-number |
この例では、slot-number に、削除するサービス主体のスロット番号を指定します。スロット番号は、list コマンドで表示できます。
write_kt コマンドを使用して、新しいキー一覧バッファーをキータブファイルに書き込みます。
ktutil: write_kt new-keytab |
ktutil コマンドを終了します。
ktutil: quit |
新しいキータブファイルの名前を変更します。
# mv new-keytab keytab |
サービスを再度有効にする場合は、一時的な (元の) キータブファイルを元の場所にコピーします。
次の例では、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 |