跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 11.1 管理:安全服务 Oracle Solaris 11.1 Information Library (简体中文) |
本节提供使用 SEAM Tool 管理主体的逐步说明,还提供等效命令行示例(如果有)。
|
尽管 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 文件中的口令不会引入安全风险。
可以生成更详细的脚本。例如,脚本可使用名称服务中的信息来获取主体名称的用户名列表。所执行的操作和执行操作的方式取决于站点的需要以及脚本编制技术。
此过程后附等效命令行示例。
有关更多信息,请参见如何启动 SEAM Tool。
$ /usr/sbin/gkadmin
此时会显示主体列表。
在 "Filter"(过滤器)字段中键入过滤字符串,然后按回车键。如果过滤操作成功,则会显示与过滤器匹配的主体列表。
过滤字符串必须由一个或多个字符组成。由于过滤机制区分大小写,因此需要对过滤器使用正确的大小写字母。例如,如果键入了过滤字符串 ge,则过滤机制仅显示包含 ge 字符串的主体(如 george 或 edge)。
如果要显示主体的完整列表,请单击 "Clear Filter"(清除过滤器)。
示例 23-1 查看 Kerberos 主体列表(命令行)
在以下示例中,kadmin 的 list_principals 命令用于列出与 kadmin* 匹配的所有主体。通配符可与 list_principals 命令一起使用。
kadmin: list_principals kadmin* kadmin/changepw@EXAMPLE.COM kadmin/kdc1.example.con@EXAMPLE.COM kadmin/history@EXAMPLE.COM kadmin: quit
此过程后附等效命令行示例。
有关更多信息,请参见如何启动 SEAM Tool。
$ /usr/sbin/gkadmin
此时会显示包含该主体某些属性的 "Principal Basics"(主体基本信息)面板。
有三个窗口包含属性信息。请从 "Help"(帮助)菜单中选择 "Context-Sensitive Help"(上下文相关帮助),获取有关每个窗口中各种属性的信息。或者,转至SEAM Tool 面板说明,了解所有主体属性说明。
示例 23-2 查看 Kerberos 主体属性
以下示例显示了查看 jdb/admin 主体时的第一个窗口。
示例 23-3 查看 Kerberos 主体属性(命令行)
在以下示例中,使用 kadmin 的 get_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
此过程后附等效命令行示例。
有关更多信息,请参见如何启动 SEAM Tool。
$ /usr/sbin/gkadmin
此时会显示包含某些主体属性的 "Principal Basics"(主体基本信息)面板。
必须提供主体名称和口令。
单击加密密钥类型字段右侧的框,以打开一个新窗口,其中将显示所有可用加密密钥类型。选择所需的加密类型后,单击 "OK"(确定)。
有三个窗口包含属性信息。请从 "Help"(帮助)菜单中选择 "Context-Sensitive Help"(上下文相关帮助),获取有关每个窗口中各种属性的信息。或者,转至SEAM Tool 面板说明,了解所有主体属性说明。
有关更多详细信息,请参见如何修改 Kerberos 管理特权。
示例 23-4 创建新的 Kerberos 主体
以下示例显示了创建名为 pak 的新主体时的 "Principal Basics"(主体基本信息)面板。策略设置为 testuser。
示例 23-5 创建新的 Kerberos 主体(命令行)
在以下示例中,使用 kadmin 的 add_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
此过程说明如何使用某个现有主体的全部或部分属性来创建新主体。此过程没有等效命令行。
有关更多信息,请参见如何启动 SEAM Tool。
$ /usr/sbin/gkadmin
此时会显示 "Principal Basics"(主体基本信息)面板。除空的 "Principal Name"(主体名称)和 "Password"(口令)字段之外,选定主体的其他属性都将被复制。
必须提供主体名称和口令。要完全复制选定主体,请单击 "Save"(保存)并跳至步骤 7。
有三个窗口包含属性信息。请从 "Help"(帮助)菜单中选择 "Context-Sensitive Help"(上下文相关帮助),获取有关每个窗口中各种属性的信息。或者,转至SEAM Tool 面板说明,了解所有主体属性说明。
有关更多详细信息,请参见如何修改 Kerberos 管理特权。
此过程后附等效命令行示例。
有关更多信息,请参见如何启动 SEAM Tool。
$ /usr/sbin/gkadmin
此时会显示包含该主体某些属性的 "Principal Basics"(主体基本信息)面板。
有三个窗口包含属性信息。请从 "Help"(帮助)菜单中选择 "Context-Sensitive Help"(上下文相关帮助),获取有关每个窗口中各种属性的信息。或者,转至SEAM Tool 面板说明,了解所有主体属性说明。
注 - 不能修改主体的名称。要重命名主体,必须首先复制该主体,为其指定一个新名称并保存,然后删除旧主体。
有关更多详细信息,请参见如何修改 Kerberos 管理特权。
示例 23-6 修改 Kerberos 主体的口令(命令行)
在以下示例中,使用 kadmin 的 change_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
要修改主体的其他属性,必须使用 kadmin 的 modify_principal 命令。
此过程后附等效命令行示例。
有关更多信息,请参见如何启动 SEAM Tool。
$ /usr/sbin/gkadmin
确认删除后,将删除该主体。
有关更多详细信息,请参见如何修改 Kerberos 管理特权。
示例 23-7 删除 Kerberos 主体(命令行)
在以下示例中,kadmin 的 delete_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
此过程没有等效命令行。
有关更多信息,请参见如何启动 SEAM Tool。
$ /usr/sbin/gkadmin
此时会显示 "Properties"(属性)窗口。
请从 "Help"(帮助)菜单中选择 "Context-Sensitive Help"(上下文相关帮助),获取有关每个窗口中各种属性的信息。
尽管您的站点可能有许多用户主体,但您通常只希望一小部分用户能够管理 Kerberos 数据库。管理 Kerberos 数据库的特权由 Kerberos 访问控制列表 (access control list, ACL) 文件 kadm5.acl 确定。通过 kadm5.acl 文件,可以允许或禁用各个主体的特权。或者,可在主体名称中使用 "*" 通配符来指定主体组的特权。
开始之前
您必须承担 root 角色。有关更多信息,请参见如何使用指定给您的管理权限。
principal privileges [principal-target]
|
示例 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