JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 管理:安全服务     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分安全性概述

1.  安全性服务(概述)

第 2 部分系统、文件和设备安全性

2.  管理计算机安全性(概述)

3.  控制对系统的访问(任务)

4.  病毒扫描服务(任务)

5.  控制对设备的访问(任务)

6.  使用基本审计报告工具(任务)

7.  控制对文件的访问(任务)

第 3 部分角色、权限配置文件和特权

8.  使用角色和特权(概述)

9.  使用基于角色的访问控制(任务)

10.  Oracle Solaris 中的安全属性(参考)

第 4 部分加密服务

11.  加密框架(概述)

12.  加密框架(任务)

13.  密钥管理框架

第 5 部分验证服务和安全通信

14.  网络服务验证(任务)

15.  使用 PAM

16.  使用 SASL

17.  使用 安全 Shell(任务)

18.  安全 Shell(参考)

第 6 部分Kerberos 服务

19.  Kerberos 服务介绍

20.  规划 Kerberos 服务

21.  配置 Kerberos 服务(任务)

22.  Kerberos 错误消息和故障排除

23.  管理 Kerberos 主体和策略(任务)

管理 Kerberos 主体和策略的方法

SEAM Tool

SEAM Tool 的等效命令行

SEAM Tool 修改的唯一文件

SEAM Tool 的打印和联机帮助功能

在 SEAM Tool 中处理大型列表

如何启动 SEAM Tool

管理 Kerberos 主体

管理 Kerberos 主体(任务列表)

自动创建新的 Kerberos 主体

如何查看 Kerberos 主体列表

如何查看 Kerberos 主体属性

如何创建新的 Kerberos 主体

如何复制 Kerberos 主体

如何修改 Kerberos 主体

如何删除 Kerberos 主体

如何设置缺省值以创建新的 Kerberos 主体

如何修改 Kerberos 管理特权

管理 Kerberos 策略

管理 Kerberos 策略(任务列表)

如何查看 Kerberos 策略列表

如何查看 Kerberos 策略属性

如何创建新的 Kerberos 策略

如何复制 Kerberos 策略

如何修改 Kerberos 策略

如何删除 Kerberos 策略

SEAM Tool 参考

SEAM Tool 面板说明

以受限 Kerberos 管理特权使用 SEAM Tool

管理密钥表文件

管理密钥表文件(任务列表)

如何将 Kerberos 服务主体添加至密钥表文件

如何从密钥表文件中删除服务主体

如何显示密钥表文件中的密钥列表(主体)

如何在主机上临时禁用对服务的验证

24.  使用 Kerberos 应用程序(任务)

25.  Kerberos 服务(参考)

第 7 部分在 Oracle Solaris 中审计

26.  审计(概述)

27.  规划审计

28.  管理审计(任务)

29.  审计(参考)

词汇表

索引

管理 Kerberos 主体

本节提供使用 SEAM Tool 管理主体的逐步说明,还提供等效命令行示例(如果有)。

管理 Kerberos 主体(任务列表)

任务
说明
参考
查看主体列表。
通过单击 "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 文件。

自动创建新的 Kerberos 主体

尽管 SEAM Tool 使用方便,但它不提供自动创建新主体的方法。如果需要在短时间内添加 10 个甚至 100 个新主体,则自动创建尤其有用。而在 Bourne shell 脚本中使用 kadmin.local 命令正好可满足这一需要。

以下 shell 脚本行示例说明了如何自动创建新主体:

awk '{ print "ank +needchange -pw", $2, $1 }' < /tmp/princnames | 
        time /usr/sbin/kadmin.local> /dev/null

为了方便阅读,已将此示例拆分为两行。该脚本将读入一个名为 princnames 的文件(其中包含主体名称及其口令),然后将这些主体名称和口令添加至 Kerberos 数据库。您必须创建 princnames 文件,并在每一行上包含一个主体名称及其口令,中间用一个或多个空格分隔。+needchange 选项用于配置主体,以便在用户第一次使用该主体登录时提示其输入新口令。此做法有助于确保 princnames 文件中的口令不会引入安全风险。

可以生成更详细的脚本。例如,脚本可使用名称服务中的信息来获取主体名称的用户名列表。所执行的操作和执行操作的方式取决于站点的需要以及脚本编制技术。

如何查看 Kerberos 主体列表

此过程后附等效命令行示例。

  1. 如有必要,启动 SEAM Tool。

    有关更多信息,请参见如何启动 SEAM Tool

    $ /usr/sbin/gkadmin
  2. 单击 "Principals"(主体)选项卡。

    此时会显示主体列表。


    image:标题为 "Seam Tool" 的对话框显示了主体列表和列表过滤器。显示 "Modify"(修改)、"Create New"(新建)、"Delete"(删除)和 "Duplicate"(复制)按钮。
  3. 显示特定主体或主体子列表。

    在 "Filter"(过滤器)字段中键入过滤字符串,然后按回车键。如果过滤操作成功,则会显示与过滤器匹配的主体列表。

    过滤字符串必须由一个或多个字符组成。由于过滤机制区分大小写,因此需要对过滤器使用正确的大小写字母。例如,如果键入了过滤字符串 ge,则过滤机制仅显示包含 ge 字符串的主体(如 georgeedge)。

    如果要显示主体的完整列表,请单击 "Clear Filter"(清除过滤器)。

示例 23-1 查看 Kerberos 主体列表(命令行)

在以下示例中,kadminlist_principals 命令用于列出与 kadmin* 匹配的所有主体。通配符可与 list_principals 命令一起使用。

kadmin: list_principals kadmin*
kadmin/changepw@EXAMPLE.COM
kadmin/kdc1.example.con@EXAMPLE.COM
kadmin/history@EXAMPLE.COM
kadmin: quit

如何查看 Kerberos 主体属性

此过程后附等效命令行示例。

  1. 如有必要,启动 SEAM Tool。

    有关更多信息,请参见如何启动 SEAM Tool

    $ /usr/sbin/gkadmin
  2. 单击 "Principals"(主体)选项卡。
  3. 在列表中选择要查看的主体,然后单击 "Modify"(修改)。

    此时会显示包含该主体某些属性的 "Principal Basics"(主体基本信息)面板。

  4. 继续单击 "Next"(下一页)以查看该主体的所有属性。

    有三个窗口包含属性信息。请从 "Help"(帮助)菜单中选择 "Context-Sensitive Help"(上下文相关帮助),获取有关每个窗口中各种属性的信息。或者,转至SEAM Tool 面板说明,了解所有主体属性说明。

  5. 查看完毕后,单击 "Cancel"(取消)。

示例 23-2 查看 Kerberos 主体属性

以下示例显示了查看 jdb/admin 主体时的第一个窗口。

image:标题为 "SEAM Tool" 的对话框显示了 jdb/admin 主体的帐户数据。显示帐户失效日期和注释。

示例 23-3 查看 Kerberos 主体属性(命令行)

在以下示例中,使用 kadminget_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

如何创建新的 Kerberos 主体

此过程后附等效命令行示例。

  1. 如有必要,启动 SEAM Tool。

    有关更多信息,请参见如何启动 SEAM Tool


    注 - 如果要创建一个可能需要新策略的新主体,则应在创建新主体之前创建新策略。请转至如何创建新的 Kerberos 策略


    $ /usr/sbin/gkadmin
  2. 单击 "Principals"(主体)选项卡。
  3. 单击 "New"(新建)。

    此时会显示包含某些主体属性的 "Principal Basics"(主体基本信息)面板。

  4. 指定主体名称和口令。

    必须提供主体名称和口令。

  5. 指定该主体的加密类型。

    单击加密密钥类型字段右侧的框,以打开一个新窗口,其中将显示所有可用加密密钥类型。选择所需的加密类型后,单击 "OK"(确定)。


    image:标题为 "SEAM Encryption Type List Helper"(SEAM 加密类型列表帮助器)的对话框列出了所有已安装的加密类型。
  6. 指定该主体的策略。
  7. 指定主体属性的值,并继续单击 "Next"(下一页)以指定更多属性。

    有三个窗口包含属性信息。请从 "Help"(帮助)菜单中选择 "Context-Sensitive Help"(上下文相关帮助),获取有关每个窗口中各种属性的信息。或者,转至SEAM Tool 面板说明,了解所有主体属性说明。

  8. 单击 "Save"(保存)以保存主体,或在最后一个面板上单击 "Done"(完成)。
  9. 如有必要,在 /etc/krb5/kadm5.acl 文件中为新主体设置 Kerberos 管理特权。

    有关更多详细信息,请参见如何修改 Kerberos 管理特权

示例 23-4 创建新的 Kerberos 主体

以下示例显示了创建名为 pak 的新主体时的 "Principal Basics"(主体基本信息)面板。策略设置为 testuser

image:标题为 "SEAM Tool" 的对话框显示了 pak 主体的帐户数据。显示口令、帐户失效日期和 testuser 策略。

示例 23-5 创建新的 Kerberos 主体(命令行)

在以下示例中,使用 kadminadd_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

如何复制 Kerberos 主体

此过程说明如何使用某个现有主体的全部或部分属性来创建新主体。此过程没有等效命令行。

  1. 如有必要,启动 SEAM Tool。

    有关更多信息,请参见如何启动 SEAM Tool

    $ /usr/sbin/gkadmin
  2. 单击 "Principals"(主体)选项卡。
  3. 在列表中选择要复制的主体,然后单击 "Duplicate"(复制)。

    此时会显示 "Principal Basics"(主体基本信息)面板。除空的 "Principal Name"(主体名称)和 "Password"(口令)字段之外,选定主体的其他属性都将被复制。

  4. 指定主体名称和口令。

    必须提供主体名称和口令。要完全复制选定主体,请单击 "Save"(保存)并跳至步骤 7

  5. 指定主体属性的其他值,然后继续单击 "Next"(下一页)以指定更多属性。

    有三个窗口包含属性信息。请从 "Help"(帮助)菜单中选择 "Context-Sensitive Help"(上下文相关帮助),获取有关每个窗口中各种属性的信息。或者,转至SEAM Tool 面板说明,了解所有主体属性说明。

  6. 单击 "Save"(保存)以保存主体,或在最后一个面板上单击 "Done"(完成)。
  7. 如有必要,在 /etc/krb5/kadm5.acl 文件中为主体设置 Kerberos 管理特权。

    有关更多详细信息,请参见如何修改 Kerberos 管理特权

如何修改 Kerberos 主体

此过程后附等效命令行示例。

  1. 如有必要,启动 SEAM Tool。

    有关更多信息,请参见如何启动 SEAM Tool

    $ /usr/sbin/gkadmin
  2. 单击 "Principals"(主体)选项卡。
  3. 在列表中选择要修改的主体,然后单击 "Modify"(修改)。

    此时会显示包含该主体某些属性的 "Principal Basics"(主体基本信息)面板。

  4. 修改该主体的属性,并继续单击 "Next"(下一页)以修改其他属性。

    有三个窗口包含属性信息。请从 "Help"(帮助)菜单中选择 "Context-Sensitive Help"(上下文相关帮助),获取有关每个窗口中各种属性的信息。或者,转至SEAM Tool 面板说明,了解所有主体属性说明。


    注 - 不能修改主体的名称。要重命名主体,必须首先复制该主体,为其指定一个新名称并保存,然后删除旧主体。


  5. 单击 "Save"(保存)以保存主体,或在最后一个面板上单击 "Done"(完成)。
  6. /etc/krb5/kadm5.acl 文件中,修改该主体的 Kerberos 管理特权。

    有关更多详细信息,请参见如何修改 Kerberos 管理特权

示例 23-6 修改 Kerberos 主体的口令(命令行)

在以下示例中,使用 kadminchange_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

要修改主体的其他属性,必须使用 kadminmodify_principal 命令。

如何删除 Kerberos 主体

此过程后附等效命令行示例。

  1. 如有必要,启动 SEAM Tool。

    有关更多信息,请参见如何启动 SEAM Tool

    $ /usr/sbin/gkadmin
  2. 单击 "Principals"(主体)选项卡。
  3. 在列表中选择要删除的主体,然后单击 "Delete"(删除)。

    确认删除后,将删除该主体。

  4. 从 Kerberos 访问控制列表 (access control list, ACL) 文件 /etc/krb5/kadm5.acl 中删除该主体。

    有关更多详细信息,请参见如何修改 Kerberos 管理特权

示例 23-7 删除 Kerberos 主体(命令行)

在以下示例中,kadmindelete_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

如何设置缺省值以创建新的 Kerberos 主体

此过程没有等效命令行。

  1. 如有必要,启动 SEAM Tool。

    有关更多信息,请参见如何启动 SEAM Tool

    $ /usr/sbin/gkadmin
  2. 从 "Edit"(编辑)菜单中选择 "Properties"(属性)。

    此时会显示 "Properties"(属性)窗口。


    image:标题为 "Properties"(属性)的对话框显示了新主体的缺省值和列表控制。主体的缺省值包括安全选项和其他选项。
  3. 选择要在创建新主体时使用的缺省值。

    请从 "Help"(帮助)菜单中选择 "Context-Sensitive Help"(上下文相关帮助),获取有关每个窗口中各种属性的信息。

  4. 单击“保存”。

如何修改 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。主体名称的任何部分都可以包含 "*" 通配符,这在对主体分组时很有用。

示例 23-8 修改 Kerberos 管理特权

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

*/admin@EXAMPLE.COM *

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

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