尽管您的站点可能拥有许多用户授权对象,但您通常只想要几个用户能够管理 Kerberos 数据库。管理 Kerberos 数据库的特权是通过 Kerberos 访问控制列表 (ACL) 文件, kadm5.acl(4),来加以确定的。 kadm5.acl 文件使您可以为单个的授权对象允许或撤销允许特权,您也可以在授权对象名称中使用 '*' 通配符来为成组的授权对象指定特权。
在主 KDC 上变为超级用户。
编辑 /etc/krb5/kadm5.acl 文件。
kadm5.acl 文件中的一个条目必须拥有下列格式:
授权对象 特权 [principal_target] |
|
授权对象 |
被授予特权的授权对象。授权对象名称的任意部分均可以包括 '*' 通配符,向一组授权对象提供相同的特权时,这就很有用。例如,如果您想将所有授权对象指定为 admin 实例,您会使用 */admin@realm。请注意,admin 实例的一个常见的用法就是,将独立的特权 (诸如对 Kerberos 数据库的管理访问) 授予一个独立的 Kerberos 授权对象。例如,用户 jdb 可能为其管理之用拥有一个授权对象,称为 jdb/admin。这样,只当其实际需要使用上述特权时, jdb 才会获得 jdb/admin 票券。 |
|
|
特权 |
指定授权对象可以或不可以进行何种操作。这是来自下面字符列表的一个或多个字符的字符串或其大写形式。如果字符为大写(或者没有指定),则操作遭到拒绝。如果字符为小写,则操作得到许可。 |
|
|
|
a |
[不]允许添加授权对象或策略。 |
|
|
d |
[不]允许删除授权对象或策略。 |
|
|
m |
[不]允许修改授权对象或策略。 |
|
|
c |
[不]允许为授权对象更改口令。 |
|
|
i |
[不]允许对数据库进行查询。 |
|
|
l |
[不]允许列示数据库中的授权对象或策略。 |
|
|
x 或 * |
允许所有特权 (admcil)。 |
|
principal_target |
当该字段中指定有一个授权对象时, 特权只有在对 principal_target 进行操作时,其才适用于 授权对象。授权对象名称的任意部分均可以包括 '*' 通配符,这对授权对象进行归组时很有用。 |
|
kadm5.acl 文件中下面的条目,向 ACME.COM 区域中的带有 admin 实例的任意授权对象给予对数据库的所有特权。
*/admin@ACME.COM * |
kadm5.acl 文件中下面的条目,向 jdb@ACME.COM 授权对象给予添加,列示,和查询带有 root 实例的任意授权对象的特权。
jdb@ACME.COM ali */root@ACME.COM |