1. 程式人生 > >centos單使用者模式:修改ROOT密碼和grub加密

centos單使用者模式:修改ROOT密碼和grub加密

Linux 系統處於正常狀態時,伺服器主機開機(或重新啟動)後,能夠由系統引導器程式自動引導 Linux 系統啟動到多使用者模式,並提供正常的網路服務。如果系統管理員需要進行系統維護或系統出現啟動異常時,就需要進入單使用者模式或修復模式對系統進行管理了。使用單使用者模式有一個前提,就是您的系統引導器(grub)能正常工作,否則要進行系統維護就要使用修復模式。特注:進入單使用者模式,沒有開啟網路服務,不支援遠端連線

Linux 系統中不同的執行級別(Run Level)代表了系統的不同執行狀態,例如 Linux 伺服器正常執行時處於執行級別3,是能夠提供網路服務的多使用者模式;而執行級別 1 只允許管理員通過伺服器主機的單一控制檯進行操作,即“單使用者模式”。

以centos為例:

進入單使用者模式

進入單使用者模式的前提是系統引導器能正常工作。下面以 GRUB 為例說明進入方法。在 GRUB 啟動選單裡有“a”、“e”和“c”三個操作按鍵,使用這三個按鍵均可進入單使用者模式。

方法1 使用 “a” 操作按鍵進入單使用者模式------推薦:簡單操作

這是進入單使用者模式最快速的方法。在 GRUB 啟動選單裡使用 “a” 操作按鍵編輯 kernel 引數,在行末輸入 single ,以告訴 Linux 核心後續的啟動過程需要進入單使用者模式,回車即可 。如圖所示。


方法2、使用 “e” 操作按鍵進入單使用者模式

GRUB 啟動選單裡使用 “e” 操作按鍵進入 CentOS 的啟動菜單向介面 ,移動游標至“kernel”配置項一行,如圖所示。


將游標定位到 kernel 選單項

按 “e” 鍵編輯 “kernel” 選單項,在行末輸入 single ,以告訴 Linux 核心後續的啟動過程需要進入單使用者模式。

將
kernel /vmlinuz-2.6.18-53.el5 ro root=/dev/VolGroup00/LogVolRoot
更改為
kernel /vmlinuz-2.6.18-53.el5 ro root=/dev/VolGroup00/LogVolRoot single

更改後按回車返回 CentOS 啟動選單項介面,如圖所示。


最後按 “b” 鍵使用更改後的 CentOS 啟動選單項啟動單使用者模式。

方法3、使用 “c” 操作按鍵進入單使用者模式

這是進入單使用者模式最麻煩的方法,通常不使用這種方法進入單使用者模式,此處旨在熟悉 GRUB 命令列介面操作。在 GRUB 啟動選單裡使用 “c” 操作按鍵進入 GRUB 命令列介面。分別使用 GRUB 下的 root 、kernel(在行末輸入 single)、initrd 命令指定啟動引數,最後使用 boot 命令啟動到單使用者模式,如圖所示。


從 GRUB 命令列介面進入單使用者模式

---------------------------------------------------------------------

進入單使用者模式之後

當系統進入單使用者模式時,不需要輸入使用者名稱和口令,系統啟動完成後將直接獲得管理員 root 的許可權,控制檯的提示符為“#”,如圖所示


單使用者模式下的控制檯介面

在上面的啟動資訊中有一條資訊很關鍵:
Remounting root filesystem in read-write mode:[OK]

表示此時單使用者模式下的根檔案系統處於可讀可寫狀態。只有根檔案系統是可讀寫的,系統管理員才能對系統進行維護。若系統的配置與指令碼檔案出現錯誤,單使用者 模式下的根檔案系統進入“read-only file system”只讀狀態,此時,可以使用如下命令以讀寫方式重新掛裝根檔案系統:

sh-3.1 # mount -o remount rw -t ext3 /

當 Linux 系統進入單使用者模式後,由於已經停止了任何網路服務和網路配置(網路介面無效),不會有任何其他人(通過網路)干擾系統的執行狀態,管理員可以放心的對 Linux 系統進行系統級別的維護操作。在單使用者模式下 Linux 系統除了不具備網路功能外,是功能完整的作業系統。在單使用者模式下可以進行如下的維護和管理工作:

  • 重新設定超級使用者口令
  • 維護系統的分割槽、LVM 和檔案系統等
  • 進行系統的備份和恢復

單使用者模式的一個典型應用是 root 使用者的“口令設定”。對於一些臨時使用或實驗用途的 Linux 系統(如學生實驗室),經常會更換使用者,而 root 使用者的口令可能會被遺失,這時可以進入單使用者模式更改 root 使用者的口令。

sh-3.1 # passwd
Changing password for user root.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

當系統進入單使用者模式後,在“#”提示符下執行 passwd 命令可以更新 root 使用者的口令,當系統重新啟動後就可以使用已更新的口令以 root 身份登入系統了。

------------------------------------------grub加密

如果禁止進入單使用者,首先要對GRUB進行密碼配置,只需要修改/boot /grub/grub.conf或者 /etc/grub.conf(/etc/grub.conf是/boot/grub/grub.conf的符號連結),例如:vi /boot/grub/grub.conf進入配置檔案編輯

這裡我們介紹個方法,給grub加個密碼,增禁止他人以單使用者模式進入系統. 有2個方式:

1、明文方式

在splashimage這個引數下一行新增: password=密碼。儲存後重新啟動計算機,再次登入到GRUB選單頁面的時候就會發現,這時已經不能直接使用e命令編輯啟動標籤了,須先使用p命 令 ,輸入正確的密碼後才能夠對啟動標籤進行編輯.但是我們設定了明文密碼也不是很安全的.如果他人得到了明文密碼後仍然可以修改GRUB啟動標籤從而修改 root密碼.

2、MD5加密方式

在終端中輸入grub-md5-crypt回車,這時系統會要求輸入兩次相同的密碼,之後系統便會輸出MD5碼。大家只需要將生成的MD5密文複製下來, 在splashimage這個引數下一行新增:

password --md5 $1$AKO18/$7EaafQPtx.7y2UdZyL5cp0                       //centos的md5

hiddenmenu

儲存後重新啟動計算機,再次登入到GRUB選單頁面的時候就會發現,這時已經不能直接使用e命令編輯啟動標籤了,須先使用p命令,輸入正確的密碼後才能夠對啟動標籤進行編輯。