登入問題是指,您的機器已確實開機並進入歡迎畫面或收到登入提示,但不接受使用者名稱或密碼,或是接受後運作不正常 (無法啟動圖形桌面、產生錯誤、出現指令行等等)。
這種情形常發生於系統設定為使用網路驗證或目錄服務時,且基於某些原因,會無法從其所設定的伺服器取得結果。身為唯一的本地使用者,根使用者是唯一仍可登入這些機器的使用者。下面是機器看似運作良好卻無法正確執行登入的一些常見原因:
網路未作用。如須對此情況的進一步指示,請參閱第 28.5 節「網路問題」。
DNS 此時未運作 (這樣會阻礙 GNOME 或 KDE 運作,也會妨礙系統驗證安全伺服器的要求)。若機器花費過久的時間回應任何動作的話,表示可能是這種情況。如需此主題的詳細資訊,請參閱第 28.5 節「網路問題」。
若系統設定為使用 Kerberos,則系統的本地時間有可能超過了 Kerberos 伺服器時間所容許的時間差 (一般為 300 秒)。若 NTP (網路時間協定) 未正確運作,或本地 NTP 伺服器未運作,則 Kerberos 驗證會停止作用,因為它必須仰賴網路上同步的共同時脈才可運作。
系統的驗證組態設定錯誤。請檢查 PAM 組態檔案是否有錯字或指示詞順序錯誤。如需關於 PAM 和所包含組態檔案語法的其他背景資料,請參閱第 2 章「Authentication with PAM」 (↑Security Guide)。
主分割區已加密。如需此主題的詳細資訊,請參閱第 28.4.3 節「無法登入加密的主分割區」。
對於所有非外部網路造成的問題,解決方案就是重新開機進入單一使用者模式,並修復組態後再次開機進入操作模式,以嘗試重新登入。若要開機進入單一使用者模式:
這顯然是使用者最常遇到的問題,其發生的原因有很多。根據您使用本地使用者管理和驗證,或使用網路驗證,會有不同原因造成登入失敗。
本地使用者管理可能因為下列原因而失敗:
使用者輸入的密碼有誤。
使用者包含桌面組態檔的主目錄損毀或有防寫保護。
X Window System 可能無法驗證此特定使用者,尤其是在安裝目前版本的 Linux 之前,此使用者的主目錄已用於其他 Linux 版本的情況下。
若要找出本地登入失敗的原因,請執行下列步驟:
開始進行整個驗證機制的偵錯之前,先確認使用者可以正確記住密碼。若使用者無法正確記住密碼,請使用 YaST 使用者管理模組變更使用者的密碼。請注意 Caps Lock 鍵的使用,並根據需要進行切換。
以根使用者登入,並檢查 /var/log/messages 中有沒有登入程序和 PAM 的錯誤訊息。
嘗試從主控台登入 (使用 Ctrl+Alt+F1)。如果成功,表示問題不在 PAM,因為它能夠在此機器上驗證此使用者。嘗試找出 X Window System 或桌面系統 (GNOME 或 KDE) 的任何問題。如需詳細資訊,請參閱第 28.4.4 節「登入成功但 GNOME 桌面失敗」 和第 28.4.5 節「登入成功但 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),以得知是否有任何異常。
若由於組態檔案損毀導致桌面無法啟動,請繼續執行 第 28.4.4 節「登入成功但 GNOME 桌面失敗」 或 第 28.4.5 節「登入成功但 KDE 桌面失敗」。
以下是特定使用者在特定機器上網路驗證失敗的一些常見原因:
使用者輸入的密碼有誤。
機器的本地驗證檔案中已存在使用者名稱,但網路驗證系統也提供了,兩者產生了衝突。
主目錄是存在的,但損毀或無法使用。或許此目錄設為防止寫入,或位於此時無法存取的伺服器上。
使用者沒有登入驗證系統特定主機的許可。
機器的主機名稱已因某種原因而變更,而使用者沒有登入該主機的許可。
機器無法聯繫驗證伺服器,或是含有使用者資訊的目錄伺服器。
X Window System 可能無法驗證此特定使用者,尤其是在安裝目前版本的 Linux 之前,此使用者的主目錄已用於其他 Linux 版本的情況下。
若要找出登入發生網路驗證失敗的原因,請執行下列步驟:
進行整個驗證機制的除錯之前,請先確認使用者所記的密碼正確無誤。
確定機器賴以進行驗證的目錄伺服器,並確定該伺服器已啟動且正在執行,而且能夠與其他機器正常進行通訊。
確定使用者的使用者名稱和密碼可以在其他機器上使用,以確定其驗證資料存在,而且已正確配送。
再看看在運作不正常的機器上,可否讓其他使用者登入。若其他使用者可以正常登入,或根使用者可以登入的話,請登入並檢驗 /var/log/messages 檔案。找出嘗試登入所對應的時間戳記,並判斷 PAM 是否已產生任何錯誤訊息。
嘗試從主控台登入 (使用 Ctrl+Alt+F1)。若是成功,說明問題不是出在 PAM 或使用者主目錄所在的目錄伺服器,因為能夠在此機器上驗證此使用者。嘗試找出 X Window System 或桌面系統 (GNOME 或 KDE) 的任何問題。如需詳細資訊,請參閱第 28.4.4 節「登入成功但 GNOME 桌面失敗」 和第 28.4.5 節「登入成功但 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),以得知是否有任何異常。
若由於組態檔案損毀導致桌面無法啟動,請繼續執行 第 28.4.4 節「登入成功但 GNOME 桌面失敗」 或 第 28.4.5 節「登入成功但 KDE 桌面失敗」。
建議對筆記型電腦使用加密的主分割區。如果無法登入您的筆記型電腦,通常只是因為無法解除鎖定您的分割區。
開機期間,您必須輸入密碼片語以解除鎖定加密的分割區。如果不輸入密碼片語,則開機程序會繼續,但分割區將處於鎖定狀態。
若要解除鎖定加密的分割區,請執行以下步驟:
按 Ctrl+Alt+F1 切換到文字主控台。
以 root 使用者身分登入。
使用以下指令重新啟動解除鎖定程序︰
/etc/init.d/boot.crypto restart
輸入可解除鎖定加密分割區的密碼片語。
按 Alt+ F7 離開文字主控台並切換回登入畫面。
像往常一樣登入。
若出現此狀況,可能是 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/ksocket-user
以使用者名稱取代 user。移除這兩個目錄只會移除損毀的快取檔案,過程中並不會傷害到真正的資料。
我們永遠可以使用初始組態檔案取代損毀的桌面組態檔案。若您希望復原使用者的調整值,請在以預設組態值還原組態之後,小心地將調整值從暫存位置複製回原來位置。
若要以初始組態值取代損毀的桌面組態,請執行下列步驟:
按Ctrl+Alt+F1切換到文字主控台。
以此使用者名稱登入。
將 KDE 組態目錄和 .skel 檔案移動到暫時位置:
對 KDE3 使用以下指令︰
mv .kde .kde-ORIG-RECOVER
mv .skel .skel-ORIG-RECOVER對 KDE4 使用以下指令︰
mv .kde4 .kde4-ORIG-RECOVER
mv .skel .skel-ORIG-RECOVER登出。
再次登入。
成功啟動桌面後,將使用者自己的組態複製回原位:
cp -a KDEDIR/share .kde/share
使用步驟 3 中的目錄取代 KDEDIR。
![]() | |
若使用者自己的調整值導致登入失敗,且一再重複,請重做以上步驟,但不要複製 | |