新聞中心
Linux是一種開(kāi)源且自由的操作系統(tǒng),在日常使用中可能會(huì)遇到一些權(quán)限限制的問(wèn)題。對(duì)于一些用戶來(lái)說(shuō),他們想要既使用root權(quán)限,又不想被拒絕操作,因此他們需要規(guī)避Linux中的權(quán)限限制。在本篇文章中,我們將看到如何規(guī)避權(quán)限限制。

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的邵武網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
1.使用su命令
su命令可以讓一個(gè)普通用戶臨時(shí)切換到超級(jí)用戶模式,進(jìn)而執(zhí)行需要超級(jí)用戶權(quán)限的任務(wù)。在執(zhí)行su命令時(shí),請(qǐng)輸入常規(guī)用戶的密碼 。一旦你被認(rèn)證為常規(guī)用戶,你就可以使用超級(jí)用戶權(quán)限執(zhí)行命令。
舉例來(lái)說(shuō),如果你想要編輯/etc/passwd文件,你可以在終端中鍵入su -,此時(shí)你的普通用戶將會(huì)升級(jí)為root用戶。然后,你就可以編輯/etc/passwd文件,并在操作完成后通過(guò)輸入exit命令來(lái)回退到普通用戶模式。請(qǐng)注意,使用su命令可能會(huì)危險(xiǎn),因?yàn)槿绻阍诔?jí)用戶模式下執(zhí)行錯(cuò)誤的操作時(shí),可能會(huì)造成系統(tǒng)損壞。
2.使用sudo命令
sudo命令可以讓系統(tǒng)管理員授權(quán)其他用戶對(duì)超級(jí)用戶權(quán)限進(jìn)行限制使用。在執(zhí)行sudo命令時(shí),你需要輸入常規(guī)用戶的密碼,這樣可以確保只有授權(quán)的用戶才能訪問(wèn)超級(jí)用戶權(quán)限。
舉例來(lái)說(shuō),如果你想要添加新用戶,請(qǐng)鍵入sudo useradd 新用戶名,輸入常規(guī)用戶密碼并繼續(xù)完成相關(guān)操作。請(qǐng)注意,在使用sudo命令時(shí),出現(xiàn)錯(cuò)誤的情況少之又少。
3.更改文件權(quán)限
如果你需要在Linux中訪問(wèn)某些需要超級(jí)用戶權(quán)限才能使用的文件,可以更改訪問(wèn)這些文件的用戶和組權(quán)限。這個(gè)方法可以讓你在不需要超級(jí)用戶權(quán)限的情況下訪問(wèn)和編輯這些文件。
舉個(gè)例子,假設(shè)你擁有一個(gè)只有root用戶可以訪問(wèn)的文件夾。你可以通過(guò)先在root用戶下更改該文件夾的權(quán)限為777,這樣普通用戶就可以在不需要超級(jí)用戶權(quán)限的情況下訪問(wèn)該文件夾。如果你想要再次設(shè)置文件夾為只讀,可以使用chown命令將權(quán)限改回到root用戶。
在Linux中,規(guī)避權(quán)限限制有不少方法,以上三個(gè)方法不是唯一的并且也不是確定可行的方法。在決定采用某個(gè)方法時(shí),請(qǐng)您確保您對(duì)于該方法的基本概念和使用方法都比較了解,這樣您就可以更安全、穩(wěn)定、和高效地使用Linux系統(tǒng)。
相關(guān)問(wèn)題拓展閱讀:
- linux內(nèi)核認(rèn)識(shí)sata磁盤(pán)?
- 操作系統(tǒng)中的一些概念問(wèn)題
- Sniffer是什么?怎么用?
linux內(nèi)核認(rèn)識(shí)sata磁盤(pán)?
這是來(lái)自 IBM developerworks 的一個(gè)非常好的文章可以清楚地解釋如何啟動(dòng)火線和USB設(shè)備 Linux操作系統(tǒng)的原理。
希望它在對(duì)任何有興趣把Linux操作系統(tǒng)安裝到外部設(shè)備的人有所幫助。
原始的網(wǎng)址
從火線設(shè)備上啟動(dòng)Linux
可移動(dòng)驅(qū)動(dòng)器上安裝Linux操作系統(tǒng)
難度等級(jí):中等
Martyn Honeyford() IBM英國(guó)實(shí)驗(yàn)室 軟件工程師
宣可達(dá)()翻譯 webzi@linuxsir
2023年7月15日
2023年7月26日開(kāi)始翻譯,7月28日完成。
翻譯經(jīng)驗(yàn)不多。如有不妥,歡迎EMAIL交流。
使用一個(gè)外部驅(qū)動(dòng)器是一個(gè)極棒的方法,能給你的老硬件帶來(lái)新生和讓你在你不能(或者不想)改變內(nèi)置硬盤(pán)的計(jì)算機(jī)上使用Linux系統(tǒng)。
假設(shè)你想使用Linux在一個(gè)雙啟動(dòng)環(huán)境,但是你的計(jì)算機(jī)硬盤(pán)又沒(méi)有任何空余的空間。一種解決方法是使用”live”的linux發(fā)行版本象是Knoppix,他們這能直接從CD啟動(dòng)運(yùn)行。 對(duì)于偶爾使用,這是一種可行的辦法,但是它有若干的劣勢(shì):
*你將會(huì)仍然需要些固定文件存儲(chǔ)。如果你只是操作少量的文件,一張1.44MB的磁盤(pán)就可以勝任,或者一個(gè)USB閃存棒適合中等量的文件,但是這些都不夠理想。
*當(dāng)使用一個(gè)LiveCD 的時(shí)候,最困難、最糟糕、最不可能的是安裝你自己的應(yīng)用程序或者定制現(xiàn)存的程序。
*使用LiveCD在性能上的犧牲,在啟動(dòng)初所有的設(shè)備檢測(cè)時(shí)尤為明顯,同樣發(fā)生使用中(所有的文件從 CD 載入通常是比從硬盤(pán)中載入慢的多)。
的確,還有其他可選方案。舉例來(lái)說(shuō),你可以買(mǎi)額外的內(nèi)置驅(qū)動(dòng)器并且在此安裝Linux操作系統(tǒng)。但是常常,你可能沒(méi)有任何空閑的擴(kuò)展阜。(這特別容易發(fā)生在筆記本上,通常他們只允許一個(gè)內(nèi)置硬盤(pán)。)
或者,你可以使用一個(gè)較大的硬盤(pán)取代當(dāng)前的硬盤(pán), 獲得額外空間用于安裝 Linux操作系統(tǒng)。 然而,這的確是一個(gè)耗費(fèi)大量時(shí)間的方案,需要你重新安裝現(xiàn)有的操作系統(tǒng)在新的硬盤(pán), 重新安裝和配置你所有應(yīng)用程序, 和恢復(fù)所有數(shù)據(jù)。
更好的解決方案是購(gòu)買(mǎi)一個(gè)外置硬盤(pán)并安裝 Linux操作系統(tǒng)。 這卜搜樣使得你在想使用Linux系統(tǒng)時(shí)候不必涉及現(xiàn)有的硬件和軟件而只是簡(jiǎn)單連接外部驅(qū)動(dòng)器。
可選的可移動(dòng)設(shè)備
可用于安裝Linux操作系統(tǒng)設(shè)備涵蓋磁盤(pán)驅(qū)動(dòng)器、USB-閃存設(shè)備、通過(guò)USB/火線連接的硬盤(pán)等等。
在一個(gè)小容量的設(shè)備中安裝linux是可行的,例如在一個(gè)1.44MB的磁盤(pán)或者一個(gè)32MB的USB棒中,他們通常(必須)為特定目的定制,采用裁減的發(fā)行版本,例如,拯救中斷的安裝過(guò)程。
外置的硬盤(pán)在為使用一個(gè)常規(guī)目的的linux系統(tǒng)提供更大的靈活性同時(shí),帶來(lái)一個(gè)合理的成本。
許多不同的廠商提供許棚山多種不同容量的外置的驅(qū)動(dòng)器。 (Maxtor, 西西部數(shù)據(jù), 等等)。這些驅(qū)動(dòng)器還會(huì)包含一個(gè)外置盒子,用于鏈弊中固定標(biāo)準(zhǔn)的 3-1/2 寸或 2-1/2 寸 IDE 硬盤(pán)。 然后這些驅(qū)動(dòng)器經(jīng)由 USB 或 IEEE1394(火線) 連接到計(jì)算機(jī)。
USB 受到在二個(gè)主要的版本中的影響,1.1 和 2.0. 1.1 版速度為12 Mbit/ s(每秒1Mbit) ,而 2.0 版支持更高達(dá)到 480 Mbit/s 的傳輸速度。 大多數(shù)2.0相容的驅(qū)動(dòng)器也向后兼容1.1,通常建議盡量不要采用1.1接口除非沒(méi)有其他的選擇(因?yàn)槠涞退俨贿m應(yīng)此環(huán)境。)
火線標(biāo)準(zhǔn)也定義若干不同的速度, 實(shí)際上,大部分人所指的FireWire ,是“FireWire400”標(biāo)準(zhǔn) ,支持更大傳輸速度為 400 Mbit/s 。
USB2.0和火線在速度上不分伯仲: 雖然 USB 2.0 有比較高的傳輸速度, 但是實(shí)際中因?yàn)閰f(xié)議的不同兩者速度十分的接近。 如果你的計(jì)算機(jī)擁有2種接口, 更好使用USB而非火線(理由我將后將解釋), 但是如果只有火線接口,當(dāng)然你就選擇它了。為了實(shí)現(xiàn)更大的靈活性, 可以選擇眾多同時(shí)支持 USB 2.0 和火線的驅(qū)動(dòng)器中的一種。(像我稍后將在這一個(gè)文章中使用的那個(gè)一樣。)
對(duì)于那些沒(méi)有必須的接口, PCI(對(duì)于桌面) 和 PCMCIA(對(duì)于筆記本型電腦) ,現(xiàn)在火線和USB 2.0擴(kuò)展卡也并非貴不可及: 舉例來(lái)說(shuō), 我稍后將在文章中提及PCMCIA火線擴(kuò)展卡大約為10英鎊.($20 美元以下)
為了達(dá)到本文的目的,我已經(jīng)購(gòu)買(mǎi) 5-1/4寸外置驅(qū)動(dòng)器的硬盤(pán)盒。 這是一件非常靈活的硬盤(pán)盒,并沒(méi)提供驅(qū)動(dòng)器而且能固定任何的標(biāo)準(zhǔn) IDE 設(shè)備,包括 3-1/2 寸驅(qū)動(dòng)器和像CD-RW/DVD-RW等5-1/4 寸 IDE 設(shè)備 。硬盤(pán)盒兼有 USB 2.0 和火線接口。
為了把硬盤(pán)盒連接到我的IBM Thinkpad T30筆記本電腦,我也購(gòu)買(mǎi)了一個(gè) PCMCIA 火線轉(zhuǎn)接卡。 ( 因?yàn)閮?nèi)置的USB 接口只支持USB 1.1)
硬盤(pán)盒和火線轉(zhuǎn)接卡相對(duì)比較便宜。 (大約分別為50英鎊和10英鎊。)
測(cè)試期間, 我把一個(gè)手邊閑置的13 GB 3-1/2 寸 IDE 硬盤(pán)放進(jìn)硬盤(pán)盒——對(duì)于真實(shí)情況,我會(huì)買(mǎi)一個(gè)較大的容量驅(qū)動(dòng)器, 現(xiàn)在另購(gòu)一個(gè)硬盤(pán)相當(dāng)?shù)土? 大約每個(gè)50英鎊!)
Linux 支持
正如你所期待,linux對(duì)這些硬盤(pán)盒支持的確非常好。任何遵從SBP(串行總線協(xié)議)標(biāo)準(zhǔn)的大儲(chǔ)存設(shè)備在linux中使用非常簡(jiǎn)單。
大體上, 使對(duì)這些裝置的支持你能夠?qū)?huì)需要在你的核心中支持某些選項(xiàng)( 或直接地編譯或通過(guò)模塊。)
對(duì)于USB和火線,SBP 裝置通過(guò)SCSI模擬來(lái)實(shí)現(xiàn)– 也就是說(shuō),Linux會(huì)把他們當(dāng)作SCSI硬盤(pán)來(lái)處理 。 這是在 Linux 世界里面使用存儲(chǔ)設(shè)備的一個(gè)常規(guī)方法。 ( 舉例來(lái)說(shuō), IDE CD/DVD設(shè)備通常通過(guò)SCSI模擬來(lái)連接)。基于以上原因,下列的選項(xiàng)需要被內(nèi)核支持:
* SCSI support
* SCSI emulation
* SCSI disk support
除此之外,不同連接方式需要一下的內(nèi)核支持:
* 針對(duì)火線:
* IEEE1394 support
* OHCI1394 support
* RAW1394 support
* SBP-2 support
* 針對(duì)USB:
*(host-side) USB support
* OHCI support
* UHCI support
* USB mass-storage support
明顯地,你還必須為其他的硬件 ( 如顯卡等等)編譯常規(guī)的支持, 而且可能需要一些額外的模塊,取決你的具體硬件。
舉例來(lái)說(shuō),我正在使用 PCMCIA(cardbus) 火線轉(zhuǎn)接卡,因此,我還需要增加:
* PCMCIA support
* cardbus support
安裝
現(xiàn)在我們有很完美外置驅(qū)動(dòng)器,我們將開(kāi)始安裝在其安裝Linux美妙之旅。
目前最簡(jiǎn)單的安裝linux方法(當(dāng)然僅個(gè)人意見(jiàn)) , 是連接你的所有硬件;(我的情況是,插入火線轉(zhuǎn)接卡,連上轉(zhuǎn)接線盒驅(qū)動(dòng)器,然后打開(kāi)驅(qū)動(dòng)器的電源) 然后從你選擇的發(fā)行版安裝CD上啟動(dòng)你的計(jì)算機(jī)。
我采用的發(fā)行版是Gentoo(資源詳見(jiàn)鏈接),因此,我用了最新的 “通用”x86 LiveCD。 (2023.1) 其他的發(fā)行版本必須的步驟大致和此相似。
一旦你使用安裝CD啟動(dòng),要藉由一點(diǎn)運(yùn)氣讓他要辨認(rèn)出你的驅(qū)動(dòng)器。 磁盤(pán)應(yīng)該出現(xiàn)在/dev/sdX, X 是一個(gè)小寫(xiě)字母從“a”開(kāi)始。 在我的系統(tǒng)上,外置硬盤(pán)被當(dāng)做 /dev/sda, 但是如果你有其他的 SCSI硬盤(pán),這數(shù)字將會(huì)改變;( 或模擬了SCSI硬盤(pán)) 那種情況下,它可能是 /dev/sdb 或一些其他的字母。 如果你的驅(qū)動(dòng)器不能被自動(dòng)檢測(cè)到, 就需要進(jìn)一步采取措施 — 舉例來(lái)說(shuō),你可能必須打開(kāi)啟動(dòng)選項(xiàng)使用火線或者PCMCIA接口, 或你可能必須手動(dòng)裝載一些內(nèi)核模塊 , 或其他一類選項(xiàng)。 (資源詳見(jiàn)故障發(fā)現(xiàn)與維修指導(dǎo)鏈接)
一旦驅(qū)動(dòng)器被辨認(rèn)出來(lái),安裝過(guò)程種其運(yùn)作起來(lái)就像一個(gè)內(nèi)置的硬盤(pán)。然后就你可以對(duì)其分區(qū)并且用常規(guī)方法安裝linux。
有一句話我著重要提醒,小心選擇何處安oot loader(通常是GRUB和LILO)--我建議不要裝到主引導(dǎo)記錄(MBR)中( 通常是默認(rèn)值) 而是裝到外置驅(qū)動(dòng)器的根分區(qū) ( 或/boot分區(qū),如果你單獨(dú)分了一個(gè)話)。
既然我們已經(jīng)安裝 Linux 在這個(gè)設(shè)備上,我們想要從上面啟動(dòng)它。 事情到此開(kāi)始變的有點(diǎn)復(fù)雜了。
啟動(dòng)
在我前討論在如何的新驅(qū)動(dòng)器上面啟動(dòng),我要講解一些boot loader的小知識(shí)。
boot loader程序通常安裝在計(jì)算機(jī)的之一個(gè)硬盤(pán)的MBR上。 當(dāng)boot loader被調(diào)用 (BIOS自動(dòng)地運(yùn)行MBR里的代碼),它通常顯示一份可啟動(dòng)操作系統(tǒng)的菜單。以便選擇一個(gè)給定的操作系統(tǒng)啟動(dòng)計(jì)算機(jī)。
兩件細(xì)節(jié)在這個(gè)章節(jié)中應(yīng)該注意:
* 操作系統(tǒng)選擇菜單(通常)從磁盤(pán)中載入。
*為了啟動(dòng)有關(guān)的操作系統(tǒng), boot loader 需要從磁盤(pán)中讀取相關(guān)的內(nèi)核。
在操作系統(tǒng)被裝載之前 ,以上各步驟已經(jīng)執(zhí)行,這意味著所有的磁盤(pán)讀取在BIOS調(diào)用時(shí)。 這是一個(gè)必須的前提,即,為了直接啟動(dòng)磁盤(pán),你的 BIOS必須支持通過(guò)火線或USB被連接的磁盤(pán)。通常能在BIOS中看到關(guān)于從這些設(shè)備上啟動(dòng)選項(xiàng)。 火線BIOS支持現(xiàn)在的確非常的少見(jiàn),但是 USB 支持正在變得相當(dāng)?shù)钠匠!?因此,如果你正在使用一部相對(duì)比較新的計(jì)算機(jī)上的USB接口,應(yīng)該可以直接啟動(dòng)驅(qū)動(dòng)器進(jìn)Linux。
當(dāng)經(jīng)由 USB 連接,在安裝外部的驅(qū)動(dòng)器的 MBR 的幼蟲(chóng)之后,我能夠直接地啟動(dòng)它。 當(dāng)以被連接的磁盤(pán)片啟動(dòng)的時(shí)候,只是進(jìn)入 BIOS 裝備公用程序。 外部的磁盤(pán)片將會(huì)出現(xiàn)如一個(gè)一般的硬盤(pán): 移動(dòng)它,如此它在啟動(dòng)次序中的內(nèi)在驅(qū)動(dòng)器之前。
我也能夠在一個(gè)內(nèi)置的硬盤(pán)的MBR上安裝一個(gè)boot loader而且使用其啟動(dòng)USB硬盤(pán)(在GRUB中被成為hd1)。 如果你正在使用火線, 有可能你的 BIOS 將會(huì)無(wú)法直接地啟動(dòng)硬盤(pán),而且你需要更多一點(diǎn)步驟。
幸運(yùn)的是,由于 Linux 的多樣性,這有非常容易解決,如果你不能直接地啟動(dòng),( 我就是這樣的情況,使用一個(gè)PCMCIA轉(zhuǎn)接卡!) 你能運(yùn)行初始啟動(dòng)步驟,來(lái)自一個(gè)支持的設(shè)備 , 像是一臺(tái)軟驅(qū),CD-ROM,USB棒,或在主硬盤(pán)上的小分區(qū), 然后使用外部的驅(qū)動(dòng)器繼續(xù)其他步驟。
創(chuàng)建一個(gè)啟動(dòng)鏡像
我們有2種方法啟動(dòng):
*單階啟動(dòng)
內(nèi)核啟動(dòng), 掛載根分區(qū)文件系統(tǒng), 接著調(diào)用初始化教本繼續(xù)初始化( 通常是/in/init)
*雙階啟動(dòng) (initrd)的啟動(dòng)
內(nèi)核啟動(dòng),掛載一個(gè)初始ram disk (initrd),進(jìn)一步運(yùn)行定制的初始化, 然后掛載根分區(qū)文件系統(tǒng)繼續(xù)初始化(同樣, 通常調(diào)用/in/init)
每種方法都有它自己的優(yōu)點(diǎn)和缺點(diǎn)。
單階啟動(dòng)
為了要使用一個(gè)單階的啟動(dòng),我們需要建立一個(gè)內(nèi)核包含掛載一個(gè)根分區(qū)文件系統(tǒng)所需的所有驅(qū)動(dòng)程序。( 任何其他的驅(qū)動(dòng)能作為模塊編譯并在根分區(qū)載入時(shí)候進(jìn)行常規(guī)初始化。)
如果我們正在從像軟盤(pán)這樣的一個(gè)非常小的裝置嘗試啟動(dòng), 更好的方式是創(chuàng)建的一個(gè)正合適內(nèi)核,編譯進(jìn)所有掛載根外部分區(qū)系統(tǒng)所需驅(qū)動(dòng) — 而且編譯其他的作為模塊。 舉例來(lái)說(shuō),我的內(nèi)核編譯進(jìn)了SCSI支持, PCMCIA 支持, IEE1394 , SBP ,和其他相似的支持, 但是其他的(包括顯卡支持,網(wǎng)絡(luò)設(shè)備支持,等等)當(dāng)做模塊編譯并儲(chǔ)存在根分區(qū)上(在外部的驅(qū)動(dòng)器的),而不是存儲(chǔ)在軟盤(pán)上。
這種方法的主要問(wèn)題是需要我們給內(nèi)核源代碼打補(bǔ)丁– 那是一種最糟糕的痛苦(當(dāng)新的內(nèi)核發(fā)布),而真正的問(wèn)題是如果補(bǔ)丁沒(méi)有在維護(hù),這樣就不能跟上內(nèi)核的變化。
你可能以為如果計(jì)算機(jī)BIOS支持USB和火線直接啟動(dòng),我們能避免發(fā)生以上的2個(gè)問(wèn)題。 不幸地,事情不是這樣:這一個(gè)方法使用BIOS在啟動(dòng)時(shí)調(diào)用磁盤(pán),一旦內(nèi)核開(kāi)始初始化, BIOS就失去了作用,而且使用內(nèi)核驅(qū)動(dòng)來(lái)調(diào)用磁盤(pán)– 所以你仍然會(huì)碰到同樣的問(wèn)題。
二階啟動(dòng)
內(nèi)核2.0.X版本 ,添加了一個(gè)有趣的功能到內(nèi)核 — 使用“initial RAM disk(初始內(nèi)存磁盤(pán))”(or initrd)來(lái)實(shí)現(xiàn)二階啟動(dòng)。
簡(jiǎn)言之,內(nèi)核一概既往的啟動(dòng);掛載一個(gè)創(chuàng)建在內(nèi)存里迷你的根分區(qū)文件系統(tǒng)取代掛載“真正”的根分區(qū)系統(tǒng)。 無(wú)論任何命令都在這個(gè)初始環(huán)境中執(zhí)行在“真正”的根分區(qū)系統(tǒng)被掛載之前直到我們切換到真正的根分區(qū)文件系統(tǒng)并銷毀初始內(nèi)存磁盤(pán)(initial RAM disk)。
這點(diǎn)在各種環(huán)境中都非常有用,但是我們的目標(biāo)僅僅是簡(jiǎn)單的利用我們的迷你環(huán)境去重新掃描SCSI總線,等待外部驅(qū)動(dòng)器識(shí)別,然后用它切換到我們真正的根而后繼續(xù)啟動(dòng)。
使用這種方法,我們需要?jiǎng)?chuàng)建2個(gè)文件,一個(gè)內(nèi)核和一個(gè)初始鏡像文件。
內(nèi)核僅是一個(gè)內(nèi)建啟動(dòng)鏡像(initrd)支持常規(guī)內(nèi)核。 initrd 鏡像是一個(gè)包涵我們迷你根分區(qū)系統(tǒng)的環(huán)路(loopback)文件系統(tǒng)鏡像。 (該鏡像可以有選折地使用gzip壓縮來(lái)減小它的大小)。
你能在資源章節(jié)里找到關(guān)于如何創(chuàng)建和定制你自己的初始鏡像的更多信息。
在鏡像文件里,有一個(gè)linuxrc的文件。當(dāng)鏡像給載入時(shí),該文件自動(dòng)運(yùn)行,所以請(qǐng)確定其有運(yùn)行權(quán)限!為了達(dá)到我們的目的,linuxrc文件非常的簡(jiǎn)單:
列舉 1. initrd linuxrc
#!/bin/sh
REAL_ROOT=/dev/sda1
# mount the /proc filesystem
mount -t proc none /proc
#for scsi-emulation (SCSI模擬)
# modprobe sd_mod
#for pcmcia (PCNCIA卡)
# modprobe pcmcia_core
#for FireWire (火線)
# modprobe ieee1394
# modprobe ohci1394
# modprobe raw1394
# modprobe p2
#for USB (USB)
# modprobe ucore
# modprobe ohci-hcd
# modprobe uhci-hcd
# modprobe u-storage
# loop rescanning the scsi bus + rerunning devfsd
retries=5
i=1
until
do
if
then
echo “Unable to mount real root ($REAL_ROOT) – Giving up!”
/bin/ash
exit
fi
echo “Real root ($REAL_ROOT) not found, retrying ($i)”
sleep 1
echo “scsi add-single-device 0 0 0” > /proc/scsi/scsi
echo “scsi add-single-device 1 0 0” > /proc/scsi/scsi
echo “scsi add-single-device 2 0 0” > /proc/scsi/scsi
/bin/devfsd /dev -np
i=$((i+1))
done
#umount /proc as it will be remounted by the normal init process
(解除掛載/proc分區(qū)當(dāng)它會(huì)給常規(guī)的INIT進(jìn)程重新掛載)
umount /proc
#now we simply exit, and the normal boot process should continue
(現(xiàn)在我們可以退出了,常規(guī)的啟動(dòng)進(jìn)程將會(huì)繼續(xù))
exit 0
我們正在做的是載入適當(dāng)?shù)哪K去支持外部驅(qū)動(dòng)器: 請(qǐng)按需注視相應(yīng)行。 (我把所有需要的支持編譯進(jìn)內(nèi)核,因此不需要模塊)。 然后循環(huán), 再掃描 SCSI 總線 (回應(yīng)一個(gè)命令到/proc虛擬文件系統(tǒng)下一個(gè)特別文件并調(diào)用devfsd程序) 直到根分區(qū)設(shè)備出現(xiàn)(我的情況是/dev/sda1 )。在我的情況,被訪問(wèn)的火線模擬SCSI總線是1 0 0,但是并不影響嘗試部分其他的總線 — 如果你知道將會(huì)使用哪一個(gè),你可以裁減這個(gè)教本。 同時(shí), 如果你有其他的 SCSI 設(shè)備 (或模擬 SCSI設(shè)備), 驅(qū)動(dòng)器可能有一個(gè)不同的字母。(例如,/dev/sdb1) 而且如果你沒(méi)有使用外置驅(qū)動(dòng)器上的之一個(gè)分區(qū), 你將會(huì)需要使用一個(gè)不同的數(shù)字。( 例如,/dev/sda2)
現(xiàn)在我們需要做的全部是復(fù)制相關(guān)的文件進(jìn)initrd鏡像.( 你能夠使用mount -o loop 命令掛載未壓縮的鏡像)尤其,我們需要確定我們有 linuxrc 文件、所有被用到的命令和其依賴的庫(kù)。 這個(gè)(未掛載的)鏡像可以有選折的壓縮。
復(fù)制內(nèi)核 (bzImage) 和 initrd 鏡像 (initrd.gz)到磁盤(pán)。
最后的步是在磁盤(pán)上安裝一個(gè)boot loader, 而且用下列的選項(xiàng)啟動(dòng)內(nèi)核: kernel bzImage root=/dev/sda1 initrd=initrd.gz.
你現(xiàn)在應(yīng)該可以使用磁盤(pán)來(lái)啟動(dòng)了:它會(huì)從軟盤(pán)中載入內(nèi)核,載入initrd鏡像入內(nèi)存,然后從那里繼續(xù)常規(guī)啟動(dòng)。這點(diǎn)以后,磁盤(pán)就可以拿開(kāi)了。
如果磁盤(pán)不合適 ( 例如,計(jì)算機(jī)沒(méi)有軟驅(qū)),任何設(shè)備在BIOS能用于啟動(dòng)都可以使用。 個(gè)人而言,我就使用一個(gè)小小的32MB的USB棒來(lái)達(dá)到這個(gè)目的。
參考資料:
早就能用了。只要是用新版本就可以了。不過(guò)有的機(jī)器硬件太新或者功能特強(qiáng),還需要用老版激哪沒(méi)對(duì)應(yīng)驅(qū)動(dòng)的系統(tǒng)。比如服務(wù)器的 SAS ,裝 RHEL 4.x 系列,一般才需要另找驅(qū)動(dòng)。
bootloader 階段使用 BIOS 功能,所有的 SATA 默認(rèn)都有一個(gè)簡(jiǎn)單的 BIOS 讀寫(xiě)兼容功能提供支持。也就是說(shuō)開(kāi)了 AHCI ,BIOS 依然會(huì)提供兼容模式。不過(guò)現(xiàn)在的操作系統(tǒng)在內(nèi)核啟動(dòng)后就會(huì)繞過(guò) BIOS 直接操作硬件。這個(gè)時(shí)候如果開(kāi)啟了 AHCI 模式,那么 IDE 兼容部分的硬件接口模擬就沒(méi)了,不過(guò) BIOS 自己提供的讀寫(xiě)功能雖然繼續(xù)提供,但系統(tǒng)已然不用了。所以帶畝 bootloader 可以蠢鉛森讀寫(xiě)硬盤(pán)并不代表 linux 內(nèi)核可以讀寫(xiě)硬盤(pán)。
linux 的驅(qū)動(dòng)有兩種存放狀態(tài),編入內(nèi)核或者編成模塊。
initrd 里面的就是模塊,會(huì)被 bootloader 在讀取內(nèi)核時(shí)一起讀取進(jìn)入內(nèi)存。一般內(nèi)核模塊只在需要時(shí)載入,可以節(jié)省內(nèi)核的運(yùn)行體積。但現(xiàn)在新版 linux 內(nèi)核的 sata 驅(qū)動(dòng)已經(jīng)高度集成了,所以很多發(fā)行版的 SATA 驅(qū)動(dòng)都直接進(jìn)入內(nèi)核不需要模塊載入方式了。當(dāng)然這要看系統(tǒng)的設(shè)計(jì),有的系統(tǒng)既然 initrd 必然會(huì)提供,那么編入內(nèi)核確實(shí)沒(méi)意義。不過(guò)需要另外找驅(qū)動(dòng)的硬件,都是模塊方式存在,他們?cè)谙到y(tǒng)啟動(dòng)時(shí)必須存在于 initrd 里面,不然內(nèi)核自己沒(méi)法集成,也不能從硬盤(pán)里面讀取(沒(méi)驅(qū)動(dòng)沒(méi)法讀盤(pán),沒(méi)法讀盤(pán)就沒(méi)法讀驅(qū)動(dòng))。
BIOS 的 INT13 功能太簡(jiǎn)單了。限制也特別多,現(xiàn)在都是能不用就不用的。所以這東西現(xiàn)在只有 bootloader 才會(huì)用。
舊版本的Linux有時(shí)不會(huì)識(shí)別Sata設(shè)備祥渣或者大容量的Sata設(shè)備,就需要額外的驅(qū)動(dòng)?,F(xiàn)在的Linux內(nèi)核都已經(jīng)添加了sata設(shè)備的驅(qū)動(dòng)程序,是可以識(shí)別的,掛載塊設(shè)備基畝,一般是sda、sdb這些搏宴森
主板支持SATA接口就可以。
現(xiàn)在的版本完全沒(méi)問(wèn)題
操作系統(tǒng)中的一些概念問(wèn)題
這么多問(wèn)題,沒(méi)分誰(shuí)理你
操作系統(tǒng)(英語(yǔ):Operating System,簡(jiǎn)稱OS)是一管理電腦硬件與電腦軟件資源的程序,同時(shí)也是計(jì)算機(jī)系統(tǒng)的核心與基石。操作系統(tǒng)身負(fù)諸如管理與配置內(nèi)存、決定系統(tǒng)資源供需的優(yōu)先次序、控制輸入與輸出設(shè)備、操作網(wǎng)絡(luò)與管理文件系統(tǒng)等基本事務(wù)。操作系統(tǒng)也提供一個(gè)讓用戶與系統(tǒng)交互的操作接口。
操作系統(tǒng)的型態(tài)非常多樣,不同機(jī)器安裝的操作系統(tǒng)可從簡(jiǎn)單到復(fù)雜,可從手機(jī)的嵌入式系統(tǒng)到超級(jí)電腦的大型操作系統(tǒng)。許多操作系統(tǒng)制造者對(duì)它涵蓋范疇的定義也不盡一致,例如有些操作系統(tǒng)集成了圖形化用戶界面,而有些僅使用文字接口,而將圖形接口視為一種非必要的應(yīng)用程序。
操作系統(tǒng)理論在計(jì)算機(jī)科學(xué)中,為歷史悠久而又活躍的分支;而操作系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)則是軟件工業(yè)的基礎(chǔ)與核心。
現(xiàn)代操作系統(tǒng)通常都有一個(gè)使用的繪圖設(shè)備的圖形化用戶界面,并附加如鼠標(biāo)或觸控面版等有別于鍵盤(pán)的輸入設(shè)備。舊的OS或效能導(dǎo)向的服務(wù)器通常不會(huì)有如殲如此親切的接口,而是以命令行接口(CLI)加上鍵盤(pán)為輸入設(shè)備。以上兩種接口其實(shí)都是所謂的殼,其功能為接受并處理用戶的指令(例如按下一按鈕,或在命令提示列上鍵入指令)。
選擇要安裝的操作系統(tǒng)通常與其硬件架構(gòu)有很大關(guān)系,只有Linux與BSD幾乎可在所有硬件架構(gòu)上運(yùn)行,而Windows NT僅移植到了DEC Alpha與MIPS Magnum。在1990年代早期,個(gè)人電腦的選擇就已被局限在Windows家族、類Unix家族以及Linux上,而以Linux及Mac OS X為最主要的另類選擇,直至今日。
大型機(jī)與嵌入式系統(tǒng)使用很多樣化的操作系統(tǒng)。大型主機(jī)近期有許多開(kāi)始支持Java及Linux以便共享其他平臺(tái)的資源。嵌入式系統(tǒng)近期百家爭(zhēng)鳴,從給Sensor Networks用的Berkeley Tiny OS到可以操作Microsoft Office的Windows CE都有。
個(gè)人電腦: Apple Macintosh – Mac OS X,Windows(僅Intel平臺(tái)),Linux、BSD。
IBM兼容PC – Windows、Linux、BSD、Mac OS X(非正式支持)。
大型機(jī): Burroughs MCP– B5000, IBM OS/IBM System/360, UNIVAC EXEC 8 — UNIVAC 1108
嵌入式系統(tǒng): 嵌入森悶式系統(tǒng)使用非常廣泛的操作系統(tǒng)(如VxWorks、eCos、Symbian OS及Palm OS)以及某些功能縮減版本的Linux或者其他操作系統(tǒng)。某些情況下,OS指稱的是一個(gè)內(nèi)置了固定應(yīng)用軟件的巨大泛用程序。在許多最簡(jiǎn)單的嵌入式系統(tǒng)中,所謂的OS就是指其上唯一的應(yīng)用程序。
類Unix系統(tǒng): 所謂的類Unix家族指的是一族種類繁多的OS,此族包含了System V、BSD與Linux。由于Unix是The Open Group的注冊(cè)商標(biāo),特指遵守此公司定義的行為的操作系統(tǒng)。而類Unix通常指的是比原先的Unix包含更多特征的OS。
Unix系統(tǒng)可在非常多的處理器架構(gòu)下運(yùn)行,在服務(wù)器系統(tǒng)上有很高的使用率,例如大專院?;蚬こ虘?yīng)用的工作站。自由軟件Unix變種,例如Linux與BSD近來(lái)越來(lái)越受歡迎,它們也在個(gè)人桌面電腦市場(chǎng)上大有斬獲,例如Ubuntu系統(tǒng)。
某些Unix變種,例如HP的HP-UX以及IBM的AIX僅設(shè)計(jì)用于自家的硬件產(chǎn)品上,而SUN的Solaris可安裝于自家的硬件或x86電腦上。蘋(píng)果電腦的Mac OS X是一個(gè)從NeXTSTEP、Mach以及FreeBSD共同派生出來(lái)的微核心BSD系統(tǒng),此OS取代了蘋(píng)果電腦早期非Unix家族的Mac OS。
經(jīng)此橡彎歷數(shù)年的披荊斬棘,自由開(kāi)源的Unix系統(tǒng)逐漸蠶食以往專利軟件的專業(yè)領(lǐng)域,例如以往電腦動(dòng)畫(huà)運(yùn)算巨擘——SGI的IRIX系統(tǒng)已被Linux家族及貝爾實(shí)驗(yàn)室研發(fā)小組設(shè)計(jì)的九號(hào)計(jì)劃與Inferno系統(tǒng)取代,皆用于分散表達(dá)式環(huán)境。它們并不像其他Unix系統(tǒng),而是選擇內(nèi)置圖形化用戶界面。九號(hào)計(jì)劃原先并不普及,因?yàn)樗鼊偼瞥鰰r(shí)并非自由軟件。后來(lái)改在自由及開(kāi)源軟件許可證Lucent Public License釋出后,便開(kāi)始擁有廣大的用戶及社區(qū)。Inferno已被售予Vita Nuova并以GPL/MIT許可證釋出。
當(dāng)前,計(jì)算機(jī)按照計(jì)算能力排名世界500強(qiáng)中472臺(tái)使用Linux,6臺(tái)使用Windows,其余為各類BSD等Unix。
微軟Windows: Microsoft Windows系列操作系統(tǒng)是在微軟給IBM機(jī)器設(shè)計(jì)的MS-DOS的基礎(chǔ)上設(shè)計(jì)的圖形操作系統(tǒng)?,F(xiàn)在的Windows系統(tǒng),如Windows 2023、Windows XP皆是創(chuàng)建于現(xiàn)代的Windows NT核心。NT核心是由OS/2和OpenVMS等系統(tǒng)上借用來(lái)的。Windows可以在32位和64位的Intel和AMD的處理器上運(yùn)行,但是早期的版本也可以在DEC Alpha、MIPS與PowerPC架構(gòu)上運(yùn)行。 雖然由于人們對(duì)于開(kāi)放源代碼作業(yè)系統(tǒng)興趣的提升,Windows的市場(chǎng)占有率有所下降,但是到2023年為止,Windows操作系統(tǒng)在世界范圍內(nèi)占據(jù)了桌面操作系統(tǒng)90%的市場(chǎng)。
Windows系統(tǒng)也被用在低級(jí)和中階服務(wù)器上,并且支持網(wǎng)頁(yè)服務(wù)的數(shù)據(jù)庫(kù)服務(wù)等一些功能。最近微軟花費(fèi)了很大研究與開(kāi)發(fā)的經(jīng)費(fèi)用于使Windows擁有能運(yùn)行企業(yè)的大型程序的能力。
蘋(píng)果Mac OS: Mac OS是一套運(yùn)行于蘋(píng)果Macintosh系列電腦上的操作系統(tǒng)。Mac OS是首個(gè)在商用領(lǐng)域成功的圖形用戶界面。
Chrome OS: Google Chrome OS是一項(xiàng)Google的輕型電腦操作系統(tǒng)計(jì)劃,其基于Google的瀏覽器Chrome的Linux內(nèi)核。
進(jìn)程管理: 不管是常駐程序或者應(yīng)用程序,他們都以進(jìn)程為標(biāo)準(zhǔn)運(yùn)行單位。當(dāng)年運(yùn)用馮·諾伊曼結(jié)構(gòu)建造電腦時(shí),每個(gè)中央處理器最多只能同時(shí)運(yùn)行一個(gè)進(jìn)程。早期的OS(例如DOS)也不允許任何程序打破這個(gè)限制,且DOS同時(shí)只有運(yùn)行一個(gè)進(jìn)程(雖然DOS自己宣稱他們擁有終止并等待駐留(TSR)能力,可以部分且艱難地解決這問(wèn)題)。現(xiàn)代的操作系統(tǒng),即使只擁有一個(gè)CPU,也可以利用多進(jìn)程(multitask)功能同時(shí)運(yùn)行復(fù)數(shù)進(jìn)程。進(jìn)程管理指的是操作系統(tǒng)調(diào)整復(fù)數(shù)進(jìn)程的功能。
由于大部分的電腦只包含一顆中央處理器,在單核心(Core)的情況下多進(jìn)程只是簡(jiǎn)單迅速地切換各進(jìn)程,讓每個(gè)進(jìn)程都能夠運(yùn)行,在多核心或多處理器的情況下,所有進(jìn)程通過(guò)許多協(xié)同技術(shù)在各處理器或核心上轉(zhuǎn)換。越多進(jìn)程同時(shí)運(yùn)行,每個(gè)進(jìn)程能分配到的時(shí)間比率就越小。很多OS在遇到此問(wèn)題時(shí)會(huì)出現(xiàn)諸如音效斷續(xù)或鼠標(biāo)跳格的情況(稱做崩潰(Thrashing),一種OS只能不停運(yùn)行自己的管理程序并耗盡系統(tǒng)資源的狀態(tài),其他用戶或硬件的程序皆無(wú)法運(yùn)行)。進(jìn)程管理通常實(shí)踐了分時(shí)的概念,大部分的OS可以利用指定不同的特權(quán)等級(jí)(priority),為每個(gè)進(jìn)程改變所占的分時(shí)比例。特權(quán)越高的進(jìn)程,運(yùn)行優(yōu)先級(jí)越高,單位時(shí)間內(nèi)占的比例也越高。交互式OS也提供某種程度的回饋機(jī)制,讓直接與用戶交互的進(jìn)程擁有較高的特權(quán)值。
除了進(jìn)程管理之外,OS尚有擔(dān)負(fù)起進(jìn)程間通信(IPC)、進(jìn)程異常終止處理以及死鎖(Dead Lock)偵測(cè)及處理等較為艱深的問(wèn)題。
在進(jìn)程之下尚有運(yùn)行緒的問(wèn)題,但是大部分的OS并不會(huì)處理運(yùn)行緒所遭遇的問(wèn)題,通常OS僅止于提供一組API讓用戶自行操作或通過(guò)虛擬機(jī)的管理機(jī)制控制運(yùn)行緒之間的交互。
存儲(chǔ)器管理: 根據(jù)帕金森定律:“你給程序再多存儲(chǔ)器,程序也會(huì)想盡辦法耗光”,因此程序員通常希望系統(tǒng)給他無(wú)且無(wú)限快的存儲(chǔ)器。大部分的現(xiàn)代電腦存儲(chǔ)器架構(gòu)都是層次結(jié)構(gòu)式的,最快且數(shù)量最少的暫存器為首,然后是高速緩存、存儲(chǔ)器以及最慢的磁盤(pán)存儲(chǔ)設(shè)備。而OS的存儲(chǔ)器管理提供查找可用的記憶空間、配置與釋放記憶空間以及交換存儲(chǔ)器和低速存儲(chǔ)設(shè)備的內(nèi)含物……等功能。此類又被稱做虛擬內(nèi)存管理的功能大幅增加每個(gè)進(jìn)程可獲得的記憶空間(通常是4GB,既使實(shí)際上RAM的數(shù)量遠(yuǎn)少于這數(shù)目)。然而這也帶來(lái)了微幅降低運(yùn)行效率的缺點(diǎn),嚴(yán)重時(shí)甚至也會(huì)導(dǎo)致進(jìn)程崩潰。
存儲(chǔ)器管理的另一個(gè)重點(diǎn)活動(dòng)就是借由CPU的幫助來(lái)管理虛擬位置。如果同時(shí)有許多進(jìn)程存儲(chǔ)于記憶設(shè)備上,操作系統(tǒng)必須防止它們互相干擾對(duì)方的存儲(chǔ)器內(nèi)容(除非通過(guò)某些協(xié)議在可控制的范圍下操作,并限制可訪問(wèn)的存儲(chǔ)器范圍)。分區(qū)存儲(chǔ)器空間可以達(dá)成目標(biāo)。每個(gè)進(jìn)程只會(huì)看到整個(gè)存儲(chǔ)器空間(從0到存儲(chǔ)器空間的更大上限)被配置給它自己(當(dāng)然,有些位置被OS保留而禁止訪問(wèn))。CPU事先存了幾個(gè)表以比對(duì)虛擬位置與實(shí)際存儲(chǔ)器位置,這種方法稱為標(biāo)簽頁(yè)(paging)配置。
借由對(duì)每個(gè)進(jìn)程產(chǎn)生分開(kāi)獨(dú)立的位置空間,OS也可以輕易地一次釋放某進(jìn)程所占據(jù)的所有存儲(chǔ)器。如果這個(gè)進(jìn)程不釋放存儲(chǔ)器,OS可以退出進(jìn)程并將存儲(chǔ)器自動(dòng)釋放。
磁盤(pán)與文件系統(tǒng): 所謂的文件系統(tǒng),通常指稱管理磁盤(pán)數(shù)據(jù)的系統(tǒng),可將數(shù)據(jù)以目錄或文件的型式存儲(chǔ)。每個(gè)文件系統(tǒng)都有自己的特殊格式與功能,例如日志管理或不需磁盤(pán)重整。
OS擁有許多種內(nèi)置文件系統(tǒng)。例如Linux擁有非常廣泛的內(nèi)置文件系統(tǒng),如ext2、ext3、ext4、ReiserFS、Reiser4、GFS、GFS2、OCFS、OCFS2、NILFS與Google文件系統(tǒng)。Linux也支持非本地文件系統(tǒng),例如XFS、JFS、FAT家族與NTFS。另一方面,Windows能支持的文件系統(tǒng)只有FAT12、FAT16、FAT32與NTFS。NTFS系統(tǒng)是Windows上最可靠與最有效率的文件系統(tǒng)。其他的FAT家族都比NTFS老舊,且對(duì)于文件長(zhǎng)度與分區(qū)磁盤(pán)能力都有很大限制,因此造成很多問(wèn)題。而UNIX的文件系統(tǒng)多半是UFS,而UNIX中的一個(gè)分支Solaris最近則開(kāi)始支持一種新式的ZFS
大部份上述的文件系統(tǒng)都有兩種建置方法。系統(tǒng)可以以日志式(Journaling file system)或非日志式建置。日志式文件系統(tǒng)可以以較安全的手法運(yùn)行系統(tǒng)回復(fù)。如果一個(gè)沒(méi)有日志式建置的文件系統(tǒng)遇上突然的系統(tǒng)崩潰,導(dǎo)致數(shù)據(jù)創(chuàng)建在一半時(shí)停頓,則此系統(tǒng)需要特殊的文件系統(tǒng)檢查工具才能撤消;日志式則可自動(dòng)回復(fù)。微軟的NTFS與Linux的ext3、ext4、reiserFS與JFS都是日志式文件系統(tǒng)。
每個(gè)文件系統(tǒng)都實(shí)現(xiàn)相似的目錄/子目錄架構(gòu),但在相似之下也有許多不同點(diǎn)。微軟使用“\”符號(hào)以創(chuàng)建目錄/子目錄關(guān)系,且文件名稱忽略其大小寫(xiě)差異;UNIX系統(tǒng)則是以“/”創(chuàng)建目錄架構(gòu),且文件名稱大小寫(xiě)有差異。
網(wǎng)絡(luò): 許多現(xiàn)代的OS都具備操作主流網(wǎng)絡(luò)通信協(xié)議TCP/IP的能力。也就是說(shuō)這樣的操作系統(tǒng)可以進(jìn)入網(wǎng)絡(luò)世界,并且與其他系統(tǒng)分享諸如文件、打印機(jī)與掃描儀等資源。
許多OS也支持多個(gè)過(guò)去網(wǎng)絡(luò)啟蒙時(shí)代的各路網(wǎng)絡(luò)通信協(xié)議,例如IBM創(chuàng)建的SNA、DEC在它所生產(chǎn)的系統(tǒng)所設(shè)置的DECnet架構(gòu)與微軟為Windows制作的特殊通信協(xié)議。還有許多為了特殊功能而研發(fā)的通信協(xié)議,例如可以在網(wǎng)絡(luò)上提供文件訪問(wèn)功能的NFS系統(tǒng)。現(xiàn)今大量用于影音流(Streaming media)及游戲消息傳送的UDP協(xié)議等。
安全: 大多數(shù)OS都含有某種程度的信息安全機(jī)制。信息安全機(jī)制主要基于兩大理念:
OS提供外界直接或間接訪問(wèn)數(shù)種資源的管道,例如本地端磁盤(pán)驅(qū)動(dòng)器的文件、受保護(hù)的特權(quán)系統(tǒng)調(diào)用(System call)、用戶的隱私數(shù)據(jù)與系統(tǒng)運(yùn)行的程序所提供的服務(wù)。
OS有能力認(rèn)證(Authorization)資源訪問(wèn)的請(qǐng)求。允許通過(guò)認(rèn)證的請(qǐng)求并拒絕無(wú)法通過(guò)的非法請(qǐng)求,并將適當(dāng)?shù)臋?quán)力授權(quán)(Authentication)給此請(qǐng)求。有些系統(tǒng)的認(rèn)證機(jī)制僅簡(jiǎn)略地把資源分為特權(quán)或非特權(quán),且每個(gè)請(qǐng)求都有獨(dú)特的身份辨識(shí)號(hào)碼,例如用戶名稱。資源請(qǐng)求通常分成兩大種類:
內(nèi)部來(lái)源:通常是一個(gè)正在運(yùn)行的程序發(fā)出的資源請(qǐng)求。在某些系統(tǒng)上,一個(gè)程序一旦可運(yùn)行就可做任何事情(例如DOS時(shí)代的病毒),但通常OS會(huì)給程序一個(gè)識(shí)別代號(hào),并且在此程序發(fā)出請(qǐng)求時(shí),檢查其代號(hào)與所需資源的訪問(wèn)權(quán)限關(guān)系。
外部來(lái)源:從非本地端電腦而來(lái)的資源請(qǐng)求,例如遠(yuǎn)程登錄本機(jī)電腦或某些網(wǎng)絡(luò)連接請(qǐng)求(FTP或HTTP)。為了識(shí)別這些外部請(qǐng)求,系統(tǒng)也許會(huì)對(duì)此請(qǐng)求提出認(rèn)證要求。通常是請(qǐng)求輸入用戶名稱以及相對(duì)應(yīng)的密碼。系統(tǒng)有時(shí)也會(huì)應(yīng)用諸如磁卡或生物識(shí)別數(shù)據(jù)的它種認(rèn)證方法。在某些例子,例如網(wǎng)絡(luò)通信上,通常不需通過(guò)認(rèn)證即可訪問(wèn)資源(例如匿名訪問(wèn)的FTP服務(wù)器或P2P服務(wù))。
除了允許/拒絕形式的安全機(jī)制,一個(gè)高安全等級(jí)的系統(tǒng)也會(huì)提供記錄選項(xiàng),允許記錄各種請(qǐng)求對(duì)資源訪問(wèn)的行為(例如“誰(shuí)曾經(jīng)讀了這個(gè)文件?”)。
肇因于軍方與商業(yè)組織將敏感數(shù)據(jù)記錄在電腦上,安全機(jī)制在OS歷史上是一個(gè)被長(zhǎng)久關(guān)注與討論的問(wèn)題。美國(guó)國(guó)防部(DoD)便創(chuàng)立了《可信賴之計(jì)算機(jī)系統(tǒng)評(píng)鑒程序》(TCSEC),此手冊(cè)確立了評(píng)鑒安全機(jī)制成效的基本原則。這對(duì)OS作者來(lái)說(shuō)非常重要,因?yàn)門(mén)CSEC是用于評(píng)鑒、分類與選拔出用于處理、存儲(chǔ)與獲取敏感或機(jī)密數(shù)據(jù)的電腦系統(tǒng)的標(biāo)準(zhǔn)程序。
內(nèi)部信息安全: 內(nèi)部信息安全可視為防止正在運(yùn)行的程序任意訪問(wèn)系統(tǒng)資源的手段。大多OS讓普通程序可直接操作電腦的CPU,所以產(chǎn)生了一些問(wèn)題,例如怎樣把可如OS一樣處理事務(wù)、運(yùn)行同樣特殊指令的程序強(qiáng)迫停止,畢竟在此情境下,OS也只是另一個(gè)平起平坐的程序。為通用OS所生產(chǎn)的CPU通常于硬件層級(jí)上實(shí)踐了一定程度的特殊指令保護(hù)概念。通常特權(quán)層級(jí)較低的程序想要運(yùn)行某些特殊指令時(shí)會(huì)被阻斷,例如直接訪問(wèn)像是硬盤(pán)之類的外部設(shè)備。因此,程序必須得經(jīng)由詢問(wèn)OS,讓OS運(yùn)行特殊指令來(lái)訪問(wèn)磁盤(pán)。因此OS就有機(jī)會(huì)檢查此程序的識(shí)別身份,并依此接受或拒絕它的請(qǐng)求。
在不支持特殊指令架構(gòu)的硬件上,另一個(gè)也是唯一的保護(hù)方法,則是OS并不直接利用CPU運(yùn)行用戶的程序,而是借由模擬一個(gè)CPU或提供一p-Code系統(tǒng)(偽代碼運(yùn)行機(jī)),像是Java一樣讓程序在虛擬機(jī)上運(yùn)行。
內(nèi)部安全機(jī)制在多用戶電腦上特別重要:它允許每個(gè)系統(tǒng)用戶擁有自己個(gè)人的文件與目錄,且其他用戶不能任意訪問(wèn)或刪除。因?yàn)槿魏纬绦蚨伎赡芾@過(guò)OS的監(jiān)控,更有可能繞過(guò)側(cè)錄程序的監(jiān)控,擁有強(qiáng)制力的內(nèi)部安全機(jī)制在側(cè)錄啟動(dòng)時(shí)也非常重要。
外部信息安全: 通常一個(gè)操作系統(tǒng)會(huì)為其他網(wǎng)絡(luò)上的電腦或用戶提供(主持)各種服務(wù)。這些服務(wù)通常借由端口或OS網(wǎng)絡(luò)地址后的數(shù)字訪問(wèn)點(diǎn)提供。通常此服務(wù)包括提供文件共享(NTFS)、打印共享、電子郵件、網(wǎng)頁(yè)服務(wù)與文件傳輸協(xié)議(FTP)。 外部信息安全的最前線,是諸如防火墻等的硬件設(shè)備。在OS內(nèi)部也常設(shè)置許多種類的軟件防火墻。軟件防火墻可設(shè)置接受或拒絕在OS上運(yùn)行的服務(wù)與外界的連接。因此任何人都可以安裝并運(yùn)行某些不安全的網(wǎng)絡(luò)服務(wù),例如Telnet或FTP,并且設(shè)置除了某些自用通道之外阻擋其他所有連接,以達(dá)成防堵不良連接的機(jī)制。
用戶界面: 今日大部分的OS都包含圖形化用戶界面。有幾類較舊的OS將圖形化用戶界面與核心緊密結(jié)合,例如最早的Windows與Mac OS實(shí)現(xiàn)產(chǎn)品。此種手法可提供較快速的圖形回應(yīng)能力,且實(shí)現(xiàn)時(shí)不需切割模塊因而較為省工,但是會(huì)有強(qiáng)烈副作用,例如圖形系統(tǒng)崩潰將導(dǎo)致整個(gè)系統(tǒng)崩潰,例如死亡藍(lán)屏幕。許多近代的OS已模塊化,將圖形接口的副系統(tǒng)與核心分開(kāi)(已知Linux與Mac OS X原先就是如此設(shè)計(jì),而某些擴(kuò)充版本的Windows終于也采用此手法)。
許多OS允許用戶安裝或創(chuàng)造任何他們喜歡的圖形接口。大部分的Unix與Unix派生系統(tǒng)(BSD、Linux與Minix)通常會(huì)安裝X Window系統(tǒng)配合GNOME或KDE桌面環(huán)境。而某些OS就沒(méi)有這么彈性的圖形化用戶界面,例如Windows。這類的OS只能通過(guò)外加的程序來(lái)改變其圖形化用戶界面,甚或根本只能改變諸如菜單風(fēng)格或顏色配置等部分。
圖形化用戶界面與時(shí)并進(jìn),例如Windows在每次新版本上市時(shí)就會(huì)將其圖形化用戶界面改頭換面,而Mac OS的GUI也在Mac OS X上市時(shí)出現(xiàn)重大轉(zhuǎn)變。
驅(qū)動(dòng)程序: 所謂的驅(qū)動(dòng)程序(Device driver)是指某類設(shè)計(jì)來(lái)與硬件交互的電腦軟件。通常是一設(shè)計(jì)完善的設(shè)備交互接口,利用與此硬件連接的電腦匯排流或通信子系統(tǒng),提供對(duì)此設(shè)備下令與接收信息的功能;以及最終目的,將消息提供給OS或應(yīng)用程序。驅(qū)動(dòng)程序是針對(duì)特定硬件與特定OS設(shè)計(jì)的軟件,通常以操作系統(tǒng)核心模塊、應(yīng)用軟件包或普通電腦程序的形式在OS核心底下運(yùn)行,以達(dá)到通透順暢地與硬件交互的效果,且提供硬件在處理異步的時(shí)間依賴性接口(asynchronous time-dependent hardware interface)時(shí)所需的中斷處理程序(Interrupt handler)。
設(shè)計(jì)驅(qū)動(dòng)程序的主要目的在于操作抽象化,任何硬件模塊,既使是同一類的設(shè)備,在硬件設(shè)計(jì)面上也有巨大差異。廠商推出的較新模塊通常更可靠更有效率,控制方法也會(huì)有所不同。電腦與其OS每每不能預(yù)期那些現(xiàn)有與新設(shè)備的變異之處,因此無(wú)法知道其操作方法。為解決此問(wèn)題OS通常會(huì)主動(dòng)制訂每種設(shè)備該有的操作方式,而驅(qū)動(dòng)程序功能則是將那些OS制訂的行為描述,轉(zhuǎn)譯為可讓設(shè)備了解的自定義操作手法。
理論上適合的驅(qū)動(dòng)程序一旦安裝,相對(duì)應(yīng)的新設(shè)備就可以無(wú)誤地運(yùn)行。此新驅(qū)動(dòng)程序可以讓此設(shè)備完美地切合在OS中,讓用戶察覺(jué)不到這是OS原本沒(méi)有的功能。
Sniffer是什么?怎么用?
Sniffer,中文可以翻譯為嗅探器,是一種基于被動(dòng)偵聽(tīng)原理的網(wǎng)絡(luò)分析方式。使用這種技術(shù)方式,可以監(jiān)視網(wǎng)絡(luò)的狀態(tài)、數(shù)據(jù)流動(dòng)情況以及網(wǎng)絡(luò)上傳輸?shù)男畔?。?dāng)信息以明文的形式在網(wǎng)絡(luò)上傳輸時(shí),便可以使用網(wǎng)絡(luò)監(jiān)聽(tīng)的方式來(lái)進(jìn)行攻擊。將網(wǎng)絡(luò)接口設(shè)置在監(jiān)聽(tīng)模式,便可以將網(wǎng)上傳輸?shù)脑丛床粩嗟男畔⒔孬@。Sniffer技術(shù)常常被黑客們用來(lái)截獲用戶的口令,據(jù)說(shuō)某個(gè)骨干網(wǎng)絡(luò)的路由器網(wǎng)段曾經(jīng)被黑客攻入,并嗅探到大量的用戶口令。但實(shí)際上Sniffer技術(shù)被廣泛地應(yīng)用于網(wǎng)絡(luò)故障診斷、協(xié)議分析、應(yīng)用性能分析和網(wǎng)絡(luò)安全保障等各個(gè)領(lǐng)域。
本文將詳細(xì)介紹Sniffer的原理和應(yīng)用。
一、Sniffer 原理
1.網(wǎng)絡(luò)技術(shù)與設(shè)備簡(jiǎn)介
在講述Sniffer的概念之前,首先需要講述局域網(wǎng)設(shè)備的一些基本概念。
數(shù)據(jù)在網(wǎng)絡(luò)上是以很小的稱為幀(Frame)的單位傳輸?shù)?,幀由幾部分組成,不同的部分執(zhí)行不同的功能。幀通過(guò)特定的稱為網(wǎng)絡(luò)驅(qū)動(dòng)程序的軟件進(jìn)行成型,然后通過(guò)網(wǎng)卡發(fā)送到網(wǎng)線上,通過(guò)網(wǎng)線到達(dá)它們的目的機(jī)器,在目的機(jī)器的一端執(zhí)行相反的過(guò)程。接收端機(jī)器的以太網(wǎng)卡捕獲到這些幀,并告訴操作系統(tǒng)幀已到達(dá),然后對(duì)其進(jìn)行存儲(chǔ)。就是在這個(gè)傳輸和接收的過(guò)程中,嗅探器會(huì)帶來(lái)安全方面的問(wèn)題。
每一個(gè)在局域網(wǎng)(LAN)上的工作站都有其硬件地址,這些地址惟一地表示了網(wǎng)絡(luò)上的機(jī)器(這一點(diǎn)與Internet地址系統(tǒng)比較相似)。當(dāng)用戶發(fā)送一個(gè)數(shù)據(jù)包時(shí),這些數(shù)據(jù)包就會(huì)發(fā)送到LAN上所有可用的機(jī)器。
如果使用Hub/即基于共享網(wǎng)絡(luò)的情況下,網(wǎng)絡(luò)上所有的機(jī)器都可以“聽(tīng)”到通過(guò)的流量,但對(duì)不屬于自己的數(shù)據(jù)包則不予響應(yīng)(換句話說(shuō),工作站A不會(huì)捕獲屬于工作站B的數(shù)據(jù),而是簡(jiǎn)單地忽略這些數(shù)據(jù))。如果某個(gè)工作站的網(wǎng)絡(luò)接口處于混雜模式(關(guān)于混雜模式的概念會(huì)在后面解釋),那么它就可以捕獲網(wǎng)絡(luò)上所有的數(shù)據(jù)包和幀。
但是現(xiàn)代網(wǎng)絡(luò)常常采用交換機(jī)作為網(wǎng)絡(luò)連接設(shè)備樞紐,在通常情況下,交換機(jī)不會(huì)讓網(wǎng)絡(luò)中每一臺(tái)主機(jī)偵聽(tīng)到其他主機(jī)的通訊,因此Sniffer技術(shù)在這時(shí)必須結(jié)合網(wǎng)絡(luò)端口鏡像技術(shù)進(jìn)行配合。而衍生的安全技術(shù)則通過(guò)ARP欺騙來(lái)變相達(dá)到交換網(wǎng)絡(luò)中的偵聽(tīng)。
2.網(wǎng)絡(luò)監(jiān)聽(tīng)原理
Sniffer程序是一種利用以太網(wǎng)的特性把網(wǎng)絡(luò)適配卡(NIC,一般為以太網(wǎng)卡)置為雜亂(promiscuous)模式狀態(tài)的工具,一旦網(wǎng)卡設(shè)置為這種模式,它就能接收傳輸在網(wǎng)絡(luò)上的每一個(gè)信息包。
普通的情況下,網(wǎng)卡只接收和自己的地址有關(guān)的信息包,即傳輸?shù)奖镜刂鳈C(jī)的信息包。要使Sniffer能接收并處理這種方式的信息,系統(tǒng)需要支持BPF,Linux下需要支持SOCKET一PACKET。但一般情況下,網(wǎng)絡(luò)硬件和TCP/IP堆棧不支持接收或者發(fā)送與本地計(jì)算機(jī)無(wú)關(guān)的數(shù)據(jù)包,所以,為了繞過(guò)標(biāo)準(zhǔn)的TCP/IP堆棧,網(wǎng)卡就必須設(shè)置為我們剛開(kāi)始講的混雜模式。一般情況下,要激活這種方式,內(nèi)核必須支持這種偽設(shè)備Bpfilter,而且需要root權(quán)限來(lái)運(yùn)行這種程序,所以sniffer需要root身份安裝,如果只是以本地用戶的身份進(jìn)入了系統(tǒng),那么不可能喚探到root的密碼,因?yàn)椴荒苓\(yùn)行Sniffer。
也有基于無(wú)線網(wǎng)絡(luò)、廣域網(wǎng)絡(luò)(DDN, FR)甚至光網(wǎng)絡(luò)(POS、Fiber Channel)的監(jiān)聽(tīng)技術(shù),這時(shí)候略微不同于以太網(wǎng)絡(luò)上的捕獲概念,其中通常會(huì)引入TAP (測(cè)試介入點(diǎn))這類的硬件設(shè)備來(lái)進(jìn)行數(shù)據(jù)采集。
3. Sniffer的分類
Sniffer分為軟件和硬件兩種,軟件的Sniffer有 Sniffer Pro、Network Monitor、PacketBone等,其優(yōu)點(diǎn)是易于安裝部署,易于學(xué)習(xí)使用,同時(shí)也易于交流;缺點(diǎn)是無(wú)法抓取網(wǎng)絡(luò)上所有的傳輸,某些情況下也就無(wú)法真正了解網(wǎng)絡(luò)的故障和運(yùn)行情況。硬件的Sniffer通常稱為協(xié)議分析儀,一般都是商業(yè)性的,價(jià)格也比較昂貴,但會(huì)具備支持各類擴(kuò)展的鏈路捕獲能力以及高性能的數(shù)據(jù)實(shí)時(shí)捕獲分析的功能。
基于以太網(wǎng)絡(luò)嗅探的Sniffer只能抓取一個(gè)物理網(wǎng)段內(nèi)的包,就是說(shuō),你和監(jiān)聽(tīng)的目標(biāo)中間不能有路由或其他屏蔽廣播包的設(shè)備,這一點(diǎn)很重要。所以,對(duì)一般撥號(hào)上網(wǎng)的用戶來(lái)說(shuō),是不可能利用Sniffer來(lái)竊聽(tīng)到其他人的通信內(nèi)容的。
4.網(wǎng)絡(luò)監(jiān)聽(tīng)的目的
當(dāng)一個(gè)黑客成功地攻陷了一臺(tái)主機(jī),并拿到了root權(quán)限,而且還想利用這臺(tái)主機(jī)去攻擊同一(物理)網(wǎng)段上的其他主機(jī)時(shí),他就會(huì)在這臺(tái)主機(jī)上安裝Sniffer軟件,對(duì)以太網(wǎng)設(shè)備上傳送的數(shù)據(jù)包進(jìn)行偵聽(tīng),從而發(fā)現(xiàn)感興趣的包。如果發(fā)現(xiàn)符合條件的包,就把它存到一個(gè)LOg文件中去。通常設(shè)置的這些條件是包含字“username”或“password”的包,這樣的包里面通常有黑客感興趣的密碼之類的東西。一旦黑客截獲得了某臺(tái)主機(jī)的密碼,他就會(huì)立刻進(jìn)入這臺(tái)主機(jī)。
如果Sniffer運(yùn)行在路由器上或有路由功能的主機(jī)上,就能對(duì)大量的數(shù)據(jù)進(jìn)行監(jiān)控,因?yàn)樗羞M(jìn)出網(wǎng)絡(luò)的數(shù)據(jù)包都要經(jīng)過(guò)路由器。
Sniffer屬于第M層次的攻擊。就是說(shuō),只有在攻擊者已經(jīng)進(jìn)入了目標(biāo)系統(tǒng)的情況下,才能使用Sniffer這種攻擊手段,以便得到更多的信息。
Sniffer除了能得到口令或用戶名外,還能得到更多的其他信息,比如一個(gè)重要的信息、在網(wǎng)上傳送的金融信息等等。Sniffer幾乎能得到任何在以太網(wǎng)上傳送的數(shù)據(jù)包。
二、Sniffer產(chǎn)品介紹
網(wǎng)絡(luò)的安全性和高可用性是建立在有效的網(wǎng)絡(luò)管理基礎(chǔ)之上的,網(wǎng)絡(luò)管理包括配置管理、故障管理、性能管理、安全管理和計(jì)費(fèi)管理五大部分。對(duì)于企業(yè)計(jì)算機(jī)網(wǎng)絡(luò)來(lái)說(shuō),網(wǎng)絡(luò)故障管理主要側(cè)重于實(shí)時(shí)的監(jiān)控,而網(wǎng)絡(luò)性能管理更看中歷史分析。
Sniffer網(wǎng)絡(luò)分析儀是一個(gè)網(wǎng)絡(luò)故障、性能和安全管理的有力工具,它能夠自動(dòng)地幫助網(wǎng)絡(luò)專業(yè)人員維護(hù)網(wǎng)絡(luò),查找故障,極大地簡(jiǎn)化了發(fā)現(xiàn)和解決網(wǎng)絡(luò)問(wèn)題的過(guò)程,廣泛適用于Ethernet、Fast Ethernet、Token Ring、Switched LANs、FDDI、X.25、DDN、Frame Relay、ISDN、ATM和Gigabits等網(wǎng)絡(luò)。
1.1 Sniffer產(chǎn)品的基本功能包括:
? 網(wǎng)絡(luò)安全的保障與維護(hù)
1. 對(duì)異常的網(wǎng)絡(luò)攻擊的實(shí)時(shí)發(fā)現(xiàn)與告警;
2. 對(duì)高速網(wǎng)絡(luò)的捕獲與偵聽(tīng);
3. 全面分析與解碼網(wǎng)絡(luò)傳輸?shù)膬?nèi)容;
? 面向網(wǎng)絡(luò)鏈路運(yùn)行情況的監(jiān)測(cè)
1. 各種網(wǎng)絡(luò)鏈路的運(yùn)行情況;
2. 各種網(wǎng)絡(luò)鏈路的流量及阻塞情況;
3. 網(wǎng)上各種協(xié)議的使用情況;
4. 網(wǎng)絡(luò)協(xié)議自動(dòng)發(fā)現(xiàn);
5. 網(wǎng)絡(luò)故障監(jiān)測(cè);
? 面向網(wǎng)絡(luò)上應(yīng)用情況的監(jiān)測(cè)
1. 任意網(wǎng)段應(yīng)用流量、流向;
2. 任意服務(wù)器應(yīng)用流量、流向;
3. 任意工作站應(yīng)用流量、流向;
4. 典型應(yīng)用程序響應(yīng)時(shí)間;
5. 不同網(wǎng)絡(luò)協(xié)議所占帶寬比例;
6. 不同應(yīng)用流量、流向的分布情況及拓?fù)浣Y(jié)構(gòu);
? 強(qiáng)大的協(xié)議解碼能力,用于對(duì)網(wǎng)絡(luò)流量的深入解析
1. 對(duì)各種現(xiàn)有網(wǎng)絡(luò)協(xié)議進(jìn)行解碼;
2. 對(duì)各種應(yīng)用層協(xié)議進(jìn)行解碼;
3. Sniffer協(xié)議開(kāi)發(fā)包(PDK)可以讓用戶簡(jiǎn)單方便地增加用戶自定義的協(xié)議;
? 網(wǎng)絡(luò)管理、故障報(bào)警及恢復(fù)
運(yùn)用強(qiáng)大的專家分析系統(tǒng)幫助維護(hù)人員在最短時(shí)間內(nèi)排除網(wǎng)絡(luò)故障;
1.2 實(shí)時(shí)監(jiān)控統(tǒng)計(jì)和告警功能
根據(jù)用戶習(xí)慣,Sniffer可提供實(shí)時(shí)數(shù)據(jù)或圖表方式顯示統(tǒng)計(jì)結(jié)果,統(tǒng)計(jì)內(nèi)容包括:
? 網(wǎng)絡(luò)統(tǒng)計(jì):如當(dāng)前和平均網(wǎng)絡(luò)利用率、總的和當(dāng)前的幀數(shù)及字節(jié)數(shù)、總站數(shù)和激活的站數(shù)、協(xié)議類型、當(dāng)前和總的平均幀長(zhǎng)等。
? 協(xié)議統(tǒng)計(jì):如協(xié)議的網(wǎng)絡(luò)利用率、協(xié)議的數(shù)、協(xié)議的字節(jié)數(shù)以及每種協(xié)議中各種不同類型的幀的統(tǒng)計(jì)等。
? 差錯(cuò)統(tǒng)計(jì):如錯(cuò)誤的CRC校驗(yàn)數(shù)、發(fā)生的碰撞數(shù)、錯(cuò)誤幀數(shù)等。
? 站統(tǒng)計(jì):如接收和發(fā)送的幀數(shù)、開(kāi)始時(shí)間、停止時(shí)間、消耗時(shí)間、站狀態(tài)等。最多可統(tǒng)計(jì)1024個(gè)站。
? 幀長(zhǎng)統(tǒng)計(jì):如某一幀長(zhǎng)的幀所占百分比,某一幀長(zhǎng)的幀數(shù)等。
當(dāng)某些指標(biāo)超過(guò)規(guī)定的閾值時(shí),Sniffer可以自動(dòng)顯示或采用有聲形式的告警。
Sniffer可根據(jù)網(wǎng)絡(luò)管理者的要求,自動(dòng)將統(tǒng)計(jì)結(jié)果生成多種統(tǒng)計(jì)報(bào)告格式,并可存盤(pán)或打印輸出。
1.3 Sniffer實(shí)時(shí)專家分析系統(tǒng)
高度復(fù)雜的網(wǎng)絡(luò)協(xié)議分析工具能夠監(jiān)視并捕獲所有網(wǎng)絡(luò)上的信息數(shù)據(jù)包,并同時(shí)建立一個(gè)特有網(wǎng)絡(luò)環(huán)境下的目標(biāo)知識(shí)庫(kù)。智能的專家技術(shù)掃描這些信息以檢測(cè)網(wǎng)絡(luò)異?,F(xiàn)象,并自動(dòng)對(duì)每種異?,F(xiàn)象進(jìn)行歸類。所有異?,F(xiàn)象被歸為兩類:一類是symptom(故障征兆提示,非關(guān)鍵事件例如單一文件的再傳送),另一類是diagnosis(已發(fā)現(xiàn)故障的診斷,重復(fù)出現(xiàn)的事件或要求立刻采取行動(dòng)的致命錯(cuò)誤)。經(jīng)過(guò)問(wèn)題分離、分析且歸類后,Sniffer將實(shí)時(shí)地,自動(dòng)發(fā)出一份警告、對(duì)問(wèn)題進(jìn)行解釋并提出相應(yīng)的建議解決方案。
Sniffer與其他網(wǎng)絡(luò)協(xié)議分析儀更大的差別在于它的人工智能專家系統(tǒng)(Expert System)。簡(jiǎn)單地說(shuō),Sniffer能自動(dòng)實(shí)時(shí)監(jiān)視網(wǎng)絡(luò),捕捉數(shù)據(jù),識(shí)別網(wǎng)絡(luò)配置,自動(dòng)發(fā)現(xiàn)網(wǎng)絡(luò)故障并進(jìn)行告警,它能指出:
? 網(wǎng)絡(luò)故障發(fā)生的位置,以及出現(xiàn)在OSI第幾層。
? 網(wǎng)絡(luò)故障的性質(zhì),產(chǎn)生故障的可能的原因以及為解決故障建議采取的行動(dòng)。
? Sniffer 還提供了專家配制功能,用戶可以自已設(shè)定專家系統(tǒng)判斷故障發(fā)生的觸發(fā)條件。
? 有了專家系統(tǒng),您無(wú)需知道那些數(shù)據(jù)包構(gòu)成網(wǎng)絡(luò)問(wèn)題,也不必熟悉網(wǎng)絡(luò)協(xié)議,更不用去了解這些數(shù)據(jù)包的內(nèi)容,便能輕松解決問(wèn)題。
1.4 OSI全協(xié)議七層解碼
Sniffer的軟件非常豐富,可以對(duì)在各種網(wǎng)絡(luò)上運(yùn)行的400多種協(xié)議進(jìn)行解碼,如TCP/IP、Novell Netware、DECnet、SunNFS、X-Windows、HTTP、TNS SLQ*Net v2(Oracle)、Banyan v5.0和v6.0、TDS/SQL(Sybase)、X.25、Frame Realy、PPP、Rip/Rip v2、EIGRP、APPN、TP等。還廣泛支持專用的網(wǎng)絡(luò)互聯(lián)橋/路由器的幀格式。
Sniffer可以在全部七層OSI協(xié)議上進(jìn)行解碼,目前沒(méi)有任何一個(gè)系統(tǒng)可以做到對(duì)協(xié)議有如此透徹的分析;它采用分層方式,從更低層開(kāi)始,一直到第七層,甚至對(duì)ORACAL數(shù)據(jù)庫(kù)、SYBASE數(shù)據(jù)庫(kù)都可以進(jìn)行協(xié)議分析;每一層用不同的顏色加以區(qū)別。
Sniffer對(duì)每一層都提供了Summary(解碼主要規(guī)程要素)、Detail(解碼全部規(guī)程要素)、Hex(十六進(jìn)制碼)等幾種解碼窗口。在同一時(shí)間,最多可以打開(kāi)六個(gè)觀察窗口。
Sniffer還可以進(jìn)行強(qiáng)制解碼功能(Protocl Forcing),如果網(wǎng)絡(luò)上運(yùn)行的是非標(biāo)準(zhǔn)協(xié)議,可以使用一個(gè)現(xiàn)有標(biāo)準(zhǔn)協(xié)議樣板去嘗試解釋捕獲的數(shù)據(jù)。
Sniffer提供了在線實(shí)時(shí)解碼分析和在線捕捉,將捕捉的數(shù)據(jù)存盤(pán)后進(jìn)行解碼分析二種功能。
二、Sniffer的商業(yè)應(yīng)用
Sniffer被 Network General公司注冊(cè)為商標(biāo),這家公司以出品Sniffer Pro系列產(chǎn)品而知名。目前最新版本為Sniffer Portable 4.9,這類產(chǎn)品通過(guò)網(wǎng)絡(luò)嗅探這一技術(shù)方式,對(duì)數(shù)據(jù)協(xié)議進(jìn)行捕獲和解析,能夠大大幫助故障診斷和網(wǎng)絡(luò)應(yīng)用性能的分析鑒別。
Network General 已經(jīng)被NetScout公司收購(gòu)。
三、Sniffer的擴(kuò)展應(yīng)用
1、專用領(lǐng)域的Sniffer
Sniffer被廣泛應(yīng)用到各種專業(yè)領(lǐng)域,例如FIX (金融信息交換協(xié)議)、MultiCast(組播協(xié)議)、3G (第三代移動(dòng)通訊技術(shù))的分析系統(tǒng)。其可以解析這些專用協(xié)議數(shù)據(jù),獲得完整的解碼分析。
2、長(zhǎng)期存儲(chǔ)的Sniffer應(yīng)用
由于現(xiàn)代網(wǎng)絡(luò)數(shù)據(jù)量驚人,帶寬越來(lái)越大。采用傳統(tǒng)方式的Sniffer產(chǎn)品很難適應(yīng)這類環(huán)境,因此誕生了伴隨有大量硬盤(pán)存儲(chǔ)空間的長(zhǎng)期記錄設(shè)備。例如nGenius Infinistream等。
3、易于使用的Sniffer輔助系統(tǒng)
由于協(xié)議解碼這類的應(yīng)用曲高和寡,很少有人能夠很好的理解各類協(xié)議。但捕獲下來(lái)的數(shù)據(jù)卻非常有價(jià)值。因此在現(xiàn)代意義上非常流行如何把協(xié)議數(shù)據(jù)采用更好的方式進(jìn)行展示,包括產(chǎn)生了可以把Sniffer數(shù)據(jù)轉(zhuǎn)換成Excel的BoneLight類型的應(yīng)用和把Sniffer分析數(shù)據(jù)進(jìn)行圖形化的開(kāi)源系統(tǒng)PacketMap等。這類應(yīng)用使用戶能夠更簡(jiǎn)明地理解Sniffer數(shù)據(jù)。
4、無(wú)線網(wǎng)絡(luò)的Sniffer
傳統(tǒng)Sniffer是針對(duì)有線網(wǎng)絡(luò)中的局域網(wǎng)而言,所有的捕獲原理也是基于CA/CD的技術(shù)實(shí)現(xiàn)。隨著WLAN的廣泛使用,Sniffer進(jìn)一步擴(kuò)展到802.11A/B/G/N的無(wú)線網(wǎng)絡(luò)分析能力。無(wú)線網(wǎng)絡(luò)相比傳統(tǒng)網(wǎng)絡(luò)無(wú)論從捕獲的原理和接入的方式都發(fā)生了較大改變。這也是Sniffer技術(shù)發(fā)展趨勢(shì)中非常重要的部分.
關(guān)于linux 權(quán)限繞過(guò)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
網(wǎng)頁(yè)名稱:如何在Linux下規(guī)避權(quán)限限制?(linux權(quán)限繞過(guò))
文章來(lái)源:http://m.fisionsoft.com.cn/article/cciigsj.html


咨詢
建站咨詢
