系统管理指南:安全性服务

Procedure如何修改 Kerberos 管理权限

尽管您的站点可能有许多用户主体,但您通常只希望一小部分用户能够管理 Kerberos 数据库。管理 Kerberos 数据库的权限由 Kerberos 访问控制列表 (access control list, 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

    指定主体能够执行和不能执行的操作。 此字段由一个或多个下列字符或其对应大写形式的字符组成。 如果字符为大写形式(或未指定),则不允许执行该操作。 如果字符为小写形式,则允许执行该操作。 

     

    a

    [不]允许添加主体或策略。 

     

    d

    [不]允许删除主体或策略。 

     

    m

    [不]允许修改主体或策略。 

     

    c

    [不]允许更改主体的口令。 

     

    i

    [不]允许查询 Kerberos 数据库。 

     

    l

    [不]允许列出 Kerberos 数据库中的主体或策略。 

     

    x*

    允许所有权限 (admcil)。

    principal-target

    在此字段中指定主体时,privileges 仅在 principalprincipal-target 进行操作时,才应用于 principal。主体名称的任何部分都可以包含 "*" 通配符,这在对主体分组时很有用。


示例 24–8 修改 Kerberos 管理权限

kadm5.acl 文件中的以下项授予 EXAMPLE.COM 领域中包含 admin 实例的任何主体对 Kerberos 数据库的所有权限:


*/admin@EXAMPLE.COM *

kadm5.acl 文件中的以下项授予 jdb@EXAMPLE.COM 主体添加、列出和查询包含 root 实例的任何主体的权限。


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