Sun 企業辯證機制使用指南

SEAM 錯誤訊息

本節中提供有關 SEAM 錯誤訊息的資訊,包括每個錯誤發生的原因及其修復的方法。

SEAM 管理工具錯誤訊息

錯誤訊息

無法檢視主管或政策的清單,請使用「名稱」欄位。
發生的原因

您所登入的管理主管身份,沒有存取 Kerberos ACL 檔案 (kadm5.acl) 中清單的許可 (l),所以您無法檢視主管或政策清單。

解決之道

您必須在「名稱」欄位中輸入主管及政策名稱來解決此問題,或是以一個擁有適當許可的主管身份來登入。

錯誤訊息

JNI: Java 陣列的建立失敗。
JNI: Java 類別的查詢失敗。
JNI: Java 欄位的查詢失敗。
JNI: Java 方法的查詢失敗。
JNI: Java 物件的查詢失敗。
JNI: Java 物件欄位的查詢失敗。
JNI: Java 字串的存取失敗。
JNI: Java 字串的建立失敗。
發生的原因

SEAM 管理工具 (gkadmin) 所用的 Java 本機介面 (Native Interface) 有嚴重的問題。

解決之道

請結束 gkadmin 並且重新將它啟動。如果問題仍然存在,請報告程式錯誤。

一般性的 SEAM 錯誤訊息 (A-M)

本節將依照英文字母的順序列出 SEAM 指令、SEAM 常駐程式、PAM 架構、GSS 介面、及 Kerberos 程式庫中較常見的錯誤訊息清單 (A-M)。

錯誤訊息

major_error minor_error 匯入名稱時發生 gssapi 錯誤。
發生的原因

在匯入一個服務名稱時發生錯誤。

解決之道

請確定主機ftp 服務主管位於主機密鑰表檔案中。

錯誤訊息

 停用所有的辯證系統,連線遭拒。
發生的原因

本版的 rlogind 並不支援任何辯證機制。

解決之道

請確定以 -k 選項來調用 rlogind。事實上,這應該是 inetd.conf 檔案中所指定的預設值。

錯誤訊息

 必須使用另一個辯證機制來存取此主機。
發生的原因

無法完成辯證。

解決之道

請確定客戶端是使用 Kerberos V5 來進行辯證。

錯誤訊息

 加密所需的辯證協調已失敗。再見。
發生的原因

辯證無法與伺服器協調。

解決之道

請調用 telnet 指令 toggle authdebug 來開始辯證除錯功能,並且查看除錯訊息是否有其他的線索。同時請確定您的證書仍然有效。

錯誤訊息

初始化 kadmin 介面時的 krb5 管理伺服器主機名稱不正確。
發生的原因

krb5.conf檔案中所設置的管理伺服器(主 KDC)主機名稱無效。

解決之道

請確定 krb5.conf 檔案中指定了正確的管理伺服器(主 KDC)主機名稱。

錯誤訊息

 無法與任何所要求的範疇的 KDC 取得聯繫。
發生的原因

所要求的範疇中沒有回應任何 KDC。

解決之道

請確定至少有一個 KDC(主或是從屬)可以存取,或者是在 KDC 上有執行 krb5kdc 常駐程式。請檢查 /etc/krb5/krb5.conf 和是否有設置的 KDC 清單 (kdc = kdc_name)。

錯誤訊息

無法決定主機的範疇。
發生的原因

Kerberos 無法決定主機的範疇名稱。

解決之道

請確定有一個預設的範疇名稱,或是在 Kerberos 設置檔案中設定了領域名稱對映 (krb5.conf)。

錯誤訊息

 無法加密寫入網路。
發生的原因

加密資料時會發生問題。

解決之道

請檢查系統上其他可能的問題。查看其他 syslog 訊息以找出可能的線索。

錯誤訊息

找不到所要求範疇的 KDC。
發生的原因

在要求的範疇中找不到任何的 KDC。

解決之道

請確定 Kerberos 設置檔案 (krb5.conf) 在範疇段落中指定了一個 KDC。

錯誤訊息

 無法將範疇 realm_name 初始化。realm_name
發生的原因

KDC 可能沒有任何存放檔案。

解決之道

請確定 KDC 有一個存放檔案。如果沒有,請使用 kdb5_util(1M) 指令來建立一個,然後再一次試著執行 krb5kdc (/etc/init.d/kdc)。

錯誤訊息

無法為所要求的範疇解析 KDC。
發生的原因

Kerberos 無法為範疇決定任何的 KDC。

解決之道

請確定在 Kerberos 設置檔案 (krb5.conf) 的範疇段落中指定了一個 KDC。

錯誤訊息

 無法重新使用密碼。
發生的原因

此主管以前已經使用過您所輸入的密碼。

解決之道

請選取一個以前並未使用過的密碼,至少不在 KDC 資料庫為每位主管保留的密碼編號當中(由主管政策所強制執行的)。

錯誤訊息

無法取得轉遞的證書。
發生的原因

無法建立證書轉遞功能。

解決之道

請確定主管有可轉遞的證書。

錯誤訊息

無法開啟/找不到 Kerberos 設置檔案。
發生的原因

無法使用 Kerberos 設置檔案 (krb5.conf)。

解決之道

請確定 krb5.conf 檔案位於正確的位置,而且有正確的權限(應該可以由 root 寫入並且讓所有人讀取)。

錯誤訊息

 客戶端並不提供所需的核對和 - 連線遭拒。
發生的原因

有核對和的辯證無法與客戶端協調。客戶端可能是使用一個並不支援初始化連線支援的舊 Kerberos V5 協定。

解決之道

請確定客戶端是使用一個支援初始化連線支援的 Kerberos V5 協定。

錯誤訊息

初次要求許可證時客戶端/伺服器範疇不符。
發生的原因

在初次要求許可證時發生客戶端及伺服器的範疇不符。

解決之道

請確定您正在通訊的伺服器與客戶端位於相同的範疇之內,或者範疇設置無誤。

錯誤訊息

客戶端或伺服器有一個空密鑰。
發生的原因

主管有一個空密鑰。

解決之道

請使用 kadmin(1M)cpw 指令以將主管修改為擁有一個非空的密鑰。

錯誤訊息

 初始化 kadmin 介面時與伺服器的通訊失敗。
發生的原因

為管理伺服器(主 KDC)輸入的主機並未執行 kadmind

解決之道

請確定您指定了正確的主 KDC 主機名稱。如果您指定的主機名稱無誤,請確定 kadmind 在您所指定的主 KDC 之上執行。

錯誤訊息

設置錯誤﹕要求有 -c 的核對和,與允許 Kerberos V4 連線不一致。
發生的原因

以核對和辯證與客戶端不協調。客戶端可能是使用一個不支援初始化連線支援的舊 Kerberos V5 協定。

解決之道

請確定客戶端使用的是一個支援初始化連線支援的 Kerberos V5 協定。

錯誤訊息

證書快取記憶體檔案權限不正確。
發生的原因

您對證書快取記憶體 (/tmp/krb5cc_uid) 沒有正確的讀寫權限。

解決之道

請確定您對證書快取記憶體具有讀寫權限。

錯誤訊息

證書快取記憶體的輸出入操作失敗。XXX
發生的原因

Kerberos 在寫入系統的證書快取記憶體 (/tmp/krb5cc_uid) 時發生問題 。

解決之道

請確定證書快取記憶體尚未被移除,並且使用 df 指令來確定裝置上有足夠的空間。

錯誤訊息

解密整合性的檢查失敗。
發生的原因

您的許可證可能是無效的。

解決之道
  1. 請確定您的證書仍然有效。請以 kdestroy 來損毀您的許可證,並且以 kinit 來建立新的許可證。

  2. 請確定目標主機的密鑰表含有正確的服務密鑰版本。以 kadmin(1M) 來檢視 Kerberos 資料庫的服務主管密鑰版本編號(如﹕host/FQDN_hostname),並且使用目標主機之上的 klist -k 來確定它擁有相同的密鑰版本編號。

錯誤訊息

 超過 des_read 的重試計數。
發生的原因

在讀取資料時重覆發生同樣的錯誤。

解決之道

請檢查系統上其他可能的問題。查看其他 syslog 的訊息以找出可能的線索。

錯誤訊息

df: 無法 statvfs filesystem﹕引數無效。
發生的原因

df指令無法存取目前裝載以生成報告的 Kerberos 化的NFS 檔案系統,因為您已經不再擁有正確的 root 證書。請損毀您的證書,因為裝載的 Kerberos 化檔案系統無法自動卸載檔案系統。

解決之道

您必須建立新的 root 證書來存取 Kerberos 化的檔案系統。如果您不再需要存取Kerberos 化檔案系統,請卸載檔案系統。

錯誤訊息

 無法啟用加密。再見。
發生的原因

無法與伺服器協調加密。

解決之道

請藉由調用 telnet 指令 toggle encdebug 來開始辯證,並且查看除錯訊息以找出可能的線索。

錯誤訊息

 並未成功協調加密。再見。
發生的原因

無法協調加密。

解決之道

請檢查 KDC 記錄檔中的錯誤訊息。

錯誤訊息

已達證書快取記憶體的結尾。
發生的原因

在讀取證書快取記憶體 (/tmp/krb5cc_uid) 時發生一個錯誤。

解決之道

請確定證書快取記憶體可供讀取並且包含資料。

錯誤訊息

無法取得證書快取記憶體。
發生的原因

在初始化 kadmin 的過程中,當 kadmin 試圖為 admin 主管取得證書時發生錯誤。

解決之道

請確定您在執行 kadmin 時所用的是正確的主管及/或密碼。

錯誤訊息

欄位對此實施而言太長。
發生的原因

Kerberos 化的應用程式所送的訊息大小太長。Kerberos 所能處理的最大的訊息大小為 65535 個位元組。此外,Kerberos 所送的協定訊息中的個別欄位也有限制。

解決之道

請確定您的 Kerberos 化的應用程式傳送的是有效的訊息大小。

錯誤訊息

GSS-API(或 Kerberos)錯誤。
發生的原因

這是一個通用的 GSS-API 或 Kerberos 錯誤訊息,可能是由數種不同的問題所造成的。

解決之道

請查看 /etc/krb5/kdc.log 檔案以找出當此錯誤發生時所記錄的更為特定的 GSS-API 錯誤訊息。

錯誤訊息

無法將主機名稱正規化。
發生的原因

Kerberos 無法使主機名稱完全符合條件。

解決之道

請確定主機名稱位於 DNS 中,而且主機名稱至位址以及位址至主機名稱的對映皆一致。

錯誤訊息

跨範疇的許可證不合法。
發生的原因

送出的許可證沒有正確的跨範疇。範疇可能沒有建立正確的互信關係。

解決之道

請確定您所用的範疇有正確的互信關係。

錯誤訊息

Kerberos 設置檔案的格式不正確。
發生的原因

Kerberos 設置檔案 (krb5.conf) 的項目無效。

解決之道

請確定 krb5.conf 檔案中所有的關係之後都有一個 "=" 符號及數值,並且確定每個子段落的括弧都成對。

錯誤訊息

訊息中的核對和類型不正確。
發生的原因

訊息包含一個無效的核對和類型。

解決之道

請檢查 krb5.confkdc.conf 檔案中指定了何種有效的核對和類型。

錯誤訊息

網路位址不正確。
發生的原因

網路位址不符。轉遞的許可證網路位址與處理許可證的網路位址不同。轉遞許可證時可能會發生這種問題。

解決之道

請確定網路位置無誤,以 kdestroy 來損毀您的許可證,並且以 kinit 來建立新的許可證。

錯誤訊息

檔案鎖定模式的旗標無效。
發生的原因

發生一個內部的 Kerberos 錯誤。

解決之道

請報告程式錯誤。

錯誤訊息

為編碼指定的訊息類型無效。
發生的原因

Kerberos 無法識別 Kerberos 化的應用程式所送的訊息類型。

解決之道

如果您是使用您的網站或廠商所開發的一個 Kerberos 化的應用程式,請確定它可以正確地使用 Kerberos。

錯誤訊息

 字元類別的數目無效。
發生的原因

您為主管輸入的密碼並未包含如主管政策所強制的足夠的密碼類別。

解決之道

請確定您輸入的密碼符合政策所要求的最小密碼類別數。

錯誤訊息

KADM err﹕記憶體的配置失敗。
發生的原因

沒有足夠的記憶體以執行 kadmin

解決之道

請釋放足夠的記憶體並且再一次試著執行 kadmin

錯誤訊息

KDC 無法完成所要求的選項。
發生的原因

KDC 並不允許所要求的選項。問題可能在於要求了遠期或可轉遞的選項,而 KDC 卻不允許。另一個原因可能是您要求更新能賦予許可證的許可證,但是您並沒有一張可更新的許可證。

解決之道

請決定您是否要求 KDC 不允許的選項,或者您的要求是否超出能力範圍之外。

錯誤訊息

KDC 政策拒絕要求。
發生的原因

KDC 政策並不允許此要求。例如,對 KDC 的要求中並沒有一個 IP 位址,或者要求了轉遞但 KDC 不允許。

解決之道

請確定您是以正確的選項使用 kinit。如果有必要,請修改與主管有關的政策或是變更主管的屬性以允許要求。您可以使用 kadmin(1M) 來修改政策或主管。

錯誤訊息

KDC 的回覆出乎意料之外。
發生的原因

KDC 的回覆並未包含預期的主管名稱,或者回應中的其他數值不正確。

解決之道

請確定您正在通訊的 KDC 遵照 RFC1510,您所送出的要求是一個 Kerberos V5 要求,或者 KDC 可供使用。

錯誤訊息

Kerberos V5 拒絕辯證。
發生的原因

辯證無法與伺服器協調。

解決之道

請調用 telnet 指令 toggle authdebug 來開始辯證除錯,並且查看除錯訊息以找出可能的線索。同時請確定您的證書仍然有效。

錯誤訊息

找不到密鑰表項目。
發生的原因

網路應用程式伺服器的密鑰表中沒有服務主管的項目。

解決之道

請將正確的服務主管新增至伺服器的密鑰表中,好讓它提供 Kerberos 化的服務。

錯誤訊息

密鑰表中主管的密鑰版本編號不正確。
發生的原因

密鑰表中的主管密鑰版本與 Kerberos 資料庫中的不同。不是服務的密鑰已經變更,就是您可能是使用一個舊的服務許可證。

解決之道

如果已經變更一個服務的密鑰(例如,藉由使用 kadmin),您必須摘取新的密鑰並將它貯存在執行服務的主機密鑰表中。

或者您也可以使用有一個舊密鑰的舊服務許可證。您必須進行一個 kdestroy 然後再一次進行 kinit

錯誤訊息

登入﹕load_modules﹕無法開啟模組 /usr/lib/security/pam_krb5.so.1。
發生的原因

不是遺漏 Kerberos PAM 模組,就是它並非有效的可執行二進位。

解決之道

請確定 Kerberos PAM 模組位於 /usr/lib/security,而且是一個有效的可執行二進位。同時請確定 /etc/pam.conf 包含到 pam_krb5.so.1 的正確路徑。

錯誤訊息

krb5_get_in_tkt 中偵測到迴圈。
發生的原因

Kerberos 數次嘗試取得初始的許可證但都失敗。

解決之道

請確定至少有一個 KDC 回應辯證要求。

錯誤訊息

主密鑰與資料庫不符。
發生的原因

載入的資料庫傾印並非位於 /var/krb5/.k5.REALM 中的一個包含主密鑰的資料庫所建立。

解決之道

請確定載入資料庫傾印中的主密鑰與位於 /var/krb5/.k5.REALM 中的主密鑰相符。

錯誤訊息

找不到相符的證書。
發生的原因

找不到要求相符的證書。您要求證書快取記憶體中所沒有的證書。

解決之道

請以 kdestroy 來損毀您的許可證,並且以 kinit 來建立新的許可證。

錯誤訊息

訊息順序不對。
發生的原因

使用序列保密性傳送的訊息順序不對。傳送的過程中可能遺失某些訊息。

解決之道

您必須重新將 Kerberos 作業階段初始化。

錯誤訊息

已修改訊息資料流。
發生的原因

計算的核對和與訊息的核對和不符。訊息可能在傳送途中被修改,表明有安全性的疏失。

解決之道

請確定訊息正確地透過網路傳送。因為此訊息可能表明訊息在傳送的過程中遭到攔截,請使用 kdestroy 來損毀您的許可證,並且將您所使用的 Kerberos 服務初始化。

一般性的 SEAM 錯誤訊息 (N-Z)

本節將依照英文字母的順序列出 SEAM 指令、SEAM 常駐程式、PAM 架構、GSS 介面、及 Kerberos 程式庫中較常見的錯誤訊息清單 (N-Z)。

錯誤訊息

沒有啟用任何辯證系統。所有的連線都會被拒。
發生的原因

此版的 rlogind 並不支援任何辯證機制。

解決之道

請確定以 -k 選項來調用 rlogind。事實上,這應該是 inetd.conf 檔案中所指定的預設值。

錯誤訊息

找不到證書快取記憶體檔案。
發生的原因

Kerberos 找不到證書快取記憶體 (/tmp/krb5cc_uid)。

解決之道

請確定存在證書檔案而且可供讀取。如果不是的話,請再一次試著執行 kinit

錯誤訊息

操作需要 "privilege" 的許可權限。
發生的原因

所用的 admin主管並沒有在 kadm5.acl 檔案中設置正確的許可。

解決之道

請使用一個擁有正確許可的主管,或者修改 kadm5.acl 檔案,好讓所用的主管擁有正確的許可。通常有 “/admin” 作為其名稱一部份的主管都有正確的許可權限。

錯誤訊息

PAM-KRB5: Kerberos V5 辯證失敗﹕密碼不正確。
發生的原因

您的 UNIX 密碼與 Kerberos 密碼不同。大多數如 login 等非 Kerberos 化的指令都透過 PAM 設定以藉由使用您為您的 UNIX 密碼所指定的相同密碼來向 Kerberos 自動辯證。如果您的密碼不同,Kerberos 辯證就會失敗。

解決之道

您必須在被提示時輸入您的 Kerberos 密碼。

錯誤訊息

密碼在密碼字典中。
發生的原因

您所輸入的密碼位於一個使用中的密碼字典。它並非一個理想的密碼。

解決之道

請選擇一個含有各種密碼類別的密碼。

錯誤訊息

重放快取記憶體內碼中的權限遭拒。
發生的原因

無法開啟系統的重放快取記憶體。伺服器一開始可能是使用一個與您目前的使用者識別碼不同的使用者識別碼來執行。

解決之道

請確定重放快取記憶體有適當的權限。重放快取記憶體貯存在執行 Kerberos 化伺服器應用程式 (/usr/tmp/rc_service_name) 的主機之上。您也可以選擇不變更目前的重放快取記憶體上的權限,改而在以不同的使用者識別碼執行 Kerberos 化伺服器之前,先將重放快取記憶體移除。

錯誤訊息

協定版本不符。
發生的原因

一個 Kerberos V4 要求可能被送給 KDC。SEAM 只支援 Kerberos V5 協定。

解決之道

請確定您的應用程式使用的是 Kerberos V5 協定。

錯誤訊息

要求為一個重放。
發生的原因

要求已經被送至此伺服器而且處理完畢。許可證可能被偷,而另外有人正試著重新使用此許可證。

解決之道

請稍候幾分鐘之後再重新核發要求。

錯誤訊息

所要求的主管及許可證不符。
發生的原因

您所連線的服務主管與您的服務許可證不符。

解決之道

請確定 DNS 可以正常運作。如果您使用的是另一個廠商的軟體,請確定它使用的主管名稱無誤。

錯誤訊息

所要求的協定版本不受支援。
發生的原因

很可能將一個 Kerberos V4 要求送給 KDC。SEAM 只支援 Kerberos V5 協定。

解決之道

請確定您的應用程式使用的是 Kerberos V5 協定。

錯誤訊息

初始化 kadmin 介面時遺漏 krb5.conf 中所需的參數。
發生的原因

kr5.conf 檔案中有遺漏的參數(如 admin_server 參數)。

解決之道

請決定遺漏的參數為何並將它新增至 krb5.conf 中。

錯誤訊息

伺服器拒絕與加密協調。再見。
發生的原因

加密無法與伺服器協調。

解決之道

請調用 telnet 指令 toggle encdebug 來開始辯證除錯,並且查看除錯訊息以找出可能的線索。

錯誤訊息

伺服器拒絕辯證(在 sendauth 交換的過程中)。
發生的原因

您試著通訊的伺服器拒絕了辯證。在進行 Kerberos 資料庫傳播時最可能發生此錯誤。某些常見的原因可能在於 kpropd.acl 檔案、DNS、或密鑰表的問題。

解決之道

如果您在執行 kprop 以外的應用程式時遇到此錯誤,請檢查伺服器的密鑰表是否正確。

錯誤訊息

許可證不是給我們用的,
或者是許可證/辯證器不符。
發生的原因

許可證和辯證器不符。要求的主管名稱可能沒有相符的服務主管名稱,因為許可證是以主管的 FQDN 名稱傳送的,而服務則預期一個非 FQDN 或反之亦然。

解決之道

請確定您所用的服務主管無誤。

錯誤訊息

許可證已經過期。
發生的原因

您的許可證時間已經過期。

解決之道

請以 kdestroy 來損毀您的許可證並且利用 kinit 來建立新的許可證。

錯誤訊息

許可證不能設定為遠期。
發生的原因

主管不允許其許可證為遠期的狀態。

解決之道

請以 kadmin(1M) 來修改主管以允許遠期。

錯誤訊息

許可證尚未開始生效。
發生的原因

遠期的許可證尚未開始生效。

解決之道

請建立有正確日期的新許可證,或是等到目前的許可證生效為止。

錯誤訊息

偵測到被截斷的輸入檔案。
發生的原因

操作時使用的資料庫傾印檔案並非一個完整的傾印檔。

解決之道

請再一次建立傾印檔案,或是使用一個不同資料庫的傾印檔。

錯誤訊息

無法與 Kerberos V5 連線並提供加密服務,或者無法以普通的 rlogin 來與 Kerberos V5 連線。
發生的原因

無法在伺服器之上以正確的服務(rshrcpkshellrloginekloginklogin)來建立 Kerberos 化的作業階段。可能是因為證書無效。

解決之道
  1. 請確定您的證書仍然有效。以 kdestroy 損毀您的許可證,然後利用 kinit 來建立新的許可證。

  2. 請確定目標主機有一個正確服務密鑰版本的密鑰表。使用 kadmin(1M) 來檢視 Kerberos 資料庫中的服務主管密鑰版本編號(如﹕host/FQDN_hostname),並且使用目標主機之上的 klist -k 來請確定它擁有相同的密鑰版本編號。

  3. 請確定目標主機之上/etc/inetd.conf 中的服務中存在輸入項目(klogineklogin、及 kshell)。

錯誤訊息

無法安全地辯證使用者 ... 結束。
發生的原因

辯證無法與伺服器協調。

解決之道

請調用 telnet 指令 toggle authdebug 以開始辯證除錯功能,並且查看除錯訊息以找出可能的線索。同時請確定您的證書仍然有效。

錯誤訊息

要求中的主管錯誤。
發生的原因

許可證中有一個無效的主管名稱。可能是 DNS 或 FQDN 的問題。

解決之道

請確定服務的主管與許可證中的主管相符。

錯誤訊息

您是使用一個沒有核對和支援的舊版 Kerberos5 客戶端,只會授權較新的客戶端。
發生的原因

有核對和的辯證無法與客戶端協調。客戶端可能是使用一個舊版的 Kerberos V5 協定,並不支援初始化連線的支援功能。

解決之道

請確定客戶端是使用一個支援初始化連線支援的 Kerberos V5 協定。