このセクションでは、kadmin コマンドを使用して主体を管理する例を示します。詳細は、kadmin(1M) のマニュアルページを参照してください。
次の例は、主体とその属性を一覧表示する方法を示しています。ワイルドカードを使用してリストを構築できます。使用できるワイルドカードについては、kadmin(1M) のマニュアルページにある expression の定義を確認してください。
使用例 22 Kerberos 主体の表示この例では、list_principals サブコマンドを使用して、kadmin* に一致するすべての主体を一覧表示します。引数を指定しない場合、list_principals は、Kerberos データベースで定義されているすべての主体を一覧表示します。
# /usr/sbin/kadmin kadmin: list_principals kadmin* kadmin/changepw@EXAMPLE.COM kadmin/kdc1.example.com@EXAMPLE.COM kadmin/history@EXAMPLE.COM使用例 23 Kerberos 主体の属性の表示
次の例では、jdb/admin 主体の属性を表示します。
kadmin: get_principal jdb/admin Principal: jdb/admin@EXAMPLE.COM Expiration date: [never] Last password change: [never] Password expiration date: Fri Sep 13 11:50:10 PDT 2013 Maximum ticket life: 1 day 16:00:00 Maximum renewable life: 1 day 16:00:00 Last modified: Thu Aug 15 13:30:30 PST 2013 (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 Attributes: REQUIRES_HW_AUTH Policy: [none] kadmin: quit
新しい主体に新しいポリシーが必要な場合は、主体を作成する前に新しいポリシーを作成する必要があります。ポリシーの作成については、使用例 30を参照してください。ほとんどの Kerberos ポリシーでパスワード要件が指定されます。
使用例 24 新しい Kerberos 主体の作成次の例では、pak という名前の新しい主体を作成し、その主体のポリシーを testuser に設定します。その他の必要な値 (暗号化タイプなど) には、デフォルト値を使用します。
# /usr/sbin/kadmin kadmin: add_principal -policy testuser pak Enter password for principal "pak@EXAMPLE.COM": xxxxxxxx Re-enter password for principal "pak@EXAMPLE.COM": xxxxxxxx Principal "pak@EXAMPLE.COM" created. kadmin: quit
通常、Kerberos データベースを管理する権限は少数のユーザーにしか与えられません。 この新しい主体に管理権限が必要な場合は、主体の Kerberos 管理権限の変更に進んでください。
次の例は、Kerberos 主体のパスワード属性を変更する方法を示しています。
使用例 25 Kerberos 主体のパスワード再試行の最大数の変更# /usr/sbin/kadmin kadmin: modify_principal jdb kadmin: maxtries=5 kadmin: quit使用例 26 Kerberos 主体のパスワードの変更
# /usr/sbin/kadmin kadmin: change_password jdb Enter password for principal "jdb": xxxxxxxx Re-enter password for principal "jdb": xxxxxxxx Password for "jdb@EXAMPLE.COM" changed. kadmin: quit
次の例は、主体を削除する方法を示しています。続行する前に、オンラインメッセージに従ってください。
# /usr/sbin/kadmin 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
すべての ACL からこの主体を削除するには、主体の Kerberos 管理権限の変更を参照してください。
Kerberos データベースを管理する権限が与えられている少数のユーザーは、Kerberos アクセス制御リスト (ACL) で指定されます。このリストは、ファイル /etc/krb5/kadm5.acl 内のエントリとして保存されます。詳細は、kadm5.acl(4) のマニュアルページを参照してください。
kadm5.acl ファイルにエントリを追加するには、pfedit コマンドを使用します。
# pfedit /usr/krb5/kadm5.acl
kadm5.acl ファイル内のエントリの形式は次のとおりです。
principal privileges [principal-target]
principal – 権限を与える主体を指定します。主体名の任意の部分に「*」のワイルドカードを含めることができます。このワイルドカードは、主体のグループに同じ権限を指定するときに役立ちます。たとえば、admin インスタンスを持つすべての主体を指定する場合は、*/admin@realm を使用します。
admin インスタンスの一般的な使用法は、個別の Kerberos 主体に個別の権限 (Kerberos データベースへの管理アクセスなど) を与えるためであることに注意してください。たとえば、ユーザー jdb が jdb/admin という名前の、管理使用のための主体を持っている場合があります。2 つの主体を持つことにより、ユーザー jdb は、管理権限が必要な場合にのみ jdb/admin チケットを取得します。
privileges – 主体が実行できる操作を指定します。このフィールドは、次のリストにある 1 つ以上の文字の文字列で構成されます。文字が大文字であるか、または指定されていない場合、その操作は許可されません。文字が小文字である場合、その操作は許可されます。
[A]a – 主体またはポリシーの追加を許可します[しません]。
[C]c – 主体のパスワードの変更を許可します[しません]。
[D]d – 主体またはポリシーの削除を許可します[しません]。
[I]i – Kerberos データベースへの照会を許可します[しません]。
[L]l – 主体またはポリシーの一覧表示を許可します[しません]。
[M]m – 主体またはポリシーの変更を許可します[しません]。
x または * – すべての権限 (admcil) を許可します。
principal-target – このフィールドで主体が指定されている場合は、主体の権限がこの主体にのみ適用されます。主体のグループに権限を割り当てるには、principal-target で「*」のワイルドカードを使用します。
kadm5.acl ファイル内の次のエントリは、admin インスタンスを持つ EXAMPLE.COM レルム内の任意の主体に Kerberos データベースに関するすべての特権を与えます。
*/admin@EXAMPLE.COM *
kadm5.acl ファイル内の次のエントリは、jdb@EXAMPLE.COM 主体に、root インスタンスを持つすべての主体の一覧表示とそれらの主体に関する照会を行う権限を与えます。
jdb@EXAMPLE.COM li */root@EXAMPLE.COM