戰(zhàn)指南)
簡(jiǎn)介銀河麒麟桌面操作系統(tǒng)V10(sp1)用戶若忘記登錄密碼而無法進(jìn)入系統(tǒng)這份PDF手冊(cè)提供了基于單用戶模式的完整恢復(fù)路徑并兼顧X86與arm兩種架構(gòu)。資源共1個(gè)文件、約327KB內(nèi)容精煉圍繞grub界面啟動(dòng)項(xiàng)編輯、進(jìn)入單用戶模式、使用passwd命令重置密碼以及強(qiáng)制重啟等關(guān)鍵環(huán)節(jié)展開配有界面截圖和操作注意事項(xiàng)可幫助用戶在不重裝系統(tǒng)的前提下重新設(shè)置密碼。目前已有1024人學(xué)習(xí)下載既適合普通桌面用戶應(yīng)急自救也適合運(yùn)維人員掌握Linux系統(tǒng)修復(fù)環(huán)境的基礎(chǔ)維護(hù)方法。通過閱讀該手冊(cè)讀者能理解grub參數(shù)如init/bin/bash的實(shí)際作用熟悉命令行修改密碼的流程并積累安全重啟與故障排錯(cuò)的經(jīng)驗(yàn)具有較強(qiáng)的實(shí)用參考價(jià)值。1. 銀河麒麟V10(sp1)密碼忘了別著急單用戶模式就是后悔藥某天早上我像往常一樣打開工位那臺(tái)銀河麒麟桌面V10(sp1)輸入密碼卻提示認(rèn)證失敗連續(xù)三次之后賬號(hào)被鎖定。更麻煩的是系統(tǒng)盤里有幾個(gè)月來整理的資料沒有備份到共享服務(wù)器重裝系統(tǒng)等于把這些文件全部丟掉。遇到這種情況第一反應(yīng)不是重裝而是用 Linux 自帶的單用戶模式把密碼重置掉。整個(gè)流程不用光盤、不用 U 盤只用 GRUB 菜單里改一個(gè)啟動(dòng)參數(shù)進(jìn)到一個(gè)最小 shell 后執(zhí)行 passwd 命令重啟后密碼就變回你自己掌握的那串字符。這篇文章把這套操作拆成可以直接照著做的步驟把參數(shù)含義、常見報(bào)錯(cuò)、加密磁盤等邊界條件也都講清楚。適合正在用銀河麒麟V10(sp1)做工作站、辦公終端的讀者也適合第一次接觸國產(chǎn) Linux 密碼恢復(fù)機(jī)制的新手。2. 改密碼前先看懂引導(dǎo)鏈路GRUB參數(shù)、內(nèi)核啟動(dòng)模式與根文件系統(tǒng)掛載2.1 單用戶模式不是繞過密碼而是跳過登錄認(rèn)證先說結(jié)論單用戶模式不會(huì)破解密碼它只是讓系統(tǒng)以最小運(yùn)行級(jí)別啟動(dòng)跳過圖形桌面、網(wǎng)絡(luò)服務(wù)和登錄認(rèn)證直接給 root 一個(gè) shell。你看到的那個(gè) root 提示符不是繞過了什么加密而是 Linux 本來就在物理控制臺(tái)預(yù)留了這條路用于系統(tǒng)維護(hù)和災(zāi)難恢復(fù)。銀河麒麟V10(sp1)桌面版使用 systemd 管理服務(wù)所以觸發(fā)單用戶模式最常見的方式是往內(nèi)核啟動(dòng)參數(shù)里加systemd.unitrescue.target。這條參數(shù)的意思就是讓 systemd 進(jìn)入救援模式整個(gè)系統(tǒng)從多用戶運(yùn)行目標(biāo)切到一個(gè)最簡(jiǎn)目標(biāo)只掛載必備文件系統(tǒng)、不啟動(dòng)網(wǎng)絡(luò)和圖形界面。還有一條更硬的路init/bin/bash。內(nèi)核在完成基礎(chǔ)準(zhǔn)備工作后不啟動(dòng) systemd而直接啟動(dòng)/bin/bash。此時(shí)你可能沒有完整的掛載也沒有服務(wù)只有一個(gè) shell。這種方式對(duì)改密碼來說其實(shí)最穩(wěn)妥因?yàn)樗皇軋D形、驅(qū)動(dòng)、服務(wù)卡殼的影響。我見過很多情況圖形界面驅(qū)動(dòng)崩潰、或者某個(gè)服務(wù)超時(shí)systemd.unitrescue.target卡在啟動(dòng)過程里死活進(jìn)不去而init/bin/bash卻干凈利落地給你一個(gè)提示符。所以如果你是第一次操作直接選init/bin/bash成功率更高。改了密碼后執(zhí)行exec /sbin/init能把系統(tǒng)拉回正常啟動(dòng)流程后面我會(huì)詳細(xì)說。2.2 ro/rw 與根文件系統(tǒng)掛載是寫密碼的前提在 GRUB 編輯界面里我們要找以linux開頭的那一行。這一行里通常有一個(gè)參數(shù)ro意思是只讀讓內(nèi)核在初始階段把根分區(qū)以只讀方式掛載。開機(jī)期間這是保護(hù)措施防止文件系統(tǒng)在沒有完全就緒時(shí)被寫入破壞。但單用戶模式下我們改/etc/shadow恰恰需要寫入權(quán)限所以必須把ro改成rw即讀寫。這個(gè)改動(dòng)只對(duì)本次啟動(dòng)有效內(nèi)核啟動(dòng)參數(shù)不會(huì)把這次修改寫成持久配置下次正常開機(jī)還是默認(rèn)ro。如果你用了init/bin/bash即使忘了改rw也可以在 bash 里手動(dòng)執(zhí)行mount -o remount,rw /重新掛載根目錄。所以兩條路都可行。我個(gè)人的習(xí)慣是雙保險(xiǎn)GRUB 參數(shù)里寫rw進(jìn)入 shell 后仍然用mount | grep / 看一眼實(shí)際掛載狀態(tài)如果顯示為ro就再執(zhí)行一次 remount。這個(gè)操作幾乎是零成本但能避免很多“passwd 明明執(zhí)行成功重啟后密碼卻被拒絕”的怪事。在 GRUB 編輯界面里linux 行大概是這樣的# 修改前示例版本號(hào)以你機(jī)器實(shí)際為準(zhǔn) linux /vmlinuz-xxx root/dev/mapper/xxx ro quiet splash # 修改后 linux /vmlinuz-xxx root/dev/mapper/xxx rw quiet splash systemd.unitrescue.target這里把ro改成rw是讓內(nèi)核用可寫方式掛載根文件系統(tǒng)追加的systemd.unitrescue.target是告訴 systemd 啟動(dòng)救援模式。如果你打算用init/bin/bash則把后面的systemd.unitrescue.target替換成init/bin/bash兩者不要同時(shí)加同時(shí)加容易讓后續(xù)操作思路混亂。2.3 動(dòng)手前先確認(rèn)三個(gè)變量加密盤、安全標(biāo)簽、用戶名拼寫第一磁盤加密。如果機(jī)器在 GRUB 之后又出現(xiàn)“請(qǐng)解鎖磁盤”之類的界面說明系統(tǒng)盤做了 LUKS 加密。單用戶模式繞過的是登錄認(rèn)證不是磁盤加密。磁盤加密口令是另一個(gè)密鑰體系一旦忘記只能靠當(dāng)初做全盤加密時(shí)留的恢復(fù)口令或備份軟件層面基本無解。如果你現(xiàn)在還有一臺(tái)能登錄的普通用戶終端可以運(yùn)行blkid或lsblk -f查看分區(qū)情況看到crypto_LUKS字樣就屬于這類但如果你已經(jīng)完全不能登錄就只能靠回憶開機(jī)時(shí)是否有解密界面了。第二安全標(biāo)簽。銀河麒麟V10(sp1)默認(rèn)啟用安全增強(qiáng)機(jī)制。重置 root 密碼后/etc/shadow這個(gè)文件的安全上下文可能和策略不一致下次登錄時(shí) PAM 會(huì)拒絕。規(guī)避辦法是在退出單用戶模式前執(zhí)行touch /.autorelabel讓系統(tǒng)在重啟時(shí)自動(dòng)重新標(biāo)記文件的安全上下文。別嫌麻煩很多密碼改完卻登錄不上的案例都是這個(gè)細(xì)節(jié)引起的。第三用戶名拼寫。改密碼前想清楚是改 root 還是普通用戶。普通用戶名稱是安裝時(shí)創(chuàng)建的常見的是kylin也有其他自定義名。如果我在救援提示符下執(zhí)行passwd kylin而系統(tǒng)里根本沒有這個(gè)用戶會(huì)提示cant identify user。執(zhí)行id 用戶名可以確認(rèn)用戶是否存在或者查看/etc/passwd文件里有哪些用戶。下表是幾個(gè)常見啟動(dòng)參數(shù)的作用對(duì)比方便你做選擇啟動(dòng)參數(shù)進(jìn)入后的狀態(tài)改密碼時(shí)需要補(bǔ)做的操作systemd.unitrescue.target進(jìn)入救援 shell根文件系統(tǒng)按 ro/rw 狀態(tài)掛載確認(rèn)根可寫必要時(shí) remountinit/bin/bash直接進(jìn)入 bash需手動(dòng)掛載mount -o remount,rw / 再執(zhí)行 passwdrd.break進(jìn)入 initramfs 階段 shell需要 chroot /sysroot 后才能 passwd特別提醒一句網(wǎng)上很多教程寫rd.break那是 RHEL/CentOS 7 上用的 dracut 機(jī)制銀河麒麟V10(sp1)桌面版不一定適用。如果你按rd.break操作后進(jìn)了一個(gè)帶switch_root提示符的迷你環(huán)境不要慌那是 initramfs 階段需要先執(zhí)行mount -o remount,rw /sysroot再chroot /sysroot最后才能 passwd。這個(gè)流程比較繞桌面版首選還是前兩種參數(shù)。2.4 什么情況下別硬扛單用戶模式直接上安裝 U 盤單用戶模式有一個(gè)前提你能物理接觸這臺(tái)機(jī)器或者至少能在遠(yuǎn)程控制臺(tái)界面上操作。如果你通過 SSH 遠(yuǎn)程管理機(jī)器開機(jī)卡在登錄界面但你無法重啟它那就別指望這條路徑。另外如果 GRUB 菜單本身損壞、開機(jī)直接黑屏或只有命令行光標(biāo)按 e 也不會(huì)有反應(yīng)這時(shí)候建議用銀河麒麟安裝 U 盤啟動(dòng)進(jìn)入安裝程序的“試用”或“救援”模式然后掛載系統(tǒng)分區(qū)、chroot 進(jìn)去改密碼。常見做法是用啟動(dòng)盤進(jìn)入安裝界面后按 CtrlAltF2 打開 shell然后找到系統(tǒng)盤掛載點(diǎn)比如mount /dev/sda2 /mnt再mount --bind /proc /mnt/proc、mount --bind /dev /mnt/dev、mount --bind /sys /mnt/sys最后chroot /mnt后直接 passwd。流程比單用戶模式重得多但能處理連 GRUB 都掛掉的極端情況。新手如果遇到這種狀態(tài)更建議找熟悉運(yùn)維的同事一起處理不要在業(yè)務(wù)機(jī)器上反復(fù)試錯(cuò)。2.5 操作前先備份 shadow 文件給自己留后悔藥進(jìn)入單用戶模式后第一件事不是急著改密碼而是先把/etc/shadow備份一份。這個(gè)文件保存著所有用戶的密碼哈希和策略信息一旦改出問題還能原樣恢復(fù)。我在實(shí)際操作中很少遇到改壞的情況但備份的成本極低價(jià)值極高cp /etc/shadow /etc/shadow.bak-$(date %Y%m%d)執(zhí)行后可以先ls -l /etc/shadow.bak-*確認(rèn)文件已經(jīng)生成。如果后面因?yàn)榘踩珮?biāo)簽或其它問題導(dǎo)致密碼無法登錄可以再進(jìn)一次單用戶模式用cp /etc/shadow.bak-xxx /etc/shadow把備份覆蓋回去然后重啟。不過要注意備份出來的 shadow 文件權(quán)限必須是600如果覆蓋后權(quán)限變了要執(zhí)行chmod 600 /etc/shadow否則 PAM 會(huì)拒絕讀取。3. 單用戶模式實(shí)操GRUB編輯、passwd命令與重啟驗(yàn)證3.1 中斷正常啟動(dòng)按 e 進(jìn)入 GRUB 編輯界面第一步是重啟這臺(tái)銀河麒麟V10(sp1)。如果系統(tǒng)當(dāng)前卡在登錄界面可以直接按機(jī)箱電源鍵強(qiáng)制重啟但建議先通過菜單里的“重啟”選項(xiàng)走一遍正常重啟流程。開機(jī)后留意屏幕出現(xiàn)銀河麒麟標(biāo)志或 GRUB 菜單時(shí)用方向鍵選中第一項(xiàng)然后按e鍵進(jìn)入編輯模式。有的機(jī)器啟動(dòng)太快GRUB 菜單一閃而過這時(shí)可以在剛開機(jī)那一刻連續(xù)按 Shift 鍵或 Esc 鍵Intel NUC、聯(lián)想、華為這些整機(jī)實(shí)現(xiàn)不太一樣但大多數(shù)支持 ShiftGPT/UEFI 引導(dǎo)的機(jī)器 Esc 也可以。我遇到過一個(gè)案例一個(gè)同事的機(jī)器按 Shift 沒有反應(yīng)后來發(fā)現(xiàn)是一直按得太晚要關(guān)機(jī)后剛通電那一刻就猛按否則直接進(jìn)系統(tǒng)了。進(jìn)入編輯界面后屏幕顯示的是當(dāng)前啟動(dòng)項(xiàng)的完整配置包括幾個(gè)加載內(nèi)核模塊的行。找到以linux開頭的那一行它包含了vmlinuz、root等參數(shù)。用方向鍵把光標(biāo)移動(dòng)到該行按 Home 跳到行首檢查ro參數(shù)的位置再按 End 跳到行尾準(zhǔn)備追加內(nèi)容。在編輯過程中屏幕上可能會(huì)有很多內(nèi)容看不全不用擔(dān)心左右鍵可以橫向滾動(dòng)。3.2 修改 ro 為 rw 并追加啟動(dòng)目標(biāo)對(duì) linux 這一行做兩處改動(dòng)。第一處把出現(xiàn)的ro改成rw。這個(gè)ro可能出現(xiàn)在root參數(shù)后面的任意位置注意不要改錯(cuò)只改小寫的ro不要?jiǎng)雍衦oot、rhgb等字樣的參數(shù)。第二處在行尾追加空格和systemd.unitrescue.target。如果你打算用init/bin/bash路線則追加init/bin/bash兩者不要同時(shí)加。同時(shí)加的后果是 systemd 的 unit 參數(shù)會(huì)被忽略init 參數(shù)后系統(tǒng)直接執(zhí)行/bin/bash反而沒問題但容易讓后續(xù)操作混亂所以我每次都只加一個(gè)。修改完成后按 CtrlX 或 F10不同 GRUB 版本提示不同啟動(dòng)。這時(shí)系統(tǒng)不會(huì)進(jìn)入圖形登錄界面而是進(jìn)入一個(gè)終端環(huán)境最后停在一個(gè)#提示符下表示你現(xiàn)在已經(jīng)是 root 身份。如果你使用的是虛擬機(jī)比如在 VMware 里按 CtrlX 后要點(diǎn)一下虛擬機(jī)窗口捕獲鍵盤不然按鍵會(huì)落在宿主機(jī)上這個(gè)細(xì)節(jié)也容易懵。3.3 在救援 shell 里確認(rèn)掛載并執(zhí)行 passwd進(jìn)入 shell 后先不要急著輸入 passwd因?yàn)楦募到y(tǒng)的實(shí)際掛載狀態(tài)可能和預(yù)期不一致。執(zhí)行mount | grep -E / 輸出里看第二列的掛載點(diǎn)找到根目錄那一行如果包含rw說明已經(jīng)是可寫如果顯示ro說明還處于只讀狀態(tài)執(zhí)行mount -o remount,rw /重新掛載一次。這一步是解決 “passwd: Authentication token manipulation error” 這類報(bào)錯(cuò)的關(guān)鍵。掛載確認(rèn)可寫后就可以執(zhí)行密碼重置命令了passwd root輸入兩次新密碼屏幕不會(huì)回顯這是正常的。如果目標(biāo)是普通用戶把用戶名替換即可passwd kylin執(zhí)行后會(huì)輸出類似passwd: password updated successfully的信息表示寫入成功。這里有個(gè)參數(shù)可以順便用passwd -S root可以查看 root 密碼狀態(tài)能看到密碼是否已設(shè)置、距離上次修改的天數(shù)等信息適合確認(rèn)修改結(jié)果。如果你設(shè)置的新密碼太簡(jiǎn)單比如只有 6 位純數(shù)字passwd 會(huì)提示BAD PASSWORD但通常仍會(huì)強(qiáng)制寫入。login 時(shí)系統(tǒng)只會(huì)按新密碼校驗(yàn)后續(xù)不會(huì)強(qiáng)制要求你改成復(fù)雜密碼除非管理員設(shè)置了 pam_pwquality 的強(qiáng)制策略。3.4 退出單用戶模式并重啟密碼改完后需要退出單用戶模式讓系統(tǒng)繼續(xù)正常的啟動(dòng)流程。如果你用的是systemd.unitrescue.target可以在 shell 里先執(zhí)行touch /.autorelabel然后輸入exit并按 Enter。exit 會(huì)退出救援模式systemd 會(huì)繼續(xù)拉起之前的啟動(dòng)任務(wù)最終走到圖形登錄界面。如果 exit 后卡住了或者你想立刻重啟可以執(zhí)行reboot -f強(qiáng)制重啟。注意強(qiáng)制重啟前盡量先sync讓文件數(shù)據(jù)落盤sync touch /.autorelabel reboot -f如果你用的是init/bin/bash因?yàn)橄到y(tǒng)沒有 systemd 在管理exit 退出 shell 后內(nèi)核可能直接報(bào) panic此時(shí)正確的回到正常系統(tǒng)的方法是exec /sbin/init這條命令會(huì)把當(dāng)前 shell 替換成 init 進(jìn)程從而進(jìn)入系統(tǒng)的正常啟動(dòng)路徑。執(zhí)行后屏幕上會(huì)出現(xiàn)大量服務(wù)啟動(dòng)日志等一會(huì)兒看是否出現(xiàn)登錄界面。如果exec /sbin/init因?yàn)槟撤N原因失敗再試reboot -f也不遲。重啟后在登錄界面輸入你剛剛設(shè)置的新密碼能進(jìn)桌面就說明整個(gè)恢復(fù)流程走完了。3.5 用 systemd.unitrescue.target 還是 init/bin/bash這兩種方式前面已經(jīng)說過原理實(shí)際中我建議系統(tǒng)能正常走進(jìn) GRUB但懷疑圖形驅(qū)動(dòng)或桌面環(huán)境有問題時(shí)用init/bin/bash最省心如果你希望進(jìn)入后環(huán)境更“完整”比如還要修復(fù)網(wǎng)絡(luò)或重啟某個(gè)服務(wù)用systemd.unitrescue.target更合適。從改密碼這個(gè)目標(biāo)來看兩者沒本質(zhì)區(qū)別只要記住init/bin/bash后必須手動(dòng) remount 根文件系統(tǒng)exit 退出可能不順暢需要exec /sbin/init。另外無論哪種方式操作完成后都不要直接拔電源除非你確認(rèn)沒有未同步的數(shù)據(jù)。如果你遇到的是 UEFI Secure Boot 開啟的機(jī)器部分版本可能不允許內(nèi)核啟動(dòng)參數(shù)被手工修改按 CtrlX 后會(huì)被拒絕。這種時(shí)候要在 BIOS 里臨時(shí)關(guān)閉 Secure Boot或者走 U 盤救援方式。銀河麒麟V10(sp1)工作站在企業(yè)環(huán)境里開啟 Secure Boot 的情況不多但確實(shí)存在我建議先查一下 BIOS 設(shè)置再操作。4. 避坑指南五個(gè)常見翻車現(xiàn)場(chǎng)與排查辦法以下五條是我在實(shí)際操作中見過的翻車情況按“現(xiàn)象 → 原因 → 解決”的順序?qū)懨恳粭l都可能讓你多折騰半小時(shí)提前看一眼能省不少事。4.1 現(xiàn)象按 e 后找不到 linux 開頭的行滿屏亂碼原因GRUB 編輯界面默認(rèn)字體較小分辨率低時(shí)啟動(dòng)條目文字會(huì)被截?cái)嗷驂罕鈒inux 行可能卷到屏幕外。解決先用方向鍵滾動(dòng)或者直接按 CtrlL 清屏然后重復(fù)按兩次 e 退出重進(jìn)讓 GRUB 重新繪制界面。如果還不行在 GRUB 菜單按 c 進(jìn)入命令行輸入set pager1再用上下鍵查看但這對(duì)新手不太友好。最實(shí)在的做法是在正常系統(tǒng)里把 GRUB 分辨率調(diào)大比如改/etc/default/grub里的GRUB_GFXMODE1024x768然后執(zhí)行update-grub。不過作為臨時(shí)救援我一般直接憑經(jīng)驗(yàn)盲操作按照行內(nèi)容中root或vmlinuz字樣定位因?yàn)?linux 行必然包含這兩個(gè)關(guān)鍵詞。4.2 現(xiàn)象啟動(dòng)后卡死在 “Started Show Plymouth Boot Screen” 或日志刷屏原因systemd.unitrescue.target在啟動(dòng)過程中仍然會(huì)拉起一些基礎(chǔ)服務(wù)如果某個(gè)設(shè)備驅(qū)動(dòng)或文件系統(tǒng)服務(wù)超時(shí)就會(huì)一直等待。比如我之前遇到一臺(tái)集成顯卡驅(qū)動(dòng)加載超時(shí)的機(jī)器救援模式卡了將近一分鐘才進(jìn) shell。解決把啟動(dòng)參數(shù)改成init/bin/bash繞開 systemd 直接進(jìn)入 bash。如果機(jī)器已經(jīng)到了救援 shell 但卡住可以等 30 秒還是沒有提示符就強(qiáng)制重啟換init/bin/bash。另外在 linux 行末尾加systemd.shell/bin/bash也可以但不如直接init參數(shù)簡(jiǎn)單。4.3 現(xiàn)象passwd 命令報(bào)錯(cuò) Authentication token manipulation error這是改密碼場(chǎng)景下最常見的報(bào)錯(cuò)。現(xiàn)象是在輸入兩次密碼后系統(tǒng)提示無法更新令牌。原因是根文件系統(tǒng)仍處于只讀狀態(tài)/etc/shadow寫入失敗。解決先用mount命令確認(rèn)根掛載參數(shù)如果顯示ro執(zhí)行mount -o remount,rw /后重新 passwd。還有一種次要原因磁盤滿了導(dǎo)致 shadow 文件無法寫入??梢杂胐f -h查看根目錄可用空間如果 100% 了先清理日志再改密碼。我一般會(huì)順手執(zhí)行df -h /和ls -l /etc/shadow看權(quán)限如果 shadow 文件權(quán)限不是 600也先chmod 600 /etc/shadow再 passwd。4.4 現(xiàn)象密碼改成功但重啟后新密碼登錄時(shí)反復(fù)回到登錄界面現(xiàn)象是輸入新密碼后屏幕一閃又彈回登錄界面好像根本沒驗(yàn)證。原因很多最常見的是安全上下文問題重置密碼后的 shadow 文件與安全策略不匹配PAM 認(rèn)證被拒絕。解決如果走init/bin/bash退出前必須touch /.autorelabel如果已經(jīng)退出并且開機(jī)出現(xiàn)登錄循環(huán)可以再進(jìn)一次單用戶模式執(zhí)行touch /.autorelabel然后重啟。第二個(gè)原因是鍵盤布局不同單用戶模式下可能是en_us布局而登錄界面用了其他布局設(shè)置的復(fù)雜密碼里有特殊字符被輸入成別的符號(hào)。解決設(shè)置密碼時(shí)盡量用字母和數(shù)字避免特殊字符或者改用系統(tǒng)自帶的虛擬鍵盤輸入。4.5 現(xiàn)象普通用戶密碼改了但登錄后提示無法解鎖鑰匙環(huán)鑰匙環(huán)是 Linux 桌面系統(tǒng)保存瀏覽器密碼、Wi-Fi 密碼等憑據(jù)的組件。普通用戶的登錄密碼改了鑰匙環(huán)的解鎖密碼還是舊密碼所以桌面會(huì)反復(fù)彈出“輸入密碼以解鎖密鑰環(huán)”的提示。解決在圖形界面登錄后打開“密碼和密鑰”應(yīng)用修改默認(rèn)鑰匙環(huán)的密碼為新密碼或者直接刪除舊的默認(rèn)鑰匙環(huán)系統(tǒng)會(huì)重新生成。不過這是在能進(jìn)入桌面的前提下。如果連桌面都進(jìn)不去那還是在登錄后處理鑰匙環(huán)不要嘗試用命令行刪除鑰匙環(huán)容易丟失其他憑據(jù)。這個(gè)問題不影響系統(tǒng)使用但很煩人提前知道會(huì)少一點(diǎn)困惑。5. 把這次經(jīng)驗(yàn)沉淀成習(xí)慣密碼重置后的驗(yàn)證與下次預(yù)防5.1 恢復(fù)后先做一次密碼狀態(tài)體檢密碼改完不是終點(diǎn)還要確認(rèn)這個(gè)新密碼在系統(tǒng)策略里是“健康”的。進(jìn)到桌面后打開終端執(zhí)行chage -l kylin這條命令會(huì)顯示用戶名的密碼過期時(shí)間、距密碼更改最近一次修改天數(shù)、密碼有效期限等 7 項(xiàng)信息。如果看到“密碼過期時(shí)間”是“從不”或者很久以后就沒問題。也可以用passwd -S kylin查看狀態(tài)。另外一個(gè)容易忽略的文件是/etc/shadow正常密碼字段不是以!或*開頭如果看到那種符號(hào)說明賬號(hào)被鎖還需要解鎖。我一般還會(huì)順手確認(rèn)一下普通用戶是否能正常使用 sudo避免只改了 root 密碼、普通用戶權(quán)限卻丟失的尷尬。5.2 把這次操作記錄成團(tuán)隊(duì)里的“后悔藥”從那以后我每次給服務(wù)器或銀河麒麟工作站維護(hù)完密碼都會(huì)強(qiáng)制走一遍chage -l并且把機(jī)器型號(hào)、磁盤是否加密、GRUB 菜單入口方式、上次改密碼日期記錄到內(nèi)部維基。下次有人再遇到同樣問題哪怕凌晨值班也能照著記錄十分鐘處理好。不要相信自己的記性你一定會(huì)忘不如直接寫下來。最后一個(gè)習(xí)慣是給機(jī)器提前配置好 SSH 密鑰登錄并且允許 root 或者一個(gè)管理用戶通過密鑰登錄。這樣即使密碼忘了只要你還有另一個(gè)入口能進(jìn) shell就不用大動(dòng)干戈走單用戶模式。很多事都是這樣提前一點(diǎn)配置能免掉后來的緊張。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取