2016年8月12日 星期五

CentOS 7 忘記密碼 (CentOS 8 處理方式亦同)

CentOS 7 忘記root密碼,重設密碼方式如下
  1. 在 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」處進行相同修改。
  2. 接下來按「Ctrl+x」開機進入命令列環境,
    這個命令列環境不是原本真正的系統,原本系統在 /sysroot,所以先 chroot 到 /sysroot
    # chroot /sysroot
    
    可先將系統語言設為英文,避免系統訊息亂碼看不懂
    # LANG=en
    
    修改root密碼
    # passwd root
    
    # passwd
    
  3. 最後,在系統根目錄建一個 .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 開機掛載不成功時的維修模式。



沒有留言:

張貼留言