- 在 grub 開機選單出現時,按「e」,編輯開機選項
找到「linux16」開頭這一行,
例如:...(略)... linux16 /vmlinuz-3.10.0-327.22.2.e17.x86_64 root=/dev/mapper/centos-root ro ...(略)... ...(略)...
這一行到「ro」這個單詞位置,將「ro」改成「rw init=/sysroot/bin/bash」...(略)... linux16 /vmlinuz-3.10.0-327.22.2.e17.x86_64 root=/dev/mapper/centos-root rw init=/sysroot/bin/sh ...(略)... ...(略)
註:CentOS 8 則在「linux ($root)/.....」那行,一樣找到「ro」處進行相同修改。 -
接下來按「Ctrl+x」開機進入命令列環境,
這個命令列環境不是原本真正的系統,原本系統在 /sysroot,所以先 chroot 到 /sysroot
# chroot /sysroot
可先將系統語言設為英文,避免系統訊息亂碼看不懂# LANG=en
修改root密碼# passwd root
或# passwd
-
最後,在系統根目錄建一個 .autorelabel 檔案,
開機時,系統偵測到根目錄有這個檔,便會 relabel 系統的 SELinux 相關設定,
否則若受 SELinux 影響,還是會沒辦法登入。# touch /.autorelabel
參考:
How To Reset Your Forgotten Root Password On CentOS 7 Servers – Liberian Geek
v7 變更密碼
45.2.2. Relabeling a File System
centos - What does the .autorelabel file do in Linux? - Server Fault
其他資料:http://dywang.csie.cyut.edu.tw/dywang/rhel7/node5.html
- CentOS 7 開機不分層級,而是分成 4 個 target
Target 說明 graphical.target 多人模式,支援圖形及文字兩種方式登入,等效 v6 的層級 3 及 5。 multi-user.target 多人模式,只支援文字登入方式,等效 v6 的層級 3。 rescue.target sulogin (Single-user login),單人模式,等效 v6 的層級 1。 emergency.target sulogin ,單人模式,完成 initramfs 載入且系統根目錄 / 掛載成唯讀,等效 v6 開機掛載不成功時的維修模式。
沒有留言:
張貼留言