为了提供一个完整的示例,假设您没有运行预配置过程。如果您在安装软件时使用了预配置过程,本过程中所包含的文件,其中许多就不需要进行编辑了;然而,您应当审查文件内容。
在本过程中,使用下列配置参数:
区域名 = ACME.COM
DNS 域名 = acme.com
主 KDC = kdc1.acme.com
从 KDC = kdc2.acme.com
admin 授权对象 = kws/admin
联机帮助 URL = http://denver:8888/ab2/coll.384.1/SEAM/@AB2PageView/6956
调节 URL,使其指向 "SEAM 管理工具" 一节,正如 SEAM 安装和发行说明 中所描述的情形。
配置一个主 KDC 的先决条件。
本过程要求已安装有主 KDC 软件。另外, DNS 必须正在运行。请参见 "交换主 KDC 和从 KDC",了解主 KDC 为可交换的情况下的具体的命名操作指示。
在主 KDC 上变为超级用户。
编辑 Kerberos 配置文件 (krb5.conf)。
您必须更改区域名和服务器的名称。请参见 krb5.conf(4) 手册页,获得对该文件的一个全面的描述。如果您是使用配置文件安装的 SEAM 软件,则请验证文件的内容,而不是对其进行编辑。
kdc1 # cat /etc/krb5/krb5.conf
[libdefaults]
default_realm = ACME.COM
[realms]
ACME.COM = {
kdc = kdc1.acme.com
kdc = kdc2.acme.com
admin_server = kdc1.acme.com
}
[domain_realm]
.acme.com = ACME.COM
#
# if the domain name and realm name are equivalent,
# this entry is not needed
#
[logging]
default = FILE:/var/krb5/kdc.log
kdc = FILE:/var/krb5/kdc.log
[appdefaults]
gkadmin = {
help_url = http://denver:8888/ab2/coll.384.1/SEAM/@AB2PageView/6956
}
|
在本示例中,针对 default_realm,kdc,admin_server,和所有 domain_realm 条目的各行均被更改。包含有针对 default_realm 的一行,以使示例完整完整,但如果区域和域名等效的话,安装进程就不创建该条目。另外,定义 help_url 的一行也被编辑。
编辑 KDC 配置文件 (kdc.conf)。
您必须更改区域名。请参见 kdc.conf(4) 手册页,获得对该文件的一个全面的描述。如果您是使用配置文件安装的 SEAM 软件,则请验证文件的内容,而不是对其进行编辑。
kdc1 # cat /etc/krb5/kdc.conf
[kdcdefaults]
kdc_ports = 88,750
[realms]
ACME.COM= {
profile = /etc/krb5/krb5.conf
database_name = /var/krb5/principal
admin_keytab = /var/krb5/kadm5.keytab
acl_file = /var/krb5/kadm5.acl
kadmind_port = 749
max_life = 8h 0m 0s
max_renewable_life = 7d 0h 0m 0s
}
|
在本示例中,realms 一节中的区域名定义被更改。
使用 kdb5_util 来创建 KDC 数据库。
kdb5_util 命令创建 KDC 数据库,且在用 -s 选项时,创建一个贮藏文件,用来在 kadmind 和 krb5kdc 守候程序启动之前,向其自身鉴别 KDC 。
kdc1 # /usr/krb5/sbin/kdb5_util create -r ACME.COM -s 为区域 'ACME.COM' 初始化数据库'/var/krb5principal' 将提示您录入数据库主口令。 您切记不要忘记该口令。 录入 KDC 数据库主密钥: <键入密钥> 重新录入 KDC 数据库主密钥来验证: <再次将其键入> |
如果区域名与服务器名称空间域名等效的话,则 -r 选项后面跟有区域名,这并不是必须的。
编辑 Kerberos 访问控制列表文件 (kadm5.acl)。
一旦植有数据,/etc/krb5/kadm5.acl 就应当包含所有被允许来管理 KDC 的授权对象的名称。所添加的第一个条目可能会看似如下所示:
kws/admin@ACME.COM * |
该条目给予 ACME.COM 区域中的 kws/admin 授权对象修改 KDC 中的授权对象或策略的能力。默认的安装包括一个"*",用于匹配所有的 admin 授权对象。这可能会是一个安全隐患,因而包括所有 admin 授权对象的一个列表则较为安全。
启动 kadmin.local。
以下的分步骤创建 SEAM 所使用的授权对象。
kdc1 # /usr/krb5/sbin/kadmin.local kadmin.local: |
使用 kadmin.local 来将管理授权对象添加到数据库。
您可以根据需要来添加 admin 授权对象。您必须添加至少一个 admin 授权对象,才能完成 KDC 配置进程。对于本示例,添加了一个 kws/admin 授权对象。您可以用一个适当的授权对象名称来替换 "kws"。
kadmin.local: addprinc kws/admin 录入授权对象 kws/admin@ACME.COM 的口令: <键入口令> 重新录入授权对象 kws/admin@ACME.COM 的口令: <再次将其键入> 授权对象 "kws/admin@ACME.COM" 被创建。 kadmin.local: |
使用 kadmin.local,为 kadmin 创建一个密钥表文件。
该命令序列创建一个特殊的密钥表文件,其中带有针对 kadmin 和 changepw 的授权对象条目。这些授权对象是 kadmind 服务所必需的。
kadmin.local: ktadd -k /etc/krb5/kadm5.keytab kadmin/kdc1.acme.com
授权对象 kadmin/kdc1.acme.com 的条目, kvno 为 3,加密类型为 DES-CBC-CRC
被添加到密钥表 WRFILE:/etc/krb5/kadm5.keytab。 kadmin.local: ktadd -k /etc/krb5/kadm5.keytab changepw/kdc1.acme.com
授权对象changepw/kdc1.acme.com 的条目, kvno 为 3,加密类型为 DES-CBC-CRC
被添加到密钥表 WRFILE:/etc/krb5/kadm5.keytab。 kadmin.local:
|
退出 kadmin.local
您业已为下列各步骤添加了所有所要求的授权对象。
kadmin.local: 退出 |
启动 Kerberos 守候程序。
kdc1 # /etc/init.d/kdc startkdc1 # /etc/init.d/kdc.master start |
启动 kadmin。
此时此刻,您可以使用 SEAM 管理工具来添加授权对象。命令行示例是出于简洁目的而显示的。您必须借助您在本过程的早些时候所创建的 admin 授权对象名称中的一个进行登录。
kdc1 # /usr/krb5/sbin/kadmin -p kws/admin 录入口令: <录入 kws/admin 口令> kadmin: |
使用 kadmin 来创建主 KDC 主机授权对象。
主机授权对象为 Kerberized 应用程序 (诸如 klist 和 kprop) 以及 Kerberized 服务 (诸如 ftp 和 telnet) 所使用。
kadmin: addprinc -randkey host/kdc1.acme.com 授权对象 "host/kdc1.acme.com@ACME.COM" 被创建。 kadmin: |
可选: 使用 kadmin 来创建主 KDC root 授权对象。
该授权对象用于已鉴别的 NFS 装配,因而在一个主 KDC 上可能并不是必需的。
kadmin: addprinc root/kdc1.acme.com 录入授权对象 root/kdc1.acme.com@ACME.COM 的口令: <键入口令> 重新录入授权对象 root/kdc1.acme.com@ACME.COM 的口令: <再次将其键入> 授权对象 "root/kdc1.acme.com@ACME.COM" 被创建。 kadmin: |
将主 KDC 主机授权对象添加到主 KDC 密钥表文件。
将主机授权对象添加到密钥表文件,允许自动使用该授权对象。
kadmin: ktadd host/kdc1.acme.com kadmin: 授权对象 host/kdc1.acme.com 的条目, kvno 为 3,加密类型为 DES-CBC-CRC 被添加到密钥表 WRFILE:/etc/krb5/krb5.keytab kadmin: 退出 |
退出 kadmin
kadmin: 退出 |
为每个 KDC 添加一个条目到传播配置文件 (kpropd.acl)。
请参见 kprop(1M) 手册页,获得对该文件的一个全面的描述。如果您是使用配置文件安装的 SEAM 软件,则请验证文件的内容,而不是对其进行编辑。
kdc1 # cat /etc/krb5/kpropd.acl host/kdc1.acme.com@ACME.COM host/kdc2.acme.com@ACME.COM |
可选: 使用 NTP 或另一时钟同步机制来使主 KDC 时钟同步。
安装和使用 NTP 不是必需的,但是每个时钟必须在 krb5.conf 文件的 libdefaults 一节中所定义的默认的时间范围之内,以便鉴别获得成功。请参见 "使 KDC 和 SEAM 客户机之间时钟同步",了解关于 NTP 的信息。