config-2.6.18-164.el5
grub
initrd-2.6.18-164.el5.img
symvers-2.6.18-164.el5.gz
System.map-2.6.18-164.el5
vmlinuz-2.6.18-164.el5
1. 先入放入光盤,從CD-ROM啟動(dòng)Linux,進(jìn)入Linux急救模式
boot: linux rescue
2. 掛載光盤, 安裝被刪文件所需要的rpm包 mount /dev/hdc /mnt/source
rpm -ivh --root=/mnt/sysimage /mnt/source/Server/kernel-xxx.rpm --force 3. 安裝grub,手工編寫grub配置文件 chroot /mnt/sysimage #更改root目錄grub-install /dev/sda #安裝grub
vim /boot/grub/grub.conf
default=0 #默認(rèn)加載第幾個(gè)系統(tǒng),從0起算
timeout=5 #啟動(dòng)時(shí)停留在Grub配置界面中的時(shí)間
splashimage=(hd0,0)/grub/splash.xpm.gz #Grub的背景圖片
hiddenmenu #是否隱藏菜單
title Red Hat Enterprise Linux Server (2.6.18-8.el5) #操作系統(tǒng)的標(biāo)題
root (hd0,0) #操作系統(tǒng)的引導(dǎo)分區(qū)
kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/ rhgb quiet #設(shè)置加載的內(nèi)核
initrd /initrd-2.6.18-164.el5.img4 #設(shè)置加載必要的驅(qū)動(dòng)(內(nèi)存磁盤文件) 4. 退出,重啟 exit
sync
reboot default - 默認(rèn)引導(dǎo)的菜單條目。
timeout - 自動(dòng)選擇默認(rèn)引導(dǎo)前菜單顯示的時(shí)間。本例中,如果用戶沒有在 5 秒之內(nèi)選擇操作系統(tǒng),則會(huì)默認(rèn)引導(dǎo)第一個(gè)條目 (即default 0)
splashimage - 指定 GRUB 引導(dǎo)菜單的界面風(fēng)格。(hd0,0)/grub/splash.xpm.gz,是指在第一塊硬盤的第一個(gè)分區(qū)(hd0,0) 中,使用 grub 目錄下的 splash.xpm.gz 文件作為界面風(fēng)格。一般來講,無需更改這個(gè)配置
hiddenmenu - 隱藏 GRUB 引導(dǎo)菜單。如果不想在啟動(dòng)時(shí)顯示 GRUB 引導(dǎo)菜單,則刪除此條目。
title - 引導(dǎo)條目的名稱。通常使用操作系統(tǒng)的名稱做為標(biāo)識(shí),你可以自行更改這個(gè)名稱,例如使用 "Fedora 12", "Fedora", 或者是 "MyLinux" 都可以。這個(gè)標(biāo)題將顯示在 GRUB 引導(dǎo)菜單中。
root - 操作系統(tǒng)內(nèi)核和引導(dǎo)文件所在的磁盤分區(qū)。(hd0,0) 表示第一塊硬盤的第一個(gè)分區(qū),(hd0,2) 表示第一塊硬盤的第3個(gè)分區(qū),依次類推。 (0開始算起),這里面的root不是root用戶,就是代表/
kernel - 系統(tǒng)內(nèi)核及 boot 命令用到的參數(shù)。
initrd - 系統(tǒng)引導(dǎo)程序
boot分區(qū)是不是可以被umount的掉
我如果不刪除/boot分區(qū)里面的重要的文件的話,直接umount /boot分區(qū)的話,重啟會(huì)不會(huì)導(dǎo)致系統(tǒng)啟動(dòng)不了呢?
答案是不會(huì)。
我們可以到Linux下的/etc/fstab命令來查看Linux啟動(dòng)時(shí)的掛載情況及順序
可以看到上面,已經(jīng)定義了在啟動(dòng)時(shí)默認(rèn)到/boot目錄下去尋找啟動(dòng)文件,所以即便我們把boot分區(qū)umount掉了,重啟后還是能夠正常進(jìn)入的。它是靠什么自動(dòng)加載的呢?其實(shí)fstab 文件中的 defaults 就包含了 "auto" 功能,除非明確指定 noauto ,否則開機(jī)都會(huì)自動(dòng)掛載。
簡(jiǎn)單的對(duì)etc/fstab做個(gè)介紹
/etc/fstab是用來存放文件系統(tǒng)的靜態(tài)信息的文件。當(dāng)系統(tǒng)啟動(dòng)的時(shí)候,系統(tǒng)會(huì)自動(dòng)地從這個(gè)文件讀取信息,并且會(huì)自動(dòng)將此文件中指定的文件系統(tǒng)掛載到指定的目錄。下面我來介紹如何在此文件下填寫信息。
我們要關(guān)注的是它的六個(gè)域,分別為:<file system>、<mount point>、<type> 、<options>、<dump>、<pass>。
1、<fiesysytem>。這里用來指定你要掛載的文件系統(tǒng)的設(shè)備名稱或塊信息,也可以是遠(yuǎn)程的文件系統(tǒng)。做過嵌入式linux開發(fā)的朋友都可能知道m(xù)ount192.168.1.56:/home/nfs /mnt/nfs/ -o nolock(可以是其他IP)命令所代表的意義。它的任務(wù)是把IP為192.168.1.56的遠(yuǎn)程主機(jī)上的/home/nfs/目錄掛載到本機(jī)的/mnt/nfs/目錄之下。如果要把它寫進(jìn)/etc/fstab文件中,file system這部分應(yīng)填寫為:/192.168.1.56:/home/nfs/。
如果想把本機(jī)上的某個(gè)設(shè)備(device)掛載上來,寫法如:/dev/sda1、/dev/hda2或/dev/cdrom,其中,/dev/sda1表示第一個(gè)串口硬盤的第一個(gè)分區(qū),也可以是第一個(gè)SCSI硬盤的第一個(gè)分區(qū),/dev/hda1表示第一個(gè)IDE硬盤的第一個(gè)分區(qū),/dev/cdrom表示光驅(qū)。
此外,還可以label(卷標(biāo))或UUID(Universally UniqueIdentifier全局唯一標(biāo)識(shí)符)來表示。用label表示之前,先要e2label創(chuàng)建卷標(biāo),如:e2label /dir_1/dir_2,其意思是說用/dir_2來表示/dir_1的名稱。然后,再在/etc/fstab下添加:LABEL=/dir_2 /dir_2<type> <options> <dump><pass>。重啟后,系統(tǒng)就會(huì)將/dir_1掛載到/dir_2目錄上。對(duì)于UUID,可以用vol_id -u/dev/sdax來獲取。比如我想掛載第一塊硬盤的第一個(gè)分區(qū),先用命令vol_id -u /dev/sda11來取得UUID,比如是:5dc08a62-3472-471b-9ef5-0a91e5e2c126,然后在<filesystem>這個(gè)域上填寫:UUID=5dc08a62-3472-471b-9ef5-0a91e5e2c126,即可表示/dev/sda11。Red Hat linux一般會(huì)使用label,而Ubuntu linux 一般會(huì)用UUID。
2、<mountpoint>。掛載點(diǎn),也就是自己找一個(gè)或創(chuàng)建一個(gè)dir(目錄),然后把文件系統(tǒng)<fiesysytem>掛到這個(gè)目錄上,然后就可以從這個(gè)目錄中訪問要掛載文件系統(tǒng)。對(duì)于swap分區(qū),這個(gè)域應(yīng)該填寫:none,表示沒有掛載點(diǎn)。
3、<type>。這里用來指定文件系統(tǒng)的類型。下面的文件系統(tǒng)都是目前Linux所能支持的:adfs、befs、cifs、ext3、ext2、ext、iso9660、kafs、minix、msdos、vfat、umsdos、proc、reiserfs、swap、squashfs、nfs、hpfs、ncpfs、ntfs、affs、ufs。
4、<options>。這里用來填寫設(shè)置選項(xiàng),各個(gè)選項(xiàng)用逗號(hào)隔開。由于選項(xiàng)非常多,而這里篇幅有限,所以不再作詳細(xì)介紹,如需了解,請(qǐng)用命令 man mount來查看。但在這里有個(gè)非常重要的關(guān)鍵字需要了解一下:defaults,它代表包含了選項(xiàng)rw,suid,dev,exec,auto,nouser和async。
5、<dump>。此處為1的話,表示要將整個(gè)<fie sysytem>里的內(nèi)容備份;為0的話,表示不備份?,F(xiàn)在很少用到dump這個(gè)工具,在這里一般選0。
6、<pass>。這里用來指定如何使用fsck來檢查硬盤。如果這里填0,則不檢查;掛載點(diǎn)為 /的(即根分區(qū)),必須在這里填寫1,其他的都不能填寫1。如果有分區(qū)填寫大于1的話,則在檢查完根分區(qū)后,接著按填寫的數(shù)字從小到大依次檢查下去。同數(shù)字的同時(shí)檢查。比如第一和第二個(gè)分區(qū)填寫2,第三和第四個(gè)分區(qū)填寫3,則系統(tǒng)在檢查完根分區(qū)后,接著同時(shí)檢查第一和第二個(gè)分區(qū),然后再同時(shí)檢查第三和第四個(gè)分區(qū)。
GRUB加密分為兩種。
1、全局加密
2、局部加密
全局加密:
功能:鎖定啟動(dòng)界面,禁止了
e to edit the commands before booting
a to modify the kernel arguments before booting
c for a command-line
然后我們看看全局加密碼后的效果。需要按P,輸入全局密碼才可以編輯查看commands.這樣就可以保護(hù)我們的局部密碼了。不輸入全局密碼可以直接回車開始啟動(dòng)系統(tǒng),如果你還有局部密碼,就需要輸入局部密碼。
局部加密:相對(duì)與某個(gè)特定的系統(tǒng)來進(jìn)行控制
功能:用戶必須輸入密碼才能進(jìn)入系統(tǒng)。 例:(你的電腦是雙系統(tǒng),如果你只給一個(gè)加密的話,那么啟動(dòng)另一個(gè)就不需要密碼)
下面我們來看看怎么實(shí)現(xiàn)這些功能
先說局部加密:
由于每個(gè)系統(tǒng)都是由title 來標(biāo)志的,所以我們局部加密就是在這個(gè)標(biāo)志后加入相應(yīng)的語句。
加密分兩種
1、明文
2、MD5加密。
具體方法如下圖
上面就是對(duì)grub進(jìn)行的密文加密,明文加密,就是在password后面"空格+密碼"就OK,
[root@localhost ~]# grub-md5-crypt
Password:
Retype password:
$1$J7NPh/$77Q7IpLMzwetf2.adDQcN.
可以通過grub-md5-crypt來計(jì)計(jì)算MD5值,上面的MD5的值是"123456",直接拷貝到/boot/grub.grub.conf中就可以了。然后就保存退出,從新啟動(dòng)就需要你輸入密碼才能進(jìn)入系統(tǒng)。但是我們可以在啟動(dòng)畫面用e鍵編輯進(jìn)入command模式就可以查看密碼。我們需要怎么杜絕這種事情發(fā)生呢?那就需要全局加密,不讓其他人具有編輯的權(quán)限。
全局加密:
如上,生成一個(gè)MD5密碼。然后進(jìn)入/boot/grub/grub.conf (明文,直接填加明文);在第一個(gè)title標(biāo)志前面加如我們的密碼,如圖,timeout5后面就是我們對(duì)全局的加密。
這樣其他人需要全局密碼才能查看局部密碼。