在此程序中設置了一個名為 kdc3 的新從屬 KDC。要提供 一個完成的範例,我們假設您在安裝軟體時並未使用事先設置程序,或者在執行事先設置程序時並位將 kdc3 定義為一個從屬。如果您使用程序並且辨識 kdc3 為一個從屬,那麼此程序中所包括的許多檔案都不需要編輯,但您應該審閱檔案的內容。
此程序使用下列設置參數﹕
範疇名稱 = ACME.COM
DNS 領域名稱 = acme.com
主 kdc = kdc1.acme.com
從屬 kdc = kdc2.acme.com 及 kdc3.acme.com
管理主管 = kws/admin
線上說明 URL = http://denver:8888/ab2/coll.384.1/SEAM/@AB2PageView/6956
如SEAM 安裝及發行注意事項中所述,將 URL 調整為指向“SEAM 管理工具”一節。
設置一個從屬 KDC 的先決條件。
此程序需要先已設置主 KDC,而且 SEAM 從屬 KDC 軟體也已安裝在 kdc3 之上。如果此從屬要是可調換的話,請參見 "調換主與從屬 KDC" 中的特定指示。
成為主 KDC 之上的超級使用者。
在主 KDC 之上﹕開始 kadmin。
您必須以其中一個您在設置主 KDC 時所建立的管理主管名稱來登入。
kdc1 # /usr/krb5/sbin/kadmin -p kws/admin Enter password: <輸入 kws/admin 密碼> kadmin: |
在主 KDC 之上﹕如果尚未將從屬主機主管新增至資料庫中的話,請使用 kadmin 來新增。
為了讓從屬能夠正常運作,它必須有一個主機主管。
kadmin: addprinc -randkey host/kdc3.acme.com Principal "host/kdc3@ACME.COM" created. kadmin: |
可任選﹕在主 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: |
退出 kadmin。
kadmin: quit |
在主 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 |
在主 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 |
在所有從屬 KDC 之上﹕從主 KDC 伺服器中複製 KDC 管理檔案。
所有的從屬 KDC 之上都必須依照此步驟,因為主 KDC 伺服器有每個 KDC 伺服器所需的已更新資訊。如果您在執行事先設置的程序時,將 kdc3 定義為一個從屬伺服器,請確認檔案的內容而不要編輯它。 您可以使用 ftp 或是一個較簡單的傳輸機制,從主 KDC 中抓取下列檔案的副本﹕
/etc/krb5/krb5.conf
/etc/krb5/kdc.conf
/etc/krb5/kpropd.acl
在新的從屬之上﹕使用 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 |
在主 KDC 之上﹕將從屬 KDC 名稱新增至 cron 工作,它會執行 crontab -e 以自動執行備份。
將每個從屬 KDC 伺服器的名稱新增在 kprop_script 行的結尾。如果您在執行事先設置的程序時,將 kdc3 定義為一個從屬伺服器,請確認檔案的內容而不要編輯它。
10 3 * * * /usr/krb5/lib/kprop_script kdc2.acme.com kdc3.acme.com |
您可能也要變更備份的時間。此項設置會在每天的上午 3:10 開始備份過程。
在主 KDC 之上﹕使用 kprop_script 來備份與傳播資料庫。
如果已經有一個資料庫的備份副本,就不需要完成另一個備份。請參見 "如何以手動方式將 Kerberos 資料庫傳播至從屬 KDC" 中進一步的指示。
kdc1 # /usr/krb5/lib/kprop_script kdc3.acme.com Database propagation to kdc3.acme.com: SUCCEEDED |
在新的從屬之上﹕使用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: < 鍵入密鑰> |
在新的從屬之上﹕開始 KDC 常駐程式 (krb5kdc)。
kdc3 # /etc/init.d/kdc start |
可任選﹕在新的從屬之上,使用 NTP 或另一個時鐘同步化機制來同步化主 KDC 時鐘。
您並不一定要安裝與使用 NTP,但是每一個時鐘都必須在 krb5.conf 檔案的 libdefaults 一節中所定義的預設時間之內,才能讓辯證成功。請參見 "同步化 KDC 及 SEAM 客戶端之間的時鐘" 中有關 NTP 的資訊。