ユーザープリンシパルが多いサイトでも、通常、Kerberos データベースを管理できるユーザーは少数に制限します。Kerberos データベースを管理する特権は、Kerberos Access Control List (ACL) ファイル kadm5.acl(4) で指定します。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 |
プリンシパルが実行できる (あるいは、実行できない) 操作を指定する。privileges は次のリストにある 1 つまたは複数の文字からなる文字列である。文字が大文字の場合 (あるいは、文字を指定しなかった場合)、操作は許可されない。文字が小文字の場合、操作は許可される |
|
|
a |
プリンシパルまたはポリシーの追加を許可 (禁止) する |
|
d |
プリンシパルまたはポリシーの削除を許可 (禁止) する |
|
m |
プリンシパルまたはポリシーの変更を許可 (禁止) する |
|
c |
プリンシパルのパスワードの変更を許可 (禁止) する |
|
i |
データベースへの照会を許可 (禁止) する |
|
l |
データベース内のプリンシパルまたはポリシーのリスト表示を許可 (禁止) する |
|
x または * |
すべての特権を許可する (admcil) |
principal_target |
このフィールドにプリンシパルを指定したとき、principal が principal_target に操作を行うときだけ、privileges は principal に適用される。プリンシパル名の任意の部分にはワイルドカード「*」を指定できる。これは、プリンシパルをグループにするときに便利である |
次のエントリを kadm5.acl ファイルに指定すると、ACME.COM レルム内にある admin インスタンスを持つすべてのプリンシパルに、データベース上のすべての特権を許可します。
*/admin@ACME.COM * |
次のエントリを kadm5.acl ファイルに指定すると、jdb@ACME.COM プリンシパルに、root インスタンスを持つ任意のプリンシパルを追加、リスト表示、および照会するための特権を許可します。
jdb@ACME.COM ali */root@ACME.COM |