登入問題是指您的機器已確實登入到歡迎畫面,或收到登入提示,但使用者名稱或密碼不被接受,或是接受後運作不正常 (無法啟動圖形桌面、產品錯誤、出現指令行等等)。
這種情形常發生於系統設定為使用網路驗證或目錄服務時,且基於某些原因,會無法從其所設定的伺服器取得結果。身為唯一的本地使用者,根
使用者是唯一仍可登入這些機器的使用者。下面是機器可能運作良好卻無法正確執行登入的一些常見原因:
網路未作用。如須對此情況的進一步指示,請參閱第 51.5 節「網路問題」。
DNS 此時未運作 (這樣會阻礙 GNOME 或 KDE 運作,也會妨礙系統驗證安全伺服器的要求)。若機器花費過久的時間回應任何動作的話,表示可能是這種情況。如需此主題的詳細資訊,請參閱第 51.5 節「網路問題」。
若系統設定為使用 Kerberos,則系統的本地時間有可能超過了 Kerberos 伺服器時間所容許的變異 (一般為 300 秒)。若 NTP (網路時間協定) 未正確運作,或本地 NTP 伺服器未運作,則 Kerberos 驗證會停止作用,因為它必須仰賴網路上同步的共同時脈才可運作。
系統的驗證組態設定錯誤。請檢查 PAM 組態檔案是否有錯字或指示詞順序錯誤。如需關於 PAM 和所包含組態檔案語法的其他背景資料,請參閱第 27 章「使用 PAM 驗證」。
對於所有非外部網路造成的問題,解決方案就是重新開機進入單一使用者模式,並修復組態後再次開機進入操作模式,以嘗試重新登入。若要開機進入單一使用者模式:
這顯然是使用者最常遇到的問題,其發生的原因有很多。根據您使用本地使用者管理和驗證,或使用網路驗證,會有不同原因造成登入失敗。
本地使用者管理可能因為下列原因而失敗:
使用者輸入的密碼錯誤。
使用者包含桌面組態檔的主目錄損毀或有防寫保護。
X Window System 可能無法驗證此特定使用者,尤其是在安裝目前版本之前,此使用者的主目錄由其他 Linux 版本所使用的話。
若要找出本地登入失敗的原因,請執行下列步驟:
開始進行整個驗證機制的偵錯之前,先確認使用者可以正確記住密碼。若使用者可能記錯密碼,請使用 YaST 使用者管理模組變更使用者的密碼。
以根使用者
登入,並檢查 /var/log/messages
中有沒有登入程序和 PAM 的錯誤訊息。
嘗試從主控台登入 (使用 Ctrl+Alt+F1)。如果成功,表示問題不在 PAM,因為它能夠在此機器上驗證此使用者。嘗試找出 X Window System 或桌面系統 (GNOME 或 KDE) 的任何問題。若需更多資訊,請參閱第 51.4.3 節「登入成功但 GNOME 桌面失敗 」和第 51.4.4 節「登入成功但 KDE 桌面失敗」。
若使用者的主目錄已由其他 Linux 版本使用,請移除使用者主目錄中的 Xauthority
檔案。使用主控台透過 Ctrl+Alt+F1 登入,並以此使用者身份執行 rm .Xauthority。這樣應可排除此使用者的 X 驗證問題。重新嘗試圖形登入。
若仍無法進行圖形登入,請以 Ctrl+Alt+F1 執行主控台登入。嘗試在其他畫面啟動 X 工作階段—第一個 (:0
) 已被使用:
startx -- :1
這樣應可出現圖形畫面與您的桌面。若沒有的話,請檢查 X Window System 的記錄檔案 (/var/log/Xorg.
),或您桌面應用程式的登入檔案 (位於使用者主目錄中的 displaynumber
.log.xsession-errors
),以得知是否有任何異常。
若由於組態檔案損毀導致桌面無法啟動,請繼續執行 第 51.4.3 節「登入成功但 GNOME 桌面失敗 」 或 第 51.4.4 節「登入成功但 KDE 桌面失敗」。
下列為特定使用者在特定機器上網路驗證失敗的一些常見原因:
使用者輸入的密碼錯誤。
機器的本地驗證檔案中已存在使用者名稱,但網路驗證系統也提供了,兩者產生了衝突。
主目錄是存在的,但損毀或無法使用。或許此目錄設為防止寫入,或位於此時無法存取的伺服器上。
使用者沒有登入驗證系統特定主機的許可。
機器的主機名稱已因某種原因而變更,而使用者沒有登入該主機的許可。
機器無法聯繫驗證伺服器,或是含有使用者資訊的目錄伺服器。
X Window System 可能無法驗證此特定使用者,尤其是若此使用者的主目錄由其他 Linux 版本所使用,而此版本優於目前所安裝版本的話。
若要找出登入發生網路驗證失敗的原因,請執行下列步驟:
開始進行整個驗證機制的偵錯之前,先確認使用者可以正確記住密碼。
決定機器賴以進行驗證的目錄伺服器,並確定該伺服器已啟動且在執行中,而且能夠正常與其他機器進行通訊。
確定使用者的使用者名稱和密碼可以在其他機器上使用,以確定其驗證資料存在,而且已正確配送。
再看看在運作不正常的機器上,可否讓其他使用者登入。若其他使用者可以正常登入,或根使用者
可以登入的話,請登入並檢驗 /var/log/messages
檔案。找出嘗試登入所對應的時間戳記,並判斷 PAM 是否已產生任何錯誤訊息。
嘗試從主控台登入 (使用 Ctrl+Alt+F1)。若這樣成功的話,問題就不是出在 PAM 或使用者主目錄所在的目錄伺服器,因為能夠在此機器上驗證此使用者。嘗試找出 X Window System 或桌面系統 (GNOME 或 KDE) 的任何問題。若需更多資訊,請參閱第 51.4.3 節「登入成功但 GNOME 桌面失敗 」和第 51.4.4 節「登入成功但 KDE 桌面失敗」。
若使用者的主目錄已由其他 Linux 版本使用,請移除使用者主目錄中的 Xauthority
檔案。使用主控台透過 Ctrl+Alt+F1 登入,並以此使用者身份執行 rm .Xauthority。這樣應可排除此使用者的 X 驗證問題。重新嘗試圖形登入。
若仍無法進行圖形登入,請以 Ctrl+Alt+F1 執行主控台登入。嘗試在其他畫面啟動 X 工作階段—第一個 (:0
) 已被使用:
startx -- :1
這樣應可出現圖形畫面與您的桌面。若沒有的話,請檢查 X Window System 的記錄檔案 (/var/log/Xorg.
),或您桌面應用程式的登入檔案 (位於使用者主目錄中的 displaynumber
.log.xsession-errors
),以得知是否有任何異常。
若由於組態檔案損毀導致桌面無法啟動,請繼續執行 第 51.4.3 節「登入成功但 GNOME 桌面失敗 」 或 第 51.4.4 節「登入成功但 KDE 桌面失敗」。
若這是特定使用者的問題,很可能是該使用者的 GNOME 組態檔案已損毀。某些症狀還會包括鍵盤無法運作、螢幕幾何錯亂,甚至螢幕只呈現空白的灰色區塊。此問題最重要的區隔是,若其他使用者可以登入,則此機器是正常運作的。若這樣的話,問題很可能可以快速解決,只要將使用者的 GNOME 組態目錄移到新的位置,使 GNOME 啟始化新的組態目錄即可。雖然這樣算是強制使用者重新設定 GNOME,但並沒有資料因此遺失。
按Ctrl+Alt+F1切換到文字主控台。
使用您的使用者名稱登入。
將使用者的 GNOME 組態目錄移到一個暫時位置:
mv .gconf .gconf-ORIG-RECOVER mv .gnome2 .gnome2-ORIG-RECOVER
登出。
再次登入,勿執行任何應用程式。
依照下列方式將 ~/.gconf-ORIG-RECOVER/apps/
目錄複製回新的 ~/.gconf
目錄,修復您的個別應用程式組態資料 (包括 Evolution 電子郵件用戶端資料):
cp -a .gconf-ORIG-RECOVER/apps .gconf/
若這樣導致登入問題,請嘗試僅修復重要的應用程式資料,並重新設定其他的應用程式。
KDE 桌面無法讓使用者登入有幾個原因。快取資料損毀以及 KDE 桌面組態檔案損毀,均可能導致登入問題。
快取檔案可用於增進桌面啟動的效能。若此資料損毀的話,啟動速度會變慢或完全故障。請將其移除,並強制桌面啟動常式重新開始啟動。這樣會比正常啟動的時間久,但將不會損害資料的保存並讓使用者登入。
若要移除 KDE 桌面的快取檔案,請以根使用者
身份發出以下指令:
rm -rf /tmp/kde-user
/tmp/socket-user
以實際的使用者名稱取代 user
。移除這兩個目錄只會移除損毀的快取檔案,過程中並不會傷害到真正的資料。
我們永遠可以使用初始組態檔案取代損毀的桌面組態檔案。若您希望修復使用者的調整值,請在以預設組態值復原組態之後,小心地將其從暫存位置複製回原來位置。
若要以初始組態值取代損毀的桌面組態,請執行下列步驟: