專利名稱:數(shù)字多媒體網(wǎng)絡(luò)終端應(yīng)用操作系統(tǒng)一種基于虛擬文件系統(tǒng)的操作系統(tǒng)保護(hù)方法
主要?jiǎng)?chuàng)新本發(fā)明的目的在于針對(duì)Linux操作系統(tǒng)的特點(diǎn),提供一種新的操作系統(tǒng)保護(hù)方法。
該方法在計(jì)算機(jī)正常運(yùn)行時(shí)就利用虛擬文件系統(tǒng)替代原有的操作系統(tǒng)進(jìn)行工作,從而達(dá)到隔離和保護(hù)原操作系統(tǒng)的目的。
為實(shí)現(xiàn)上述的發(fā)明目的,本發(fā)明采用下述的技術(shù)方案一種基于虛擬文件系統(tǒng)的操作系統(tǒng)保護(hù)方法,1.將操作系統(tǒng)劃分為根文件系統(tǒng)和用戶數(shù)據(jù)文件兩部分,分別存儲(chǔ)在不同的磁盤分區(qū)內(nèi),設(shè)置獨(dú)立的臨時(shí)分區(qū);2.在系統(tǒng)啟動(dòng)時(shí),通過虛擬鏈接的方式將根文件系統(tǒng)和用戶數(shù)據(jù)分別映射到臨時(shí)分區(qū)中,使得在臨時(shí)分區(qū)中形成完整的虛擬文件系統(tǒng);3.利用虛擬文件系統(tǒng)執(zhí)行計(jì)算機(jī)的所有操作;4.系統(tǒng)關(guān)閉時(shí)在臨時(shí)分區(qū)內(nèi)刪除所述虛擬文件系統(tǒng)。將計(jì)算機(jī)的全部磁盤按照功能意義劃分為彼此間分離獨(dú)立的分區(qū),將核心系統(tǒng)與用戶數(shù)據(jù)分離存儲(chǔ)在不同的磁盤分區(qū)中。
實(shí)現(xiàn)方法所述虛擬文件系統(tǒng)的創(chuàng)建過程包括如下的步驟1.新建高可用系統(tǒng)的根文件系統(tǒng);2.復(fù)制系統(tǒng)分區(qū)中的動(dòng)態(tài)鏈接支持庫和其它需要讀寫的文件;3.將高可用系統(tǒng)的根分區(qū)設(shè)置為核心的根分區(qū),同時(shí)將系統(tǒng)根分區(qū)只讀安裝到高可用系統(tǒng)的根分區(qū)的系統(tǒng)目錄中;4.在高可用分區(qū)中建立與系統(tǒng)分區(qū)目錄結(jié)構(gòu)相同的目錄結(jié)構(gòu);5.在高可用分區(qū)中制作系統(tǒng)分區(qū)中各種系統(tǒng)環(huán)境的符號(hào)鏈接;6.修改系統(tǒng)配置文件,禁止超級(jí)用戶登錄;7.修改安裝用戶數(shù)據(jù)分區(qū)的參數(shù),關(guān)閉延遲寫功能。
所述虛擬文件系統(tǒng)中,/bin分區(qū)與原操作系統(tǒng)中的對(duì)應(yīng)分區(qū)之間是鏈接關(guān)系;/etc分區(qū)與原操作系統(tǒng)中的對(duì)應(yīng)分區(qū)之間是復(fù)制關(guān)系;/boot分區(qū)與原操作系統(tǒng)中的對(duì)應(yīng)分區(qū)之間是鏈接關(guān)系;/dev分區(qū)與原操作系統(tǒng)中的對(duì)應(yīng)分區(qū)之間是復(fù)制關(guān)系;/lib分區(qū)與原操作系統(tǒng)中的對(duì)應(yīng)分區(qū)之間是鏈接和復(fù)制關(guān)系;/sbin分區(qū)與原操作系統(tǒng)中的對(duì)應(yīng)分區(qū)之間是鏈接關(guān)系;/usr分區(qū)與原操作系統(tǒng)中的對(duì)應(yīng)分區(qū)之間是鏈接關(guān)系,/var文件分區(qū)與原操作系統(tǒng)中的對(duì)應(yīng)分區(qū)之間是復(fù)制和新建的關(guān)系。
所述虛擬文件系統(tǒng)中,/mnt分區(qū)和/tmp分區(qū)是新建的,與原操作系統(tǒng)中的對(duì)應(yīng)分區(qū)之間沒有直接關(guān)系,/root分區(qū)無效。
所述操作系統(tǒng)為L(zhǎng)inux操作系統(tǒng)。一種計(jì)算機(jī)系統(tǒng),其特征在于所述計(jì)算機(jī)系統(tǒng)是采用上述的基于虛擬文件系統(tǒng)的操作系統(tǒng)保護(hù)方法的計(jì)算機(jī)系統(tǒng)。
創(chuàng)新特點(diǎn)
1.本發(fā)明所述的基于虛擬文件系統(tǒng)的操作系統(tǒng)保護(hù)方法通過虛擬鏈接的方式將核心系統(tǒng)和用戶數(shù)據(jù)分別映射到臨時(shí)分區(qū)中,使得在臨時(shí)分區(qū)中形成完整的虛擬系統(tǒng)供用戶使用,既保證系統(tǒng)在使用過程中的完整性,又實(shí)現(xiàn)了對(duì)核心系統(tǒng)和用戶數(shù)據(jù)的保護(hù)。
2.虛擬桌面環(huán)境受到破壞只影響臨時(shí)分區(qū)內(nèi)的虛擬文件系統(tǒng),而不會(huì)影響核心系統(tǒng)和用戶數(shù)據(jù)。
具體實(shí)施方式
與現(xiàn)有技術(shù)相比,本發(fā)明的一個(gè)顯著特點(diǎn)就在于該方法所建構(gòu)的虛擬操作系統(tǒng)在計(jì)算機(jī)正常運(yùn)行的過程中,就直接替代原有的操作系統(tǒng)發(fā)揮作用,而原有的操作系統(tǒng)則被保護(hù)在計(jì)算機(jī)硬盤中的特定分區(qū)內(nèi),處于只讀狀態(tài)。這樣,使用者對(duì)計(jì)算機(jī)的任何操作都不會(huì)對(duì)處于保護(hù)狀態(tài)的原有操作系統(tǒng)帶來任何影響,而一旦因?yàn)槭褂谜叩恼`操作導(dǎo)致正在使用的虛擬操作系統(tǒng)被破壞時(shí),處于保護(hù)狀態(tài)的原有操作系統(tǒng)就會(huì)依據(jù)自身所有的文件,重新生成新的虛擬操作系統(tǒng),使計(jì)算機(jī)恢復(fù)正常運(yùn)行。
3.從理論上分析,現(xiàn)有的各種操作系統(tǒng)如Windows、Unix、Linux等都適用于本發(fā)明所述的方法。但是,相比較而言,由于Windows的內(nèi)核不開放,各系統(tǒng)文件之間的關(guān)聯(lián)關(guān)系不是很清楚,因此在現(xiàn)有環(huán)境下,對(duì)Windows操作系統(tǒng)采用本發(fā)明所述的方法存在一定的難度。但是,對(duì)于Unix和Linux操作系統(tǒng)ziwenok@qq.com而言,特別是對(duì)于Linux操作系統(tǒng),由于其源代碼遵循GPL規(guī)范,是完全開放的。各系統(tǒng)文件之間的關(guān)聯(lián)關(guān)系也是很清楚的。因此,Linux操作系統(tǒng)特別適用于實(shí)現(xiàn)本發(fā)明。在下文中,就以Linux操作系統(tǒng)為例展開說明。但必須指出的是,本發(fā)明所述的方法并不只限于Linux操作系統(tǒng),對(duì)其他的操作系統(tǒng)都能同樣適用。
4.眾所周知,現(xiàn)有的操作系統(tǒng)是越來越大,如一個(gè)功能比較齊全的Linux操作系統(tǒng)所占的磁盤空間可以達(dá)到4G以上。本發(fā)明所述的虛擬文件系統(tǒng)在操作系統(tǒng)啟動(dòng)時(shí)自動(dòng)建立、關(guān)閉時(shí)自動(dòng)刪除。因此,在建構(gòu)虛擬文件系統(tǒng)的過程中,如果采用從原有操作系統(tǒng)中復(fù)制文件的思路,則啟動(dòng)虛擬文件系統(tǒng)的過程無異于安裝一個(gè)新的操作系統(tǒng),速度會(huì)很慢。為避免這一問題,本發(fā)明所提供的方法中,虛擬文件系統(tǒng)中的絕大多數(shù)文件都是采用與原有操作系統(tǒng)中文件建立鏈接的方式,僅有極少的文件需要復(fù)制和新建,文件總量不超過兒百K字節(jié)。因此,上述建構(gòu)虛擬文件系統(tǒng)的過程不會(huì)明顯延長(zhǎng)系統(tǒng)的啟動(dòng)時(shí)間。另外,上述核心系統(tǒng)與虛擬文件系統(tǒng)間的符號(hào)鏈接通訊方法既可以保證核心系統(tǒng)??虛擬文件系統(tǒng)之間的無縫連接,又可以通過虛擬文件系統(tǒng)將核心系統(tǒng)隔離在“保護(hù)層”之后,防止任何潛在威脅對(duì)核心系統(tǒng)的破壞性影響。
Linux舉例參見
圖1,該圖為一個(gè)典型的Linux系統(tǒng)的文件系統(tǒng)結(jié)構(gòu)示意圖。該文件系統(tǒng)是單一的文件系統(tǒng),存放系統(tǒng)中所有的目錄結(jié)構(gòu)。通過對(duì)該文件系統(tǒng)的研究,本發(fā)明人認(rèn)為,Linux的文件系統(tǒng)可以分為兩部分,即高可用根文件系統(tǒng)和應(yīng)受保護(hù)的系統(tǒng)文件分區(qū)。
參見圖2所示,高可用根文件系統(tǒng)包括如下內(nèi)容/bin/boot/dev/etc/home/lib/mnt/root/sbin/tmp/usr/var基本用戶命令系統(tǒng)引導(dǎo)程序用的靜態(tài)文件設(shè)備系統(tǒng)配置文件用戶數(shù)據(jù)和配置文件基本共享庫和核心模塊臨時(shí)文件系統(tǒng)如軟盤和光盤等的掛裝點(diǎn)超級(jí)用戶(系統(tǒng)管理員)的HOME目錄系統(tǒng)命令,用于系統(tǒng)啟動(dòng)、恢復(fù)或修復(fù)臨時(shí)文件,用戶文件,包括可共享和可只讀的數(shù)據(jù)包含可變數(shù)據(jù)文件,如管理信息、日志文件和臨時(shí)文件等而受保護(hù)的系統(tǒng)文件分區(qū)為/usr和/var文件分區(qū)。這兩個(gè)文件分區(qū)主要存儲(chǔ)具有高共用性的用戶數(shù)據(jù)。為了使上述文件系統(tǒng)得到妥善保護(hù),與現(xiàn)有具有極大隨意性的磁盤分區(qū)方法不同,本發(fā)明所述的方法中,磁盤分區(qū)遵循以功能性劃分的方法,即將計(jì)算機(jī)的全部磁盤按照“核心系統(tǒng)”、“用戶數(shù)據(jù)”、“臨時(shí)分區(qū)”等嚴(yán)格的功能意義劃分為彼此間分離獨(dú)立的分區(qū),以提高各類型數(shù)據(jù)的高安全性和利用效率。在目前的操作系統(tǒng)結(jié)構(gòu)下,數(shù)據(jù)是被分離存儲(chǔ)的,即用戶數(shù)據(jù)分別存儲(chǔ)在各軟件的子目錄下,并以實(shí)際鏈接的方式關(guān)聯(lián)起軟件和用戶數(shù)據(jù),該方法在當(dāng)軟件系統(tǒng)被破壞的情況時(shí),用戶數(shù)據(jù)也將被一同破壞。而采用核心系統(tǒng)與用戶數(shù)據(jù)分離存儲(chǔ)與整合應(yīng)用的方法,可以將用戶數(shù)據(jù)與核心系統(tǒng)分開存儲(chǔ)、并集中管理,當(dāng)核心系統(tǒng)進(jìn)行更新時(shí)不必?fù)?dān)心用戶數(shù)據(jù)被破壞或無法繼續(xù)使用。按照上述磁盤功能分區(qū)和數(shù)據(jù)分離存儲(chǔ)的方法,可以對(duì)不同磁盤分區(qū)內(nèi)的數(shù)據(jù)采用不同的保護(hù)措施,如設(shè)定“核心系統(tǒng)”分區(qū)只讀等。而對(duì)于“臨時(shí)分區(qū)”,則在其中建立一個(gè)包含核心系統(tǒng)鏡像與用戶數(shù)據(jù)映射二者在內(nèi)的、臨時(shí)性的虛擬文件系統(tǒng),用戶的操作對(duì)象是虛擬文件系統(tǒng)、操作結(jié)果也將在用戶確認(rèn)完成全部操作后再寫回“用戶數(shù)據(jù)”分區(qū),虛擬文件系統(tǒng)在操作系統(tǒng)啟動(dòng)時(shí)自動(dòng)建立、關(guān)閉時(shí)自動(dòng)刪除,而計(jì)算機(jī)病毒或用戶誤操作對(duì)虛擬文件系統(tǒng)造成的破壞不會(huì)對(duì)核心系統(tǒng)和用戶數(shù)據(jù)造成任何影響。
如圖3所示,本發(fā)明所建構(gòu)的虛擬文件系統(tǒng)主要包括兩部分,一部分是高可用根文件系統(tǒng),另一部分是高可用用戶數(shù)據(jù)分區(qū)。其中虛擬文件系統(tǒng)中的高可用根文件系統(tǒng)是以圖2中所示的高可用根文件系統(tǒng)為基礎(chǔ)進(jìn)行增減的,而高可用用戶數(shù)據(jù)分區(qū)即原有的/home文件分區(qū)。
上述虛擬文件系統(tǒng)的創(chuàng)建過程如圖4所示,包括如下的步驟1.新建高可用系統(tǒng)的根文件系統(tǒng);2.復(fù)制系統(tǒng)分區(qū)中的動(dòng)態(tài)鏈接支持庫和其它需要讀寫的文件;3.將高可用系統(tǒng)的根分區(qū)設(shè)置為核心的根分區(qū),同時(shí)將系統(tǒng)根分區(qū)只讀安裝到高可用系統(tǒng)的根分區(qū)的系統(tǒng)目?賈校?4.在高可用分區(qū)中建立與系統(tǒng)分區(qū)目錄結(jié)構(gòu)相同的目錄結(jié)構(gòu);5.在高可用分區(qū)中制作系統(tǒng)分區(qū)中各種系統(tǒng)環(huán)境的符號(hào)鏈接;6.修改系統(tǒng)配置文件,禁止超級(jí)用戶登錄;7.修改安裝用戶數(shù)據(jù)分區(qū)的參數(shù),關(guān)閉延遲寫功能。
通過上述步驟,建構(gòu)的虛擬文件系統(tǒng)中的高可用根文件系統(tǒng)包括/bin分區(qū),它與受保護(hù)的原操作系統(tǒng)中的對(duì)應(yīng)分區(qū)之間是鏈接關(guān)系;/etc分區(qū),它與受保護(hù)的原操作系統(tǒng)中的對(duì)應(yīng)分區(qū)之間是復(fù)制關(guān)系;/boot分區(qū),它與受保護(hù)的原操作系統(tǒng)中的對(duì)應(yīng)分區(qū)之間是鏈接關(guān)系;/dev分區(qū),它與受保護(hù)的原操作系統(tǒng)中的對(duì)應(yīng)分區(qū)之間是復(fù)制關(guān)系;/lib分區(qū),它與受保護(hù)的原操作系統(tǒng)中的對(duì)應(yīng)分區(qū)之間是鏈接和復(fù)制關(guān)系;/sbin分區(qū),它與受保護(hù)的原操作系統(tǒng)中的對(duì)應(yīng)分區(qū)之間是鏈接關(guān)系;/usr分區(qū)與原操作系統(tǒng)中的對(duì)應(yīng)分區(qū)之間是鏈接關(guān)系,/var文件分區(qū)與原操作系統(tǒng)中的對(duì)應(yīng)分區(qū)之間是復(fù)制和新建的關(guān)系;而/mnt分區(qū)和/tmp分區(qū)則是新建的,與原操作系統(tǒng)中的對(duì)應(yīng)分區(qū)之間沒有直接關(guān)系,/root分區(qū)則是無效的。另外,由于不同用戶的/home文件分區(qū)是不同的。因此,通過上述步驟,可以使不同權(quán)限級(jí)別的用戶將在初始階段即獨(dú)立的進(jìn)行各自不同的系統(tǒng)配置過程,從而有效的將不同權(quán)限的系統(tǒng)引導(dǎo)分隔開,而且在普通用戶的引導(dǎo)模式下也無法改變用戶狀態(tài)或獲得超級(jí)用戶權(quán)限。
操作方法如圖5所示,一個(gè)采用了本發(fā)明所述操作系統(tǒng)保護(hù)方法的計(jì)算機(jī)的啟動(dòng)過程是這樣的
1.系統(tǒng)加電自檢后BIOS加載系統(tǒng)引導(dǎo)程序;2.系統(tǒng)引導(dǎo)程序提示用戶選擇不同的系統(tǒng)參數(shù),即選擇是否進(jìn)入保護(hù)模式;3.如果進(jìn)入,則核心參數(shù)中設(shè)置HAroot=XXX,否則在核心參數(shù)中不設(shè)置HAroot參數(shù);4.引導(dǎo)程序加載操作系統(tǒng)核心;5.核心初始化,啟動(dòng)init進(jìn)程;6.init進(jìn)程根據(jù)/etc/inittab中的sysinit配置啟動(dòng)/etc/rc.d/rc.ha;7.檢查核心參數(shù)中是否設(shè)置HAroot參數(shù);8.如果是,則按照?qǐng)D4所示的步驟創(chuàng)建虛擬文件系統(tǒng),如果否,則跳過這一步驟;9.啟動(dòng)系統(tǒng)初始化腳本/etc/rc.d/rc.sysinit;10.系統(tǒng)啟動(dòng)成功,進(jìn)入工作狀態(tài)。
權(quán)利要求
1.將操作系統(tǒng)劃分為根文件系統(tǒng)和用戶數(shù)據(jù)文件兩部分,分別存儲(chǔ)在不同的磁盤分區(qū)內(nèi),設(shè)置獨(dú)立的臨時(shí)分區(qū);實(shí)現(xiàn)了對(duì)核心系統(tǒng)和用戶數(shù)據(jù)的保護(hù)。
2.在系統(tǒng)啟動(dòng)時(shí),通過虛擬鏈接的方式將根文件系統(tǒng)和用戶數(shù)據(jù)分別映射到臨時(shí)分區(qū)中,使得在臨時(shí)分區(qū)中形成完整的虛擬文件系統(tǒng);
3.利用虛擬文件系統(tǒng)執(zhí)行計(jì)算機(jī)的所有操作;
4.系統(tǒng)關(guān)閉時(shí)在臨時(shí)分區(qū)內(nèi)刪除所述虛擬文件系統(tǒng)。將計(jì)算機(jī)的全部磁盤按照功能意義劃分為彼此間分離獨(dú)立的分區(qū),將核心系統(tǒng)與用戶數(shù)據(jù)分離存儲(chǔ)在不同的磁盤分區(qū)中。
5 兼容現(xiàn)有的各種操作系統(tǒng)如Windows、Unix、Linux等。
全文摘要
本發(fā)明的目的在于針對(duì)Linux操作系統(tǒng)的特點(diǎn),提供一種新的操作系統(tǒng)保護(hù)方法。該方法在計(jì)算機(jī)正常運(yùn)行時(shí)就利用虛擬文件系統(tǒng)替代原有的操作系統(tǒng)進(jìn)行工作,從而達(dá)到隔離和保護(hù)原操作系統(tǒng)的目的。將操作系統(tǒng)劃分為根文件系統(tǒng)和用戶數(shù)據(jù)文件兩部分,分別存儲(chǔ)在不同的磁盤分區(qū)內(nèi),設(shè)置獨(dú)立的臨時(shí)分區(qū);實(shí)現(xiàn)了對(duì)核心系統(tǒng)和用戶數(shù)據(jù)的保護(hù)。兼容現(xiàn)有的各種操作系統(tǒng)如Windows、Unix、Linux等。
文檔編號(hào)G06F9/445GK1952902SQ20051010945
公開日2007年4月25日 申請(qǐng)日期2005年10月21日 優(yōu)先權(quán)日2005年10月21日
發(fā)明者俞正南 申請(qǐng)人:上海普寶網(wǎng)絡(luò)科技有限公司