您好,登錄后才能下訂單哦!
這篇文章主要講解了“CentOS怎么進入單用戶模式修改Root用戶的密碼”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“CentOS怎么進入單用戶模式修改Root用戶的密碼”吧!
我們知道linux系統的啟動級別一共有6種級別,通過 /etc/inittab 這個文件我們就能看到:
[root@xiaoluo ~]# cat /etc/inittab # inittab is only used by upstart for the default runlevel. # # adding other configuration here will have no effect on your system. # # system initialization is started by /etc/init/rcs.conf # # individual runlevels are started by /etc/init/rc.conf # # ctrl-alt-delete is handled by /etc/init/control-alt-delete.conf # # terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf, # with configuration in /etc/sysconfig/init. # # for information on how to write upstart event handlers, or how # upstart works, see init(5), init(8), and initctl(8). # # default runlevel. the runlevels used are: # 0 - halt (do not set initdefault to this) # 1 - single user mode # 2 - multiuser, without nfs (the same as 3, if you do not have networking) # 3 - full multiuser mode # 4 - unused # 5 - x11 # 6 - reboot (do not set initdefault to this) # id:5:initdefault:
這里我們看到系統的默認啟動級別是5,也就是有圖形界面的那個。
但是在現實生活中可能會出現這種問題,我們可能忘記了一臺主機的root密碼,但是我們又需要通過root用戶登錄該系統去處理一些事情,這個時候我們怎么辦呢?我們看到在linux的啟動級別中有一個單用戶模式啟動,也就是啟動級別1,當我們如果忘記了root用戶的秘密,但是又需要修改root密碼的時候,這個時候我們就要通過在啟動的時候給系統的內核傳遞一個參數 1 或者 single 來告訴內核,我需要以單用戶模式登陸操作系統,這個時候我們就能能夠通過passwd 命令來重設root用戶的密碼。具體操作是怎樣的呢?咱們有圖有有真像!!
首先我們重啟我們的系統(我這里是centos),然后在界面啟動時讓它停留一下,隨便按一下鍵盤上的一個鍵,此時就會進入到操作系統配置引導界面
每一個title都是一個操作系統的配置選項,這里我們只有一個,也就是上面圖片顯示的那個,如果有多個title字段,這里就會列出來供我們選擇不同的操作系統。
好了,通過下面的英文提示我們發現按下鍵盤上的 e 鍵就可以進入到編輯界面
看到這個界面是不是很熟悉呢?沒錯,這三個選項就是我們 /boot/grub/grub.conf 文件里的配置信息,我們通過查看這個文件的內容來看一下:
[root@xiaoluo ~]# cat /boot/grub/grub.conf # grub.conf generated by anaconda # # note that you do not have to rerun grub after making changes to this file # notice: you do not have a /boot partition. this means that # all kernel and initrd paths are relative to /, eg. # root (hd0,1) # kernel /boot/vmlinuz-version ro root=/dev/sda2 # initrd /boot/initrd-[generic-]version.img #boot=/dev/sda default=0 timeout=5 splashimage=(hd0,1)/boot/grub/splash.xpm.gz hiddenmenu title centos (2.6.32-358.el6.x86_64) root (hd0,1) kernel /boot/vmlinuz-2.6.32-358.el6.x86_64 ro root=uuid=6e24ec7a-2d19-466e-bacc-92750b1f4bef rd_no_luks rd_no_lvm.utf-8 rd_no_md sysfont=latarcyrheb-sun16 crashkernel=auto keyboardtype=pc keytable=us rd_no_dm rhgb quiet initrd /boot/initramfs-2.6.32-358.el6.x86_64.img
這時我們需要將光標移動到第二個選項,也就是linux內核那里,同樣按下鍵盤上的 e 鍵進入到編輯界面,此時我們在后面追加參數 1 或者參數 single就可以告訴linux系統的內核,我需要以單用戶的模式登陸該系統。
然后我們回車,進入到上層的界面,此時按下鍵盤上的 b 鍵就是啟動操作系統,此時我們的linux操作系統就是以單用戶的模式登陸了。我們發現系統非常快速的就進入到了命令行模式下的界面,因為單用戶模式是不會啟動任何服務的,同時也不需要輸入root密碼,就能直接進入到root用戶下,此時我們就可以通過passwd 命令來重置我們的root用戶的密碼
然后我們通過exit命令就可以退出單用戶模式,此時操作系統內核就會根據我們之前看到的 /etc/inittab 配置文件中設置的默認啟動級別來啟動。
這樣我們就可以通過在進入grub引導時在內核參數里面追加參數 1 或者 single 來進入單用戶模式來修改我們的root用戶密碼。
但是,請注意,因為上面的操作只需要通過單用戶模式就可以修改我們的root用戶密碼,所以說一旦別人有機會接觸到我們的服務器主機,那么root用戶的密碼就很容易被別人修改了,這樣當然是非常的不安全的,所以我們還是需要通過grub加密來對開啟一層密碼防護。
通過在 /boot/grub/grub.conf 啟動配置中加入以下類似的代碼來對grub進行加密:
password --md5 $1$6h92b1$pzopv63ktmk4uehzqtaz//
其中后面那一串是md5加密算法,這個我們可以通過 grub-md5-crypt 這個命令來生成加密后的算法
[root@xiaoluo ~]# grub-md5-crypt password: retype password: $1$uga2b1$driidrvtegvg95fhhx4h./ [root@xiaoluo ~]#
在上面的password、retype password那里輸入我們需要設置的密碼,然后就能生成md5算法加密后的密碼,我們將這個加密后的密碼添加到
/boot/grub/grub.conf 這個配置文件里即可,例如:
[root@xiaoluo ~]# vi /boot/grub/grub.conf password --md5 $1$uga2b1$driidrvtegvg95fhhx4h./ # grub.conf generated by anaconda # # note that you do not have to rerun grub after making changes to this file # notice: you do not have a /boot partition. this means that # all kernel and initrd paths are relative to /, eg. # root (hd0,1) # kernel /boot/vmlinuz-version ro root=/dev/sda2 # initrd /boot/initrd-[generic-]version.img #boot=/dev/sda default=0 timeout=5 splashimage=(hd0,1)/boot/grub/splash.xpm.gz hiddenmenu title centos (2.6.32-358.el6.x86_64) root (hd0,1) kernel /boot/vmlinuz-2.6.32-358.el6.x86_64 ro root=uuid=6e24ec7a-2d19-466e-bacc-92750b1f4bef rd_no_luks rd_no_lvm.utf-8 rd_no_md sysfont=latarcyrheb-sun16 crashkernel=auto keyboardtype=pc keytable=us rd_no_dm rhgb quiet initrd /boot/initramfs-2.6.32-358.el6.x86_64.img
這個時候我們再次重啟一下系統,試著進入到grub里面來看看
我們發現下面的英文提示已經變了,之前可以按鍵盤上的 e 鍵進入到grub里面,現在按 e 鍵已經沒用了,此時提示我們按 p 鍵來輸入grub的密碼才能進入到grub里面
此時我們輸入之前設置的grub密碼即可,然后界面就會進入到我們熟悉的修改grub那里了。
所以說通過grub的加密算法我們可以對進入grub進行加密,這樣就能防止別人惡意進入單用戶模式,從而修改root密碼了!!
當然,如果我們連這個grub的秘密都忘記的話,并且又忘記了root密碼,那就真的不能登陸到root用戶了。
感謝各位的閱讀,以上就是“CentOS怎么進入單用戶模式修改Root用戶的密碼”的內容了,經過本文的學習后,相信大家對CentOS怎么進入單用戶模式修改Root用戶的密碼這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。