Sun 企业鉴别机制指南

如何配置一个从 KDC

在本过程中,一个名为 kdc3 的新的从 KDC 得到配置。为了提供一个完整的示例,假设您在安装软件时没有使用预配置过程,或者在运行预配置过程时未将 kdc3 定义为一个从 KDC。如果您使用了该过程并将 kdc3 标识为一个从 KDC,则本过程中所包含的文件,其中许多就不需要进行编辑,但是您应当审查文件的内容。

本过程使用下列配置参数:

  1. 配置一个从 KDC 的先决条件。

    本过程要求主 KDC 业已得到配置且 SEAM 从 KDC 软件业已安装在 kdc3 上。请参见 "交换主 KDC 和从 KDC",了解从 KDC 需要可交换的情况下的具体的操作指示。

  2. 在主 KDC 上: 变为超级用户。

  3. 在主 KDC 上: 启动 kadmin

    您必须借助您在配置主 KDC 时所创建的 admin 授权对象名称中的一个进行登录。


    kdc1 # /usr/krb5/sbin/kadmin -p kws/admin
    录入口令: <录入 kws/admin 口令>
    kadmin: 
    1. 在主 KDC 上: 将从主机授权对象添加到数据库,如果尚未这样作的话,方法是使用 kadmin

      为了让从 KDC 能够工作,它必须拥有一个主机授权对象。


      kadmin: addprinc -randkey host/kdc3.acme.com授权对象 "host/kdc3@ACME.COM" 被创建。 
      kadmin:
    2. 可选: 在主 KDC 上,使用 kadmin 来创建从 KDC root 授权对象。

      只有在从 KDC 将通过 NFS 装配一个已鉴别的文件系统时才需要这一授权对象。


      kadmin: addprinc root/kdc3.acme.com
      录入授权对象 root/kdc3.acme.com@ACME.COM 的口令: <键入口令>
      重新录入授权对象 root/kdc3.acme.com@ACME.COM 的口令: <再次将其键入>
      授权对象 "root/kdc3.acme.com@ACME.COM" 被创建。 
      kadmin: 
    3. 退出 kadmin


      kadmin: 退出
      
  4. 在主 KDC 上: 编辑 Kerberos 配置文件 (krb5.conf)。

    您必须为每个从 KDC 添加一个条目。请参见 krb5.conf(4) 手册页,了解对该文件的一个全面的描述。 如果您在运行预配置过程时将 kdc3 定义为一个从服务器,则请验证文件的内容,而不是对其进行编辑。


    kdc1 # cat /etc/krb5/krb5.conf
    [libdefaults]
            default_realm = ACME.COM
    
    [realms]
                    ACME.COM = {
                    kdc = kdc1.acme.com
                    kdc = kdc2.acme.com
                    kdc = kdc3.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
    
  5. 在主 KDC 上: 为每个从 KDC 添加一个条目到数据库传播配置文件 (kpropd.acl)。

    请参见 kprop(1M) 手册页,了解对对该文件的一个全面的描述。如果您在运行预配置过程时将 kdc3 定义为一个从服务器,则请验证文件的内容,而不是对其进行编辑。


    kdc1 # cat /etc/krb5/kpropd.acl
    host/kdc1.acme.com@ACME.COM
    host/kdc2.acme.com@ACME.COM
    host/kdc3.acme.com@ACME.COM
    
  6. 在所有的从 KDC 上: 从主 KDC 服务器复制 KDC 管理文件。

    需要在所有的从 KDC 上遵照执行这一步骤,因为主 KDC 服务器拥有每个 KDC 服务器所需要的更新过的信息。 如果您在运行预配置过程时将 kdc3 定义为一个从服务器,则请验证文件的内容,而不是进行复制。 您可以使用 ftp 或一个类似的传送机制来从主 KDC 抓取下列文件的副本:

    • /etc/krb5/krb5.conf

    • /etc/krb5/kdc.conf

    • /etc/krb5/kpropd.acl

  7. 在新的从 KDC 上: 使用 kadmin,将从 KDC 的主机授权对象添加到从 KDC 的密钥表文件。

    您必须借助您在配置主 KDC 时所创建的 admin 授权对象名称中的一个进行登录。该条目将使得 kprop 和其它的 Kerberized 应用程序能够工作。


    kdc3 # /usr/krb5/sbin/kadmin -p kws/admin
    录入口令: <录入 kws/admin 口令>
    kadmin: ktadd host/kdc3.acme.com
    kadmin: 授权对象 host/kdc3.acme.com 的条目,
     kvno 为 3,加密类型为 DES-CBC-CRC 被添加到密钥表
     WRFILE:/etc/krb5/krb5.keytab 
    kadmin: 退出
    
  8. 在主 KDC 上: 将从 KDC 名称添加到 cron 任务,从而通过运行 crontab -e,自动运行备份。

    将每个从 KDC 服务器的名称添加在 kprop_script 行的末尾。 如果您在运行预配置过程时将 kdc3 定义为一个从服务器,则请验证文件的内容,而不是对其进行编辑。


    10 3 * * * /usr/krb5/lib/kprop_script kdc2.acme.com kdc3.acme.com
    

    您可能还想更改备份的时间。这一配置在每天的上午 3:10 启动备份进程。

  9. 在主 KDC 上: 使用 kprop_script 来备份和传播数据库。

    如果数据库已有一个备份副本,则没有必要来完成另一次备份。请参见 "如何手动将 Kerberos 数据库传播到从 KDC",了解进一步的操作指示。


    kdc1 # /usr/krb5/lib/kprop_script kdc3.acme.com
    数据库传播到 kdc3.acme.com: 已成功
  10. 在新的从 KDC 上: 使用 kdb5_util 来创建一个贮藏文件。


    kdc3 # /usr/krb5/sbin/kdb5_util stash
    kdb5_util: 在读取主密钥 kdb5_util 时,
    无法找到/读取所存储的主密钥: 警告: 在没有主密钥的情况下继续
    
    请录入 KDC 数据库主密钥: <键入密钥>
    
  11. 在新的从 KDC 上: 启动 KDC 守候程序 (krb5kdc)。


    kdc3 # /etc/init.d/kdc start
    
  12. 可选: 在新的从 KDC 上,使用 NTP 或另一时钟同步机制来使主 KDC 时钟同步。

    安装和使用 NTP 不是必需的,但是每个时钟必须在 krb5.conf 文件的 libdefaults 一节中所定义的默认的时间范围之内,以便鉴别获得成功。请参见 "使 KDC 和 SEAM 客户机之间时钟同步",了解关于 NTP 的信息。