Linux用户管理(五)Linux系统的启动
Linux系統(tǒng)的啟動
一.啟動步驟和GRUB
1.Linux啟動過程分析? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
(1)BIOS自檢
l? 硬件檢測及初始化
l? 引導(dǎo)啟動設(shè)備
(2)引導(dǎo)啟動設(shè)備
l? 軟盤(0磁道第一個扇區(qū))
l? 光盤(最外圍存儲軌道)
l? 硬盤(MBR)
l? USB存儲設(shè)備
(3)調(diào)用Linux引導(dǎo)程序至內(nèi)存中
l?Linux的引導(dǎo)程序可以使用GRUB/LILO等引導(dǎo)軟件
l?GRUB/LILO可以安裝在MBR/引導(dǎo)分區(qū)的引導(dǎo)扇區(qū)中
(4)運行Linux內(nèi)核
l?內(nèi)核放在/boot目錄中,Linux系統(tǒng)可以同時支持多版本內(nèi)核
l?解壓縮內(nèi)核
l?檢測硬件
l?加載root文件系統(tǒng)
(5)執(zhí)行init進程(按“i”單步運行)
l?啟動新進程或關(guān)閉進程
l?選擇啟動模式
l?建立虛擬終端
(6)用戶登錄
l?輸入用戶名及口令
l?加載用戶配置文件
l?加載shell程序
2.引導(dǎo)盤的創(chuàng)建
方法一:安裝過程中創(chuàng)建
方法二:mkbootdisk
#mkbootdisk??--device? /dev/fd0?? ?2.4.20-8
方法三:使用dd命令
# dd ??if=/boot/vmlinuz? of=/dev/fd0
3.GRUB
(1)GRUB簡介
?? ??GRUB是一種基于intel平臺的功能強大的啟動引導(dǎo)器
(2)GRUB特點
l??支持大硬盤,突破1024柱面的限制
l??支持兩種界面(菜單,命令行)
l??開機畫面
??????? (3)安裝GRUB
l??安裝軟件包
#rpm –ivh? grub-0.934.i386.rpm
l??使用安裝命令安裝GRUB到MBR
#grub
grub>root (hdx,y)
grub>setup (hdx[,y])
(4)GRUB的配置
#vi? /boot/grub/grub.conf
grub.conf中常用的配置命令有:
default=菜單項序號/saved
設(shè)置啟動菜單的默認啟動項
hiddenmenu
隱藏菜單界面
splashp_w_picpath =圖像文件全路徑名
指定某文件作為啟動菜單的背景圖像
timeout=延遲秒數(shù)
設(shè)置啟動菜單的啟動延時
title 菜單項名稱
開始一個菜單項的配置,設(shè)置菜單項的名稱
root (hdx,y)
設(shè)置GRUB的根設(shè)備為linux內(nèi)核所在的分區(qū)
kernel??內(nèi)核文件名稱
指定內(nèi)核文件的名稱及加載內(nèi)核所需的參數(shù)
initrd?initrd文件名
指定鏡像文件的位置
map? (hdx[,y])??(hdx[,y])
建立虛擬磁盤
rootnoverify (hdx,y)
指定windows啟動引導(dǎo)器的位置
makeactive
標識指定分區(qū)為活動分區(qū)
chainloader?+n/文件名稱
調(diào)用指定windows啟動文件
password 口令/--md5? 口令密文
設(shè)置GRUB啟動菜單和菜單項口令
lock
利用password設(shè)置的全局口令鎖定菜單項
savedefault
保存當(dāng)前啟動菜單項為默認啟動
文件實例:
# grub-md5-crypt(產(chǎn)生口令的MD5密文)
???????????# vi? /etc/grub.conf
????????default=0??????????????????
???????????? timeout=50???????????????
???????????? splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz?
???????????? password? --md5??#!dfdasdf34123!#@$!#@????????????????????????
???????????? title? RedHat?Linux 9.0?????? ???
???????????? root?? (hd0,2)??????????????
???????????? kernel? /Vmlinuz-2.4.20-8? ro?root=/LABEL=/
???????????? initrd?? /initrd-2.4.20-8.img???????
???????????? password? linux
???????????? tile? windows 2000
???????????? rootnoverify? (hd0,0)?????????
???????????? chainloader ?+1?????????????????
???????????? lock
(5)GRUB的FAQ
l? 編輯模式的使用
用于臨時修改菜單的選項,在菜單界面中按E鍵進入
菜單主界面
編輯模式
l? 命令行模式的使用
利用命令行命令設(shè)置GRUB,在菜單界面中按C鍵進入
命令模式
grub命令行中常用的命令有:
grub>root? (hdx,y)???????//設(shè)置根設(shè)備所對應(yīng)的分區(qū)
?????? ?????grub>kernel 內(nèi)核文件???? //設(shè)置內(nèi)核文件的名稱
?????????? ?grub>initrd?鏡像文件名?//設(shè)置鏡像文件名
??????????? grub>boot? ?????????????//啟動指定操作系統(tǒng)
??????????? grub>rootnoveify (hdx,y)? //設(shè)置根設(shè)備所對應(yīng)的分區(qū),但不檢查加載點
??????????? grub>chainloader? 文件名//加載指定的文件
grub>help?????????????? //獲取幫助
grub>reboot???????????? //重啟系統(tǒng)
grub>md5-crypt???????? //生成口令的MD5密文
grub>setup (hdx[,y])??? //安裝GURB到MBR/指定分區(qū)的引導(dǎo)扇區(qū)中
grub>hide 分區(qū)??????//隱藏分區(qū)
grub>cat 文件名?????//顯示文件內(nèi)容
grub>find 文件名???? //查找文件
l? 如果MBR中的GRUB引導(dǎo)程序被其它程序覆蓋,應(yīng)該如該恢復(fù)
1)? 放入第一張安裝啟動盤,開始啟動計算機:boot:linux rescue(啟動linux的修復(fù)模式,加載硬盤上的LINUX系統(tǒng)到/mnt/sysp_w_picpath)
2)? #grub
grub>root? (hdx,y)?
grub>root? (hdx)
l? 恢復(fù)GRUB的配置文件
由于grub.conf設(shè)置的問題,可以采用以下方法進行恢復(fù):
1)? 放入第一張安裝啟動盤,開始啟動計算機:boot:linux rescue(啟動linux的修復(fù)模式)
2)#vi?? /mnt/sysp_w_picpath/boot/grub/grub.conf
l? 如何利用GRUB進入單用戶模式,找回丟失的root用戶口令
在GRUB菜單界面中按e編輯linux菜單項,給內(nèi)核后面添加參數(shù)single
然后回車再按b進單用戶模式、password root就可以了。
l? 如何卸載GRUB
1)#rpm? -e?grub
2)C:\>fisk/mbr
二.init 進程
1.????????init進程的作用
init進程是系統(tǒng)啟動第一個進程,它負責(zé)加載其它進程、管理系統(tǒng)的其它進程
2.????????系統(tǒng)運行級別
運行級別 | 說明 |
0 | 關(guān)機 |
1 | 單用戶模式 |
2 | 多用戶模式、不支持NFS |
3 | 多用戶模式 |
4 | 保留 |
5 | X-WINDOWS |
6 | 重啟 |
可以使用init在各個運行級別中進行切換,init命令格式如下:
#init? <0-6,a,s,q>
3.????????inittab文件的分析
/etc/inittab文件用于設(shè)置init進程在執(zhí)行時加載哪些程序,inittab文件由若干個記錄構(gòu)成,每條記錄格式如下:
ID:RUNLEVEL:ACTION:COMMAND
以下為默認inittab文件內(nèi)容:
id:3:initdefault:
si::sysinit:/etc/rc.d/init.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc0
l1:1:wait:/etc/rc.d/rc1
l2:2:wait:/etc/rc.d/rc2
l3:3:wait:/etc/rc.d/rc3
l4:4:wait:/etc/rc.d/rc4
l5:5:wait:/etc/rc.d/rc5
l6:6:wait:/etc/rc.d/rc6
ca?::ctrlaltdel:/sbin/shutdown? -t3?-r? now
pf::powerfail:/sbin/shutdown? -f? -h+2 ?“power failure;power shutting down”
pr:12345:powerokwait:/sbin/shutdown–c? “power? restored;shutdown cancelled”
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
x:5:respawn:/etc/X11/prefdm? -nodaemon
說明:
(1)Action用于設(shè)置調(diào)用進程的方式?
Respawn | 只要進程停止,該進和便重新啟動 |
Wait | 進程運行一次,init等待到它停止 |
Once | 進程運行一次 |
Boot | 系統(tǒng)引導(dǎo)過程中,進程運行,忽略等級 |
Bootwait | 系統(tǒng)引導(dǎo)過程中,進程運行,init等待結(jié)束 |
Off | 無任何行動 |
Initdefault | 系統(tǒng)默認運行等級 |
Sysinit | 系統(tǒng)引導(dǎo)則運行,優(yōu)先于boot或bootwait |
Powerwait | 電源故障后發(fā)送信號給init,等待進程終止 |
Ctrlaltdel | 當(dāng)init收到SIGINT信號時,該進程運行 |
Powerokwait | UPS恢復(fù)則向init發(fā)送SIGINT信號 |
(2) 修改/etc/inittab文件,可以設(shè)置默認啟動模式、各運行級別所加載的程序、CTRLALTDEL的動作、開設(shè)虛擬用戶終端
4.????????/etc/rc.d 的目錄內(nèi)容
(1)/etc/rc.d/init.d目錄
l? 保存所有運行等級需要的所有腳本
l? 啟動、停止、重啟某些服務(wù)
(2)/etc/rc.d/rc
l? 系統(tǒng)改變運行等級,通過此腳本檢查/etc/rc.d/rcX.d目錄和文件可存在,以及是否正在運行等,以及運行/etc/rc.d/rcX.d中所有S開頭的腳本
(3)/etc/rc.d/rcX.d目錄
l? 存放每一運行等級默認啟動項,該目錄中的文件鏈接到:/etc/rc.d/init.d
l? 文件名格式為K{Two-digit number}? {script name}/S{Two-digit number} {script name},K:以stop參數(shù)運行,S:以start參數(shù)運行;Two:數(shù)字代表執(zhí)行順序
(4)/etc/rc.d/rc.local
l? 該腳本在2,3,5運行等級結(jié)束時執(zhí)行
(5)/etc/rc.d/rc.sysinit
l? 系統(tǒng)初始腳本,用于設(shè)置系統(tǒng)的時鐘、加載鍵盤、加載系統(tǒng)字體、加載其他文件系統(tǒng)、激活交換分區(qū)、生成日志文件
三.用戶登錄
1.用戶登錄過程
?
2.用戶登錄命令
(1)su
功能:切換用戶登錄
格式:#su? [參數(shù)]? [-] ?[用戶名]
參數(shù):-c? 命令????? :運行指定的命令
????? -m??????????:不重新設(shè)置環(huán)境變量
????? -s?shell路徑?:運行指定的shell
????? -???????????? :連同工作環(huán)境一起切換
實例:$su ?-
#su? user1
$su? -c?/sbin/init 0?? root
(2)exit
功能:退出用戶環(huán)境(ctrl+d)
格式:#exit
(3)login
功能:登錄系統(tǒng)?
格式:#login? [參數(shù)]? [用戶名]
參數(shù):
-p:通知login保持現(xiàn)在的環(huán)境參數(shù)
-h:用來向遠程登錄的主機傳輸用戶名
實例:#login
(4)logout
功能:退出用戶環(huán)境、注消用戶
實例:#logout
(5)sudo
功能:以其它用戶執(zhí)行指定的命令,默認是以root身份,只有/etc/sudoers文件中指定的用戶有權(quán)執(zhí)行
格式:#sudo [參數(shù)]?命令
參數(shù):
-b 在后臺執(zhí)行指令
-H 將HOME環(huán)境變量設(shè)為新身份的HOME環(huán)境變量。
-k 結(jié)束密碼的有效期限,也就是下次再執(zhí)行sudo時便需要輸入密碼。
-l 列出目前用戶可執(zhí)行與無法執(zhí)行的指令。
-p 改變詢問密碼的提示符號。
-s 執(zhí)行指定的shell。
-u<用戶> 以指定的用戶作為新的身份。若不加上此參數(shù),則預(yù)設(shè)以root作為新的身份。
-v 延長密碼有效期限5分鐘。
實例:#sudo?/sbin/init 0
說明:/etc/sudoers文件格式為:user? host=[all/nopasswd/run as 用戶名]? command lint;其中All代表所有文件,nopasswd代表執(zhí)行文件時不需要要口令
(6)who
功能:顯示登錄用戶信息
格式:#who? [參數(shù)]
參數(shù):-l?? 顯示系統(tǒng)登錄進程
-b?? 顯示系統(tǒng)最后一次啟動時間
實例:#who
????? #who??-l
(7)w
功能:顯示登錄用戶信息
格式:#w? [用戶]
實例:#w
(8)whoami
功能:顯示當(dāng)前終端登錄的用戶名稱
實例:#whoami
(9)last
功能:顯示最近的用戶登錄情況
格式:#last? [參數(shù)]
參數(shù):num??? 顯示指定終端上的用戶登錄信息
????? -num??顯示最近n次的用戶登錄信息
??-i?? 顯示登錄主機的IP地址
實例:#last
#last?3
(10)wall
功能:向每個用戶終端上的用戶發(fā)送消息
格式:#wall [參數(shù)]
參數(shù):-n?? 不顯示消息來源
實例:#wall
#wall?-n
(11)write
功能:向指定終端的用戶發(fā)送消息
格式:#write?用戶名?[終端]?
實例:#write? user1?? tty1
注意:/etc/motd為公告板文件,用于記錄所有公告信息;/etc/issue為歡迎信息文件
(12)help
功能:獲取shell內(nèi)置命令的幫助信息
格式:#help? [內(nèi)置命令名]
實例:#help
????? #help?times
(13)man
功能:打開命令手冊文件
格式:#man? [命令名/文件名]
實例:#man? su
轉(zhuǎn)載于:https://blog.51cto.com/sswqzx/1971537
總結(jié)
以上是生活随笔為你收集整理的Linux用户管理(五)Linux系统的启动的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《Head First 设计模式》学习笔
- 下一篇: Linux中main是如何执行的