Sun 企業辯證機制使用指南

如何設置一個從屬 KDC

在此程序中設置了一個名為 kdc3 的新從屬 KDC。要提供 一個完成的範例,我們假設您在安裝軟體時並未使用事先設置程序,或者在執行事先設置程序時並位將 kdc3 定義為一個從屬。如果您使用程序並且辨識 kdc3 為一個從屬,那麼此程序中所包括的許多檔案都不需要編輯,但您應該審閱檔案的內容。

此程序使用下列設置參數﹕

  1. 設置一個從屬 KDC 的先決條件。

    此程序需要先已設置主 KDC,而且 SEAM 從屬 KDC 軟體也已安裝在 kdc3 之上。如果此從屬要是可調換的話,請參見 "調換主與從屬 KDC" 中的特定指示。

  2. 成為主 KDC 之上的超級使用者。

  3. 在主 KDC 之上﹕開始 kadmin

    您必須以其中一個您在設置主 KDC 時所建立的管理主管名稱來登入。


    kdc1 # /usr/krb5/sbin/kadmin -p kws/admin
    Enter password: 
    <輸入 kws/admin 密碼>
    kadmin: 
    
    1. 在主 KDC 之上﹕如果尚未將從屬主機主管新增至資料庫中的話,請使用 kadmin 來新增。

      為了讓從屬能夠正常運作,它必須有一個主機主管。


      kadmin: addprinc -randkey host/kdc3.acme.com
      Principal "host/kdc3@ACME.COM" created.
      kadmin: 
    2. 可任選﹕在主 KDC 之上,使用 kadmin 來建立從屬 KDC root 主管。

      如果從屬將要 NFS 裝載一個辯證的檔案系統的話,才需要此主管。


      kadmin: addprinc root/kdc3.acme.com 
      Enter password for principal root/kdc3.acme.com@ACME.COM:< 鍵入密碼>
      Re-enter password for principal root/kdc3.acme.com@ACME.COM: < 再一次鍵入> 
      Principal "root/kdc3.acme.com@ACME.COM" created. kadmin:
    3. 退出 kadmin


      kadmin: quit
      
  4. 在主 KDC 之上﹕編輯 Kerberos 設置檔案 (krb5.conf)。

    您必須為每個從屬新增一個項目。請參見 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. 在新的從屬之上﹕使用 kadmin 來將從屬的主機主管新增至從屬的密鑰表檔案。

    您必須以您在設置主 KDC 時所建立的其中一個管理主管名稱來登入。此項目可以讓 kprop 及其他 Kerberos 化的應用程式正常運作。


    kdc3 # /usr/krb5/sbin/kadmin -p kws/admin 
    Enter password:<輸入 kws/admin 密碼> 
    kadmin:ktadd host/kdc3.acme.com
    kadmin: Entry for principal host/kdc3.acme.com with   
    kvno 3, encryption type DES-CBC-CRC added to keytab   
    WRFILE:/etc/krb5/krb5.keytab
     kadmin: quit
    
  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
    Database propagation to kdc3.acme.com: SUCCEEDED
  10. 在新的從屬之上﹕使用kdb5_util 來建立一個存放檔案。


    kdc3 # /usr/krb5/sbin/kdb5_util stash
    kdb5_util: Cannot find/read stored master key while reading master key 
    kdb5_util: Warning: proceeding without master key 
    
    Enter KDC database master key:  < 鍵入密鑰>
    
  11. 在新的從屬之上﹕開始 KDC 常駐程式 (krb5kdc)。


    kdc3 # /etc/init.d/kdc start
    
  12. 可任選﹕在新的從屬之上,使用 NTP 或另一個時鐘同步化機制來同步化主 KDC 時鐘。

    您並不一定要安裝與使用 NTP,但是每一個時鐘都必須在 krb5.conf 檔案的 libdefaults 一節中所定義的預設時間之內,才能讓辯證成功。請參見 "同步化 KDC 及 SEAM 客戶端之間的時鐘" 中有關 NTP 的資訊。