Linux学习之CentOS(二十二)--单用户模式下修改Root用户的密码
在上一篇隨筆里面詳細講解了Linux系統(tǒng)的啟動過程 (Linux學(xué)習(xí)之CentOS(二十一)--Linux系統(tǒng)啟動詳解),我們知道Linux系統(tǒng)的啟動級別一共有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:
這里我們看到系統(tǒng)的默認啟動級別是5,也就是有圖形界面的那個。
但是在現(xiàn)實生活中可能會出現(xiàn)這種問題,我們可能忘記了一臺主機的root密碼,但是我們又需要通過root用戶登錄該系統(tǒng)去處理一些事情,這個時候我們怎么辦呢?我們看到在Linux的啟動級別中有一個單用戶模式啟動,也就是啟動級別1,當(dāng)我們?nèi)绻浟藃oot用戶的秘密,但是又需要修改root密碼的時候,這個時候我們就要通過在啟動的時候給系統(tǒng)的內(nèi)核傳遞一個參數(shù) 1 或者 single 來告訴內(nèi)核,我需要以單用戶模式登陸操作系統(tǒng),這個時候我們就能能夠通過passwd 命令來重設(shè)root用戶的密碼。具體操作是怎樣的呢?咱們有圖有有真像!!
首先我們重啟我們的系統(tǒng)(我這里是CentOS),然后在界面啟動時讓它停留一下,隨便按一下鍵盤上的一個鍵,此時就會進入到操作系統(tǒng)配置引導(dǎo)界面
?
還記得上一篇隨筆里面/boot/grub/grub.conf這個文件里的第一個 title 字段嗎? 沒錯,每一個title都是一個操作系統(tǒng)的配置選項,這里我們只有一個,也就是上面圖片顯示的那個,如果有多個title字段,這里就會列出來供我們選擇不同的操作系統(tǒng)。
好了,通過下面的英文提示我們發(fā)現(xiàn)按下鍵盤上的 e 鍵就可以進入到編輯界面
?
看到這個界面是不是很熟悉呢?沒錯,這三個選項就是我們?/boot/grub/grub.conf 文件里的配置信息,我們通過查看這個文件的內(nèi)容來看一下:
[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/sdadefault=0timeout=5splashp_w_picpath=(hd0,1)/boot/grub/splash.xpm.gzhiddenmenutitle?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?LANG=en_US.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內(nèi)核那里,同樣按下鍵盤上的 e 鍵進入到編輯界面,此時我們在后面追加參數(shù) 1 或者參數(shù) single就可以告訴Linux系統(tǒng)的內(nèi)核,我需要以單用戶的模式登陸該系統(tǒng)。
然后我們回車,進入到上層的界面,此時按下鍵盤上的 b 鍵就是啟動操作系統(tǒng),此時我們的Linux操作系統(tǒng)就是以單用戶的模式登陸了。我們發(fā)現(xiàn)系統(tǒng)非常快速的就進入到了命令行模式下的界面,因為單用戶模式是不會啟動任何服務(wù)的,同時也不需要輸入root密碼,就能直接進入到root用戶下,此時我們就可以通過passwd 命令來重置我們的root用戶的密碼
?
然后我們通過exit命令就可以退出單用戶模式,此時操作系統(tǒng)內(nèi)核就會根據(jù)我們之前看到的 /etc/inittab 配置文件中設(shè)置的默認啟動級別來啟動。
這樣我們就可以通過在進入GRUB引導(dǎo)時在內(nèi)核參數(shù)里面追加參數(shù) 1 或者 single 來進入單用戶模式來修改我們的root用戶密碼。
但是,請注意,因為上面的操作只需要通過單用戶模式就可以修改我們的root用戶密碼,所以說一旦別人有機會接觸到我們的服務(wù)器主機,那么root用戶的密碼就很容易被別人修改了,這樣當(dāng)然是非常的不安全的,所以我們還是需要通過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那里輸入我們需要設(shè)置的密碼,然后就能生成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=0timeout=5splashp_w_picpath=(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?LANG=en_US.UTF-8?rd_NO_MD?SYSFONT=latarcyrheb-sun16?crashkernel=auto??KEYBOARDTYPE=pc?KEYTABLE=us?rd_NO_DM?rhgb?quietinitrd?/boot/initramfs-2.6.32-358.el6.x86_64.img
這個時候我們再次重啟一下系統(tǒng),試著進入到GRUB里面來看看,
0
我們發(fā)現(xiàn)下面的英文提示已經(jīng)變了,之前可以按鍵盤上的 e 鍵進入到GRUB里面,現(xiàn)在按 e 鍵已經(jīng)沒用了,此時提示我們按 p 鍵來輸入GRUB的密碼才能進入到GRUB里面
?
此時我們輸入之前設(shè)置的GRUB密碼即可,然后界面就會進入到我們熟悉的修改GRUB那里了。
所以說通過GRUB的加密算法我們可以對進入GRUB進行加密,這樣就能防止別人惡意進入單用戶模式,從而修改root密碼了!!
當(dāng)然,如果我們連這個GRUB的秘密都忘記的話,并且又忘記了root密碼,那就真的不能登陸到root用戶了。。。。
?
本篇隨筆主要記錄了如何通過單用戶模式來修改root用戶的密碼,并通過設(shè)置grub的MD5加密算法來對進入grub進行加密,從而限制別人輕易進入單用戶模式,在以后的學(xué)習(xí)Linux過程中,將繼續(xù)記錄學(xué)習(xí)Linux的心得!!!!
轉(zhuǎn)載于:https://blog.51cto.com/sandshell/1947765
總結(jié)
以上是生活随笔為你收集整理的Linux学习之CentOS(二十二)--单用户模式下修改Root用户的密码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 教育经验
- 下一篇: Javascript - ExtJs -