日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何在Linux下規(guī)避權(quán)限限制?(linux權(quán)限繞過)

Linux是一種開源且自由的操作系統(tǒng),在日常使用中可能會遇到一些權(quán)限限制的問題。對于一些用戶來說,他們想要既使用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)時代的邵武網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

1.使用su命令

su命令可以讓一個普通用戶臨時切換到超級用戶模式,進(jìn)而執(zhí)行需要超級用戶權(quán)限的任務(wù)。在執(zhí)行su命令時,請輸入常規(guī)用戶的密碼 。一旦你被認(rèn)證為常規(guī)用戶,你就可以使用超級用戶權(quán)限執(zhí)行命令。

舉例來說,如果你想要編輯/etc/passwd文件,你可以在終端中鍵入su -,此時你的普通用戶將會升級為root用戶。然后,你就可以編輯/etc/passwd文件,并在操作完成后通過輸入exit命令來回退到普通用戶模式。請注意,使用su命令可能會危險,因?yàn)槿绻阍诔売脩裟J较聢?zhí)行錯誤的操作時,可能會造成系統(tǒng)損壞。

2.使用sudo命令

sudo命令可以讓系統(tǒng)管理員授權(quán)其他用戶對超級用戶權(quán)限進(jìn)行限制使用。在執(zhí)行sudo命令時,你需要輸入常規(guī)用戶的密碼,這樣可以確保只有授權(quán)的用戶才能訪問超級用戶權(quán)限。

舉例來說,如果你想要添加新用戶,請鍵入sudo useradd 新用戶名,輸入常規(guī)用戶密碼并繼續(xù)完成相關(guān)操作。請注意,在使用sudo命令時,出現(xiàn)錯誤的情況少之又少。

3.更改文件權(quán)限

如果你需要在Linux中訪問某些需要超級用戶權(quán)限才能使用的文件,可以更改訪問這些文件的用戶和組權(quán)限。這個方法可以讓你在不需要超級用戶權(quán)限的情況下訪問和編輯這些文件。

舉個例子,假設(shè)你擁有一個只有root用戶可以訪問的文件夾。你可以通過先在root用戶下更改該文件夾的權(quán)限為777,這樣普通用戶就可以在不需要超級用戶權(quán)限的情況下訪問該文件夾。如果你想要再次設(shè)置文件夾為只讀,可以使用chown命令將權(quán)限改回到root用戶。

在Linux中,規(guī)避權(quán)限限制有不少方法,以上三個方法不是唯一的并且也不是確定可行的方法。在決定采用某個方法時,請您確保您對于該方法的基本概念和使用方法都比較了解,這樣您就可以更安全、穩(wěn)定、和高效地使用Linux系統(tǒng)。

相關(guān)問題拓展閱讀:

  • linux內(nèi)核認(rèn)識sata磁盤?
  • 操作系統(tǒng)中的一些概念問題
  • Sniffer是什么?怎么用?

linux內(nèi)核認(rèn)識sata磁盤?

這是來自 IBM developerworks 的一個非常好的文章可以清楚地解釋如何啟動火線和USB設(shè)備 Linux操作系統(tǒng)的原理。

希望它在對任何有興趣把Linux操作系統(tǒng)安裝到外部設(shè)備的人有所幫助。

原始的網(wǎng)址

從火線設(shè)備上啟動Linux

可移動驅(qū)動器上安裝Linux操作系統(tǒng)

難度等級:中等

Martyn Honeyford() IBM英國實(shí)驗(yàn)室 軟件工程師

宣可達(dá)()翻譯 webzi@linuxsir

2023年7月15日

2023年7月26日開始翻譯,7月28日完成。

翻譯經(jīng)驗(yàn)不多。如有不妥,歡迎EMAIL交流。

使用一個外部驅(qū)動器是一個極棒的方法,能給你的老硬件帶來新生和讓你在你不能(或者不想)改變內(nèi)置硬盤的計(jì)算機(jī)上使用Linux系統(tǒng)。

假設(shè)你想使用Linux在一個雙啟動環(huán)境,但是你的計(jì)算機(jī)硬盤又沒有任何空余的空間。一種解決方法是使用”live”的linux發(fā)行版本象是Knoppix,他們這能直接從CD啟動運(yùn)行。 對于偶爾使用,這是一種可行的辦法,但是它有若干的劣勢:

*你將會仍然需要些固定文件存儲。如果你只是操作少量的文件,一張1.44MB的磁盤就可以勝任,或者一個USB閃存棒適合中等量的文件,但是這些都不夠理想。

*當(dāng)使用一個LiveCD 的時候,最困難、最糟糕、最不可能的是安裝你自己的應(yīng)用程序或者定制現(xiàn)存的程序。

*使用LiveCD在性能上的犧牲,在啟動初所有的設(shè)備檢測時尤為明顯,同樣發(fā)生使用中(所有的文件從 CD 載入通常是比從硬盤中載入慢的多)。

的確,還有其他可選方案。舉例來說,你可以買額外的內(nèi)置驅(qū)動器并且在此安裝Linux操作系統(tǒng)。但是常常,你可能沒有任何空閑的擴(kuò)展阜。(這特別容易發(fā)生在筆記本上,通常他們只允許一個內(nèi)置硬盤。)

或者,你可以使用一個較大的硬盤取代當(dāng)前的硬盤, 獲得額外空間用于安裝 Linux操作系統(tǒng)。 然而,這的確是一個耗費(fèi)大量時間的方案,需要你重新安裝現(xiàn)有的操作系統(tǒng)在新的硬盤, 重新安裝和配置你所有應(yīng)用程序, 和恢復(fù)所有數(shù)據(jù)。

更好的解決方案是購買一個外置硬盤并安裝 Linux操作系統(tǒng)。 這卜搜樣使得你在想使用Linux系統(tǒng)時候不必涉及現(xiàn)有的硬件和軟件而只是簡單連接外部驅(qū)動器。

可選的可移動設(shè)備

可用于安裝Linux操作系統(tǒng)設(shè)備涵蓋磁盤驅(qū)動器、USB-閃存設(shè)備、通過USB/火線連接的硬盤等等。

在一個小容量的設(shè)備中安裝linux是可行的,例如在一個1.44MB的磁盤或者一個32MB的USB棒中,他們通常(必須)為特定目的定制,采用裁減的發(fā)行版本,例如,拯救中斷的安裝過程。

外置的硬盤在為使用一個常規(guī)目的的linux系統(tǒng)提供更大的靈活性同時,帶來一個合理的成本。

許多不同的廠商提供許棚山多種不同容量的外置的驅(qū)動器。 (Maxtor, 西西部數(shù)據(jù), 等等)。這些驅(qū)動器還會包含一個外置盒子,用于鏈弊中固定標(biāo)準(zhǔn)的 3-1/2 寸或 2-1/2 寸 IDE 硬盤。 然后這些驅(qū)動器經(jīng)由 USB 或 IEEE1394(火線) 連接到計(jì)算機(jī)。

USB 受到在二個主要的版本中的影響,1.1 和 2.0. 1.1 版速度為12 Mbit/ s(每秒1Mbit) ,而 2.0 版支持更高達(dá)到 480 Mbit/s 的傳輸速度。 大多數(shù)2.0相容的驅(qū)動器也向后兼容1.1,通常建議盡量不要采用1.1接口除非沒有其他的選擇(因?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)更大的靈活性, 可以選擇眾多同時支持 USB 2.0 和火線的驅(qū)動器中的一種。(像我稍后將在這一個文章中使用的那個一樣。)

對于那些沒有必須的接口, PCI(對于桌面) 和 PCMCIA(對于筆記本型電腦) ,現(xiàn)在火線和USB 2.0擴(kuò)展卡也并非貴不可及: 舉例來說, 我稍后將在文章中提及PCMCIA火線擴(kuò)展卡大約為10英鎊.($20 美元以下)

為了達(dá)到本文的目的,我已經(jīng)購買 5-1/4寸外置驅(qū)動器的硬盤盒。 這是一件非常靈活的硬盤盒,并沒提供驅(qū)動器而且能固定任何的標(biāo)準(zhǔn) IDE 設(shè)備,包括 3-1/2 寸驅(qū)動器和像CD-RW/DVD-RW等5-1/4 寸 IDE 設(shè)備 。硬盤盒兼有 USB 2.0 和火線接口。

為了把硬盤盒連接到我的IBM Thinkpad T30筆記本電腦,我也購買了一個 PCMCIA 火線轉(zhuǎn)接卡。 ( 因?yàn)閮?nèi)置的USB 接口只支持USB 1.1)

硬盤盒和火線轉(zhuǎn)接卡相對比較便宜。 (大約分別為50英鎊和10英鎊。)

測試期間, 我把一個手邊閑置的13 GB 3-1/2 寸 IDE 硬盤放進(jìn)硬盤盒——對于真實(shí)情況,我會買一個較大的容量驅(qū)動器, 現(xiàn)在另購一個硬盤相當(dāng)?shù)土? 大約每個50英鎊!)

Linux 支持

正如你所期待,linux對這些硬盤盒支持的確非常好。任何遵從SBP(串行總線協(xié)議)標(biāo)準(zhǔn)的大儲存設(shè)備在linux中使用非常簡單。

大體上, 使對這些裝置的支持你能夠?qū)枰谀愕暮诵闹兄С帜承┻x項(xiàng)( 或直接地編譯或通過模塊。)

對于USB和火線,SBP 裝置通過SCSI模擬來實(shí)現(xiàn)– 也就是說,Linux會把他們當(dāng)作SCSI硬盤來處理 。 這是在 Linux 世界里面使用存儲設(shè)備的一個常規(guī)方法。 ( 舉例來說, IDE CD/DVD設(shè)備通常通過SCSI模擬來連接)?;谝陨显?下列的選項(xiàng)需要被內(nèi)核支持:

* SCSI support

* SCSI emulation

* SCSI disk support

除此之外,不同連接方式需要一下的內(nèi)核支持:

* 針對火線:

* IEEE1394 support

* OHCI1394 support

* RAW1394 support

* SBP-2 support

* 針對USB:

*(host-side) USB support

* OHCI support

* UHCI support

* USB mass-storage support

明顯地,你還必須為其他的硬件 ( 如顯卡等等)編譯常規(guī)的支持, 而且可能需要一些額外的模塊,取決你的具體硬件。

舉例來說,我正在使用 PCMCIA(cardbus) 火線轉(zhuǎn)接卡,因此,我還需要增加:

* PCMCIA support

* cardbus support

安裝

現(xiàn)在我們有很完美外置驅(qū)動器,我們將開始安裝在其安裝Linux美妙之旅。

目前最簡單的安裝linux方法(當(dāng)然僅個人意見) , 是連接你的所有硬件;(我的情況是,插入火線轉(zhuǎn)接卡,連上轉(zhuǎn)接線盒驅(qū)動器,然后打開驅(qū)動器的電源) 然后從你選擇的發(fā)行版安裝CD上啟動你的計(jì)算機(jī)。

我采用的發(fā)行版是Gentoo(資源詳見鏈接),因此,我用了最新的 “通用”x86 LiveCD。 (2023.1) 其他的發(fā)行版本必須的步驟大致和此相似。

一旦你使用安裝CD啟動,要藉由一點(diǎn)運(yùn)氣讓他要辨認(rèn)出你的驅(qū)動器。 磁盤應(yīng)該出現(xiàn)在/dev/sdX, X 是一個小寫字母從“a”開始。 在我的系統(tǒng)上,外置硬盤被當(dāng)做 /dev/sda, 但是如果你有其他的 SCSI硬盤,這數(shù)字將會改變;( 或模擬了SCSI硬盤) 那種情況下,它可能是 /dev/sdb 或一些其他的字母。 如果你的驅(qū)動器不能被自動檢測到, 就需要進(jìn)一步采取措施 — 舉例來說,你可能必須打開啟動選項(xiàng)使用火線或者PCMCIA接口, 或你可能必須手動裝載一些內(nèi)核模塊 , 或其他一類選項(xiàng)。 (資源詳見故障發(fā)現(xiàn)與維修指導(dǎo)鏈接)

一旦驅(qū)動器被辨認(rèn)出來,安裝過程種其運(yùn)作起來就像一個內(nèi)置的硬盤。然后就你可以對其分區(qū)并且用常規(guī)方法安裝linux。

有一句話我著重要提醒,小心選擇何處安oot loader(通常是GRUB和LILO)--我建議不要裝到主引導(dǎo)記錄(MBR)中( 通常是默認(rèn)值) 而是裝到外置驅(qū)動器的根分區(qū) ( 或/boot分區(qū),如果你單獨(dú)分了一個話)。

既然我們已經(jīng)安裝 Linux 在這個設(shè)備上,我們想要從上面啟動它。 事情到此開始變的有點(diǎn)復(fù)雜了。

啟動

在我前討論在如何的新驅(qū)動器上面啟動,我要講解一些boot loader的小知識。

boot loader程序通常安裝在計(jì)算機(jī)的之一個硬盤的MBR上。 當(dāng)boot loader被調(diào)用 (BIOS自動地運(yùn)行MBR里的代碼),它通常顯示一份可啟動操作系統(tǒng)的菜單。以便選擇一個給定的操作系統(tǒng)啟動計(jì)算機(jī)。

兩件細(xì)節(jié)在這個章節(jié)中應(yīng)該注意:

* 操作系統(tǒng)選擇菜單(通常)從磁盤中載入。

*為了啟動有關(guān)的操作系統(tǒng), boot loader 需要從磁盤中讀取相關(guān)的內(nèi)核。

在操作系統(tǒng)被裝載之前 ,以上各步驟已經(jīng)執(zhí)行,這意味著所有的磁盤讀取在BIOS調(diào)用時。 這是一個必須的前提,即,為了直接啟動磁盤,你的 BIOS必須支持通過火線或USB被連接的磁盤。通常能在BIOS中看到關(guān)于從這些設(shè)備上啟動選項(xiàng)。 火線BIOS支持現(xiàn)在的確非常的少見,但是 USB 支持正在變得相當(dāng)?shù)钠匠!?因此,如果你正在使用一部相對比較新的計(jì)算機(jī)上的USB接口,應(yīng)該可以直接啟動驅(qū)動器進(jìn)Linux。

當(dāng)經(jīng)由 USB 連接,在安裝外部的驅(qū)動器的 MBR 的幼蟲之后,我能夠直接地啟動它。 當(dāng)以被連接的磁盤片啟動的時候,只是進(jìn)入 BIOS 裝備公用程序。 外部的磁盤片將會出現(xiàn)如一個一般的硬盤: 移動它,如此它在啟動次序中的內(nèi)在驅(qū)動器之前。

我也能夠在一個內(nèi)置的硬盤的MBR上安裝一個boot loader而且使用其啟動USB硬盤(在GRUB中被成為hd1)。 如果你正在使用火線, 有可能你的 BIOS 將會無法直接地啟動硬盤,而且你需要更多一點(diǎn)步驟。

幸運(yùn)的是,由于 Linux 的多樣性,這有非常容易解決,如果你不能直接地啟動,( 我就是這樣的情況,使用一個PCMCIA轉(zhuǎn)接卡!) 你能運(yùn)行初始啟動步驟,來自一個支持的設(shè)備 , 像是一臺軟驅(qū),CD-ROM,USB棒,或在主硬盤上的小分區(qū), 然后使用外部的驅(qū)動器繼續(xù)其他步驟。

創(chuàng)建一個啟動鏡像

我們有2種方法啟動:

*單階啟動

內(nèi)核啟動, 掛載根分區(qū)文件系統(tǒng), 接著調(diào)用初始化教本繼續(xù)初始化( 通常是/in/init)

*雙階啟動 (initrd)的啟動

內(nèi)核啟動,掛載一個初始ram disk (initrd),進(jìn)一步運(yùn)行定制的初始化, 然后掛載根分區(qū)文件系統(tǒng)繼續(xù)初始化(同樣, 通常調(diào)用/in/init)

每種方法都有它自己的優(yōu)點(diǎn)和缺點(diǎn)。

單階啟動

為了要使用一個單階的啟動,我們需要建立一個內(nèi)核包含掛載一個根分區(qū)文件系統(tǒng)所需的所有驅(qū)動程序。( 任何其他的驅(qū)動能作為模塊編譯并在根分區(qū)載入時候進(jìn)行常規(guī)初始化。)

如果我們正在從像軟盤這樣的一個非常小的裝置嘗試啟動, 更好的方式是創(chuàng)建的一個正合適內(nèi)核,編譯進(jìn)所有掛載根外部分區(qū)系統(tǒng)所需驅(qū)動 — 而且編譯其他的作為模塊。 舉例來說,我的內(nèi)核編譯進(jìn)了SCSI支持, PCMCIA 支持, IEE1394 , SBP ,和其他相似的支持, 但是其他的(包括顯卡支持,網(wǎng)絡(luò)設(shè)備支持,等等)當(dāng)做模塊編譯并儲存在根分區(qū)上(在外部的驅(qū)動器的),而不是存儲在軟盤上。

這種方法的主要問題是需要我們給內(nèi)核源代碼打補(bǔ)丁– 那是一種最糟糕的痛苦(當(dāng)新的內(nèi)核發(fā)布),而真正的問題是如果補(bǔ)丁沒有在維護(hù),這樣就不能跟上內(nèi)核的變化。

你可能以為如果計(jì)算機(jī)BIOS支持USB和火線直接啟動,我們能避免發(fā)生以上的2個問題。 不幸地,事情不是這樣:這一個方法使用BIOS在啟動時調(diào)用磁盤,一旦內(nèi)核開始初始化, BIOS就失去了作用,而且使用內(nèi)核驅(qū)動來調(diào)用磁盤– 所以你仍然會碰到同樣的問題。

二階啟動

內(nèi)核2.0.X版本 ,添加了一個有趣的功能到內(nèi)核 — 使用“initial RAM disk(初始內(nèi)存磁盤)”(or initrd)來實(shí)現(xiàn)二階啟動。

簡言之,內(nèi)核一概既往的啟動;掛載一個創(chuàng)建在內(nèi)存里迷你的根分區(qū)文件系統(tǒng)取代掛載“真正”的根分區(qū)系統(tǒng)。 無論任何命令都在這個初始環(huán)境中執(zhí)行在“真正”的根分區(qū)系統(tǒng)被掛載之前直到我們切換到真正的根分區(qū)文件系統(tǒng)并銷毀初始內(nèi)存磁盤(initial RAM disk)。

這點(diǎn)在各種環(huán)境中都非常有用,但是我們的目標(biāo)僅僅是簡單的利用我們的迷你環(huán)境去重新掃描SCSI總線,等待外部驅(qū)動器識別,然后用它切換到我們真正的根而后繼續(xù)啟動。

使用這種方法,我們需要創(chuàng)建2個文件,一個內(nèi)核和一個初始鏡像文件。

內(nèi)核僅是一個內(nèi)建啟動鏡像(initrd)支持常規(guī)內(nèi)核。 initrd 鏡像是一個包涵我們迷你根分區(qū)系統(tǒng)的環(huán)路(loopback)文件系統(tǒng)鏡像。 (該鏡像可以有選折地使用gzip壓縮來減小它的大小)。

你能在資源章節(jié)里找到關(guān)于如何創(chuàng)建和定制你自己的初始鏡像的更多信息。

在鏡像文件里,有一個linuxrc的文件。當(dāng)鏡像給載入時,該文件自動運(yùn)行,所以請確定其有運(yùn)行權(quán)限!為了達(dá)到我們的目的,linuxrc文件非常的簡單:

列舉 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)它會給常規(guī)的INIT進(jìn)程重新掛載)

umount /proc

#now we simply exit, and the normal boot process should continue

(現(xiàn)在我們可以退出了,常規(guī)的啟動進(jìn)程將會繼續(xù))

exit 0

我們正在做的是載入適當(dāng)?shù)哪K去支持外部驅(qū)動器: 請按需注視相應(yīng)行。 (我把所有需要的支持編譯進(jìn)內(nèi)核,因此不需要模塊)。 然后循環(huán), 再掃描 SCSI 總線 (回應(yīng)一個命令到/proc虛擬文件系統(tǒng)下一個特別文件并調(diào)用devfsd程序) 直到根分區(qū)設(shè)備出現(xiàn)(我的情況是/dev/sda1 )。在我的情況,被訪問的火線模擬SCSI總線是1 0 0,但是并不影響嘗試部分其他的總線 — 如果你知道將會使用哪一個,你可以裁減這個教本。 同時, 如果你有其他的 SCSI 設(shè)備 (或模擬 SCSI設(shè)備), 驅(qū)動器可能有一個不同的字母。(例如,/dev/sdb1) 而且如果你沒有使用外置驅(qū)動器上的之一個分區(qū), 你將會需要使用一個不同的數(shù)字。( 例如,/dev/sda2)

現(xiàn)在我們需要做的全部是復(fù)制相關(guān)的文件進(jìn)initrd鏡像.( 你能夠使用mount -o loop 命令掛載未壓縮的鏡像)尤其,我們需要確定我們有 linuxrc 文件、所有被用到的命令和其依賴的庫。 這個(未掛載的)鏡像可以有選折的壓縮。

復(fù)制內(nèi)核 (bzImage) 和 initrd 鏡像 (initrd.gz)到磁盤。

最后的步是在磁盤上安裝一個boot loader, 而且用下列的選項(xiàng)啟動內(nèi)核: kernel bzImage root=/dev/sda1 initrd=initrd.gz.

你現(xiàn)在應(yīng)該可以使用磁盤來啟動了:它會從軟盤中載入內(nèi)核,載入initrd鏡像入內(nèi)存,然后從那里繼續(xù)常規(guī)啟動。這點(diǎn)以后,磁盤就可以拿開了。

如果磁盤不合適 ( 例如,計(jì)算機(jī)沒有軟驅(qū)),任何設(shè)備在BIOS能用于啟動都可以使用。 個人而言,我就使用一個小小的32MB的USB棒來達(dá)到這個目的。

參考資料:

早就能用了。只要是用新版本就可以了。不過有的機(jī)器硬件太新或者功能特強(qiáng),還需要用老版激哪沒對應(yīng)驅(qū)動的系統(tǒng)。比如服務(wù)器的 SAS ,裝 RHEL 4.x 系列,一般才需要另找驅(qū)動。

bootloader 階段使用 BIOS 功能,所有的 SATA 默認(rèn)都有一個簡單的 BIOS 讀寫兼容功能提供支持。也就是說開了 AHCI ,BIOS 依然會提供兼容模式。不過現(xiàn)在的操作系統(tǒng)在內(nèi)核啟動后就會繞過 BIOS 直接操作硬件。這個時候如果開啟了 AHCI 模式,那么 IDE 兼容部分的硬件接口模擬就沒了,不過 BIOS 自己提供的讀寫功能雖然繼續(xù)提供,但系統(tǒng)已然不用了。所以帶畝 bootloader 可以蠢鉛森讀寫硬盤并不代表 linux 內(nèi)核可以讀寫硬盤。

linux 的驅(qū)動有兩種存放狀態(tài),編入內(nèi)核或者編成模塊。

initrd 里面的就是模塊,會被 bootloader 在讀取內(nèi)核時一起讀取進(jìn)入內(nèi)存。一般內(nèi)核模塊只在需要時載入,可以節(jié)省內(nèi)核的運(yùn)行體積。但現(xiàn)在新版 linux 內(nèi)核的 sata 驅(qū)動已經(jīng)高度集成了,所以很多發(fā)行版的 SATA 驅(qū)動都直接進(jìn)入內(nèi)核不需要模塊載入方式了。當(dāng)然這要看系統(tǒng)的設(shè)計(jì),有的系統(tǒng)既然 initrd 必然會提供,那么編入內(nèi)核確實(shí)沒意義。不過需要另外找驅(qū)動的硬件,都是模塊方式存在,他們在系統(tǒng)啟動時必須存在于 initrd 里面,不然內(nèi)核自己沒法集成,也不能從硬盤里面讀?。]驅(qū)動沒法讀盤,沒法讀盤就沒法讀驅(qū)動)。

BIOS 的 INT13 功能太簡單了。限制也特別多,現(xiàn)在都是能不用就不用的。所以這東西現(xiàn)在只有 bootloader 才會用。

舊版本的Linux有時不會識別Sata設(shè)備祥渣或者大容量的Sata設(shè)備,就需要額外的驅(qū)動。現(xiàn)在的Linux內(nèi)核都已經(jīng)添加了sata設(shè)備的驅(qū)動程序,是可以識別的,掛載塊設(shè)備基畝,一般是sda、sdb這些搏宴森

主板支持SATA接口就可以。

現(xiàn)在的版本完全沒問題

操作系統(tǒng)中的一些概念問題

這么多問題,沒分誰理你

操作系統(tǒng)(英語:Operating System,簡稱OS)是一管理電腦硬件與電腦軟件資源的程序,同時也是計(jì)算機(jī)系統(tǒng)的核心與基石。操作系統(tǒng)身負(fù)諸如管理與配置內(nèi)存、決定系統(tǒng)資源供需的優(yōu)先次序、控制輸入與輸出設(shè)備、操作網(wǎng)絡(luò)與管理文件系統(tǒng)等基本事務(wù)。操作系統(tǒng)也提供一個讓用戶與系統(tǒng)交互的操作接口。

操作系統(tǒng)的型態(tài)非常多樣,不同機(jī)器安裝的操作系統(tǒng)可從簡單到復(fù)雜,可從手機(jī)的嵌入式系統(tǒng)到超級電腦的大型操作系統(tǒng)。許多操作系統(tǒng)制造者對它涵蓋范疇的定義也不盡一致,例如有些操作系統(tǒng)集成了圖形化用戶界面,而有些僅使用文字接口,而將圖形接口視為一種非必要的應(yīng)用程序。

操作系統(tǒng)理論在計(jì)算機(jī)科學(xué)中,為歷史悠久而又活躍的分支;而操作系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)則是軟件工業(yè)的基礎(chǔ)與核心。

現(xiàn)代操作系統(tǒng)通常都有一個使用的繪圖設(shè)備的圖形化用戶界面,并附加如鼠標(biāo)或觸控面版等有別于鍵盤的輸入設(shè)備。舊的OS或效能導(dǎo)向的服務(wù)器通常不會有如殲如此親切的接口,而是以命令行接口(CLI)加上鍵盤為輸入設(shè)備。以上兩種接口其實(shí)都是所謂的殼,其功能為接受并處理用戶的指令(例如按下一按鈕,或在命令提示列上鍵入指令)。

選擇要安裝的操作系統(tǒng)通常與其硬件架構(gòu)有很大關(guān)系,只有Linux與BSD幾乎可在所有硬件架構(gòu)上運(yùn)行,而Windows NT僅移植到了DEC Alpha與MIPS Magnum。在1990年代早期,個人電腦的選擇就已被局限在Windows家族、類Unix家族以及Linux上,而以Linux及Mac OS X為最主要的另類選擇,直至今日。

大型機(jī)與嵌入式系統(tǒng)使用很多樣化的操作系統(tǒng)。大型主機(jī)近期有許多開始支持Java及Linux以便共享其他平臺的資源。嵌入式系統(tǒng)近期百家爭鳴,從給Sensor Networks用的Berkeley Tiny OS到可以操作Microsoft Office的Windows CE都有。

個人電腦: Apple Macintosh – Mac OS X,Windows(僅Intel平臺),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指稱的是一個內(nèi)置了固定應(yīng)用軟件的巨大泛用程序。在許多最簡單的嵌入式系統(tǒng)中,所謂的OS就是指其上唯一的應(yīng)用程序。

類Unix系統(tǒng): 所謂的類Unix家族指的是一族種類繁多的OS,此族包含了System V、BSD與Linux。由于Unix是The Open Group的注冊商標(biāo),特指遵守此公司定義的行為的操作系統(tǒng)。而類Unix通常指的是比原先的Unix包含更多特征的OS。

Unix系統(tǒng)可在非常多的處理器架構(gòu)下運(yùn)行,在服務(wù)器系統(tǒng)上有很高的使用率,例如大專院校或工程應(yīng)用的工作站。自由軟件Unix變種,例如Linux與BSD近來越來越受歡迎,它們也在個人桌面電腦市場上大有斬獲,例如Ubuntu系統(tǒng)。

某些Unix變種,例如HP的HP-UX以及IBM的AIX僅設(shè)計(jì)用于自家的硬件產(chǎn)品上,而SUN的Solaris可安裝于自家的硬件或x86電腦上。蘋果電腦的Mac OS X是一個從NeXTSTEP、Mach以及FreeBSD共同派生出來的微核心BSD系統(tǒng),此OS取代了蘋果電腦早期非Unix家族的Mac OS。

經(jīng)此橡彎歷數(shù)年的披荊斬棘,自由開源的Unix系統(tǒng)逐漸蠶食以往專利軟件的專業(yè)領(lǐng)域,例如以往電腦動畫運(yùn)算巨擘——SGI的IRIX系統(tǒng)已被Linux家族及貝爾實(shí)驗(yàn)室研發(fā)小組設(shè)計(jì)的九號計(jì)劃與Inferno系統(tǒng)取代,皆用于分散表達(dá)式環(huán)境。它們并不像其他Unix系統(tǒng),而是選擇內(nèi)置圖形化用戶界面。九號計(jì)劃原先并不普及,因?yàn)樗鼊偼瞥鰰r并非自由軟件。后來改在自由及開源軟件許可證Lucent Public License釋出后,便開始擁有廣大的用戶及社區(qū)。Inferno已被售予Vita Nuova并以GPL/MIT許可證釋出。

當(dāng)前,計(jì)算機(jī)按照計(jì)算能力排名世界500強(qiáng)中472臺使用Linux,6臺使用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)上借用來的。Windows可以在32位和64位的Intel和AMD的處理器上運(yùn)行,但是早期的版本也可以在DEC Alpha、MIPS與PowerPC架構(gòu)上運(yùn)行。 雖然由于人們對于開放源代碼作業(yè)系統(tǒng)興趣的提升,Windows的市場占有率有所下降,但是到2023年為止,Windows操作系統(tǒng)在世界范圍內(nèi)占據(jù)了桌面操作系統(tǒng)90%的市場。

Windows系統(tǒng)也被用在低級和中階服務(wù)器上,并且支持網(wǎng)頁服務(wù)的數(shù)據(jù)庫服務(wù)等一些功能。最近微軟花費(fèi)了很大研究與開發(fā)的經(jīng)費(fèi)用于使Windows擁有能運(yùn)行企業(yè)的大型程序的能力。

蘋果Mac OS: Mac OS是一套運(yùn)行于蘋果Macintosh系列電腦上的操作系統(tǒng)。Mac OS是首個在商用領(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)建造電腦時,每個中央處理器最多只能同時運(yùn)行一個進(jìn)程。早期的OS(例如DOS)也不允許任何程序打破這個限制,且DOS同時只有運(yùn)行一個進(jìn)程(雖然DOS自己宣稱他們擁有終止并等待駐留(TSR)能力,可以部分且艱難地解決這問題)?,F(xiàn)代的操作系統(tǒng),即使只擁有一個CPU,也可以利用多進(jìn)程(multitask)功能同時運(yùn)行復(fù)數(shù)進(jìn)程。進(jìn)程管理指的是操作系統(tǒng)調(diào)整復(fù)數(shù)進(jìn)程的功能。

由于大部分的電腦只包含一顆中央處理器,在單核心(Core)的情況下多進(jìn)程只是簡單迅速地切換各進(jìn)程,讓每個進(jìn)程都能夠運(yùn)行,在多核心或多處理器的情況下,所有進(jìn)程通過許多協(xié)同技術(shù)在各處理器或核心上轉(zhuǎn)換。越多進(jìn)程同時運(yùn)行,每個進(jìn)程能分配到的時間比率就越小。很多OS在遇到此問題時會出現(xiàn)諸如音效斷續(xù)或鼠標(biāo)跳格的情況(稱做崩潰(Thrashing),一種OS只能不停運(yùn)行自己的管理程序并耗盡系統(tǒng)資源的狀態(tài),其他用戶或硬件的程序皆無法運(yùn)行)。進(jìn)程管理通常實(shí)踐了分時的概念,大部分的OS可以利用指定不同的特權(quán)等級(priority),為每個進(jìn)程改變所占的分時比例。特權(quán)越高的進(jìn)程,運(yùn)行優(yōu)先級越高,單位時間內(nèi)占的比例也越高。交互式OS也提供某種程度的回饋機(jī)制,讓直接與用戶交互的進(jìn)程擁有較高的特權(quán)值。

除了進(jìn)程管理之外,OS尚有擔(dān)負(fù)起進(jìn)程間通信(IPC)、進(jìn)程異常終止處理以及死鎖(Dead Lock)偵測及處理等較為艱深的問題。

在進(jìn)程之下尚有運(yùn)行緒的問題,但是大部分的OS并不會處理運(yùn)行緒所遭遇的問題,通常OS僅止于提供一組API讓用戶自行操作或通過虛擬機(jī)的管理機(jī)制控制運(yùn)行緒之間的交互。

存儲器管理: 根據(jù)帕金森定律:“你給程序再多存儲器,程序也會想盡辦法耗光”,因此程序員通常希望系統(tǒng)給他無且無限快的存儲器。大部分的現(xiàn)代電腦存儲器架構(gòu)都是層次結(jié)構(gòu)式的,最快且數(shù)量最少的暫存器為首,然后是高速緩存、存儲器以及最慢的磁盤存儲設(shè)備。而OS的存儲器管理提供查找可用的記憶空間、配置與釋放記憶空間以及交換存儲器和低速存儲設(shè)備的內(nèi)含物……等功能。此類又被稱做虛擬內(nèi)存管理的功能大幅增加每個進(jìn)程可獲得的記憶空間(通常是4GB,既使實(shí)際上RAM的數(shù)量遠(yuǎn)少于這數(shù)目)。然而這也帶來了微幅降低運(yùn)行效率的缺點(diǎn),嚴(yán)重時甚至也會導(dǎo)致進(jìn)程崩潰。

存儲器管理的另一個重點(diǎn)活動就是借由CPU的幫助來管理虛擬位置。如果同時有許多進(jìn)程存儲于記憶設(shè)備上,操作系統(tǒng)必須防止它們互相干擾對方的存儲器內(nèi)容(除非通過某些協(xié)議在可控制的范圍下操作,并限制可訪問的存儲器范圍)。分區(qū)存儲器空間可以達(dá)成目標(biāo)。每個進(jìn)程只會看到整個存儲器空間(從0到存儲器空間的更大上限)被配置給它自己(當(dāng)然,有些位置被OS保留而禁止訪問)。CPU事先存了幾個表以比對虛擬位置與實(shí)際存儲器位置,這種方法稱為標(biāo)簽頁(paging)配置。

借由對每個進(jìn)程產(chǎn)生分開獨(dú)立的位置空間,OS也可以輕易地一次釋放某進(jìn)程所占據(jù)的所有存儲器。如果這個進(jìn)程不釋放存儲器,OS可以退出進(jìn)程并將存儲器自動釋放。

磁盤與文件系統(tǒng): 所謂的文件系統(tǒng),通常指稱管理磁盤數(shù)據(jù)的系統(tǒng),可將數(shù)據(jù)以目錄或文件的型式存儲。每個文件系統(tǒng)都有自己的特殊格式與功能,例如日志管理或不需磁盤重整。

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老舊,且對于文件長度與分區(qū)磁盤能力都有很大限制,因此造成很多問題。而UNIX的文件系統(tǒng)多半是UFS,而UNIX中的一個分支Solaris最近則開始支持一種新式的ZFS

大部份上述的文件系統(tǒng)都有兩種建置方法。系統(tǒng)可以以日志式(Journaling file system)或非日志式建置。日志式文件系統(tǒng)可以以較安全的手法運(yùn)行系統(tǒng)回復(fù)。如果一個沒有日志式建置的文件系統(tǒng)遇上突然的系統(tǒng)崩潰,導(dǎo)致數(shù)據(jù)創(chuàng)建在一半時停頓,則此系統(tǒng)需要特殊的文件系統(tǒng)檢查工具才能撤消;日志式則可自動回復(fù)。微軟的NTFS與Linux的ext3、ext4、reiserFS與JFS都是日志式文件系統(tǒng)。

每個文件系統(tǒng)都實(shí)現(xiàn)相似的目錄/子目錄架構(gòu),但在相似之下也有許多不同點(diǎn)。微軟使用“\”符號以創(chuàng)建目錄/子目錄關(guān)系,且文件名稱忽略其大小寫差異;UNIX系統(tǒng)則是以“/”創(chuàng)建目錄架構(gòu),且文件名稱大小寫有差異。

網(wǎng)絡(luò): 許多現(xiàn)代的OS都具備操作主流網(wǎng)絡(luò)通信協(xié)議TCP/IP的能力。也就是說這樣的操作系統(tǒng)可以進(jìn)入網(wǎng)絡(luò)世界,并且與其他系統(tǒng)分享諸如文件、打印機(jī)與掃描儀等資源。

許多OS也支持多個過去網(wǎng)絡(luò)啟蒙時代的各路網(wǎng)絡(luò)通信協(xié)議,例如IBM創(chuàng)建的SNA、DEC在它所生產(chǎn)的系統(tǒng)所設(shè)置的DECnet架構(gòu)與微軟為Windows制作的特殊通信協(xié)議。還有許多為了特殊功能而研發(fā)的通信協(xié)議,例如可以在網(wǎng)絡(luò)上提供文件訪問功能的NFS系統(tǒng)?,F(xiàn)今大量用于影音流(Streaming media)及游戲消息傳送的UDP協(xié)議等。

安全: 大多數(shù)OS都含有某種程度的信息安全機(jī)制。信息安全機(jī)制主要基于兩大理念:

OS提供外界直接或間接訪問數(shù)種資源的管道,例如本地端磁盤驅(qū)動器的文件、受保護(hù)的特權(quán)系統(tǒng)調(diào)用(System call)、用戶的隱私數(shù)據(jù)與系統(tǒng)運(yùn)行的程序所提供的服務(wù)。

OS有能力認(rèn)證(Authorization)資源訪問的請求。允許通過認(rèn)證的請求并拒絕無法通過的非法請求,并將適當(dāng)?shù)臋?quán)力授權(quán)(Authentication)給此請求。有些系統(tǒng)的認(rèn)證機(jī)制僅簡略地把資源分為特權(quán)或非特權(quán),且每個請求都有獨(dú)特的身份辨識號碼,例如用戶名稱。資源請求通常分成兩大種類:

內(nèi)部來源:通常是一個正在運(yùn)行的程序發(fā)出的資源請求。在某些系統(tǒng)上,一個程序一旦可運(yùn)行就可做任何事情(例如DOS時代的病毒),但通常OS會給程序一個識別代號,并且在此程序發(fā)出請求時,檢查其代號與所需資源的訪問權(quán)限關(guān)系。

外部來源:從非本地端電腦而來的資源請求,例如遠(yuǎn)程登錄本機(jī)電腦或某些網(wǎng)絡(luò)連接請求(FTP或HTTP)。為了識別這些外部請求,系統(tǒng)也許會對此請求提出認(rèn)證要求。通常是請求輸入用戶名稱以及相對應(yīng)的密碼。系統(tǒng)有時也會應(yīng)用諸如磁卡或生物識別數(shù)據(jù)的它種認(rèn)證方法。在某些例子,例如網(wǎng)絡(luò)通信上,通常不需通過認(rèn)證即可訪問資源(例如匿名訪問的FTP服務(wù)器或P2P服務(wù))。

除了允許/拒絕形式的安全機(jī)制,一個高安全等級的系統(tǒng)也會提供記錄選項(xiàng),允許記錄各種請求對資源訪問的行為(例如“誰曾經(jīng)讀了這個文件?”)。

肇因于軍方與商業(yè)組織將敏感數(shù)據(jù)記錄在電腦上,安全機(jī)制在OS歷史上是一個被長久關(guān)注與討論的問題。美國國防部(DoD)便創(chuàng)立了《可信賴之計(jì)算機(jī)系統(tǒng)評鑒程序》(TCSEC),此手冊確立了評鑒安全機(jī)制成效的基本原則。這對OS作者來說非常重要,因?yàn)門CSEC是用于評鑒、分類與選拔出用于處理、存儲與獲取敏感或機(jī)密數(shù)據(jù)的電腦系統(tǒng)的標(biāo)準(zhǔn)程序。

內(nèi)部信息安全: 內(nèi)部信息安全可視為防止正在運(yùn)行的程序任意訪問系統(tǒng)資源的手段。大多OS讓普通程序可直接操作電腦的CPU,所以產(chǎn)生了一些問題,例如怎樣把可如OS一樣處理事務(wù)、運(yùn)行同樣特殊指令的程序強(qiáng)迫停止,畢竟在此情境下,OS也只是另一個平起平坐的程序。為通用OS所生產(chǎn)的CPU通常于硬件層級上實(shí)踐了一定程度的特殊指令保護(hù)概念。通常特權(quán)層級較低的程序想要運(yùn)行某些特殊指令時會被阻斷,例如直接訪問像是硬盤之類的外部設(shè)備。因此,程序必須得經(jīng)由詢問OS,讓OS運(yùn)行特殊指令來訪問磁盤。因此OS就有機(jī)會檢查此程序的識別身份,并依此接受或拒絕它的請求。

在不支持特殊指令架構(gòu)的硬件上,另一個也是唯一的保護(hù)方法,則是OS并不直接利用CPU運(yùn)行用戶的程序,而是借由模擬一個CPU或提供一p-Code系統(tǒng)(偽代碼運(yùn)行機(jī)),像是Java一樣讓程序在虛擬機(jī)上運(yùn)行。

內(nèi)部安全機(jī)制在多用戶電腦上特別重要:它允許每個系統(tǒng)用戶擁有自己個人的文件與目錄,且其他用戶不能任意訪問或刪除。因?yàn)槿魏纬绦蚨伎赡芾@過OS的監(jiān)控,更有可能繞過側(cè)錄程序的監(jiān)控,擁有強(qiáng)制力的內(nèi)部安全機(jī)制在側(cè)錄啟動時也非常重要。

外部信息安全: 通常一個操作系統(tǒng)會為其他網(wǎng)絡(luò)上的電腦或用戶提供(主持)各種服務(wù)。這些服務(wù)通常借由端口或OS網(wǎng)絡(luò)地址后的數(shù)字訪問點(diǎn)提供。通常此服務(wù)包括提供文件共享(NTFS)、打印共享、電子郵件、網(wǎng)頁服務(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)時不需切割模塊因而較為省工,但是會有強(qiáng)烈副作用,例如圖形系統(tǒng)崩潰將導(dǎo)致整個系統(tǒng)崩潰,例如死亡藍(lán)屏幕。許多近代的OS已模塊化,將圖形接口的副系統(tǒng)與核心分開(已知Linux與Mac OS X原先就是如此設(shè)計(jì),而某些擴(kuò)充版本的Windows終于也采用此手法)。

許多OS允許用戶安裝或創(chuàng)造任何他們喜歡的圖形接口。大部分的Unix與Unix派生系統(tǒng)(BSD、Linux與Minix)通常會安裝X Window系統(tǒng)配合GNOME或KDE桌面環(huán)境。而某些OS就沒有這么彈性的圖形化用戶界面,例如Windows。這類的OS只能通過外加的程序來改變其圖形化用戶界面,甚或根本只能改變諸如菜單風(fēng)格或顏色配置等部分。

圖形化用戶界面與時并進(jìn),例如Windows在每次新版本上市時就會將其圖形化用戶界面改頭換面,而Mac OS的GUI也在Mac OS X上市時出現(xiàn)重大轉(zhuǎn)變。

驅(qū)動程序: 所謂的驅(qū)動程序(Device driver)是指某類設(shè)計(jì)來與硬件交互的電腦軟件。通常是一設(shè)計(jì)完善的設(shè)備交互接口,利用與此硬件連接的電腦匯排流或通信子系統(tǒng),提供對此設(shè)備下令與接收信息的功能;以及最終目的,將消息提供給OS或應(yīng)用程序。驅(qū)動程序是針對特定硬件與特定OS設(shè)計(jì)的軟件,通常以操作系統(tǒng)核心模塊、應(yīng)用軟件包或普通電腦程序的形式在OS核心底下運(yùn)行,以達(dá)到通透順暢地與硬件交互的效果,且提供硬件在處理異步的時間依賴性接口(asynchronous time-dependent hardware interface)時所需的中斷處理程序(Interrupt handler)。

設(shè)計(jì)驅(qū)動程序的主要目的在于操作抽象化,任何硬件模塊,既使是同一類的設(shè)備,在硬件設(shè)計(jì)面上也有巨大差異。廠商推出的較新模塊通常更可靠更有效率,控制方法也會有所不同。電腦與其OS每每不能預(yù)期那些現(xiàn)有與新設(shè)備的變異之處,因此無法知道其操作方法。為解決此問題OS通常會主動制訂每種設(shè)備該有的操作方式,而驅(qū)動程序功能則是將那些OS制訂的行為描述,轉(zhuǎn)譯為可讓設(shè)備了解的自定義操作手法。

理論上適合的驅(qū)動程序一旦安裝,相對應(yīng)的新設(shè)備就可以無誤地運(yùn)行。此新驅(qū)動程序可以讓此設(shè)備完美地切合在OS中,讓用戶察覺不到這是OS原本沒有的功能。

Sniffer是什么?怎么用?

Sniffer,中文可以翻譯為嗅探器,是一種基于被動偵聽原理的網(wǎng)絡(luò)分析方式。使用這種技術(shù)方式,可以監(jiān)視網(wǎng)絡(luò)的狀態(tài)、數(shù)據(jù)流動情況以及網(wǎng)絡(luò)上傳輸?shù)男畔ⅰ.?dāng)信息以明文的形式在網(wǎng)絡(luò)上傳輸時,便可以使用網(wǎng)絡(luò)監(jiān)聽的方式來進(jìn)行攻擊。將網(wǎng)絡(luò)接口設(shè)置在監(jiān)聽模式,便可以將網(wǎng)上傳輸?shù)脑丛床粩嗟男畔⒔孬@。Sniffer技術(shù)常常被黑客們用來截獲用戶的口令,據(jù)說某個骨干網(wǎng)絡(luò)的路由器網(wǎng)段曾經(jīng)被黑客攻入,并嗅探到大量的用戶口令。但實(shí)際上Sniffer技術(shù)被廣泛地應(yīng)用于網(wǎng)絡(luò)故障診斷、協(xié)議分析、應(yīng)用性能分析和網(wǎng)絡(luò)安全保障等各個領(lǐng)域。

本文將詳細(xì)介紹Sniffer的原理和應(yīng)用。

一、Sniffer 原理

1.網(wǎng)絡(luò)技術(shù)與設(shè)備簡介

在講述Sniffer的概念之前,首先需要講述局域網(wǎng)設(shè)備的一些基本概念。

數(shù)據(jù)在網(wǎng)絡(luò)上是以很小的稱為幀(Frame)的單位傳輸?shù)?,幀由幾部分組成,不同的部分執(zhí)行不同的功能。幀通過特定的稱為網(wǎng)絡(luò)驅(qū)動程序的軟件進(jìn)行成型,然后通過網(wǎng)卡發(fā)送到網(wǎng)線上,通過網(wǎng)線到達(dá)它們的目的機(jī)器,在目的機(jī)器的一端執(zhí)行相反的過程。接收端機(jī)器的以太網(wǎng)卡捕獲到這些幀,并告訴操作系統(tǒng)幀已到達(dá),然后對其進(jìn)行存儲。就是在這個傳輸和接收的過程中,嗅探器會帶來安全方面的問題。

每一個在局域網(wǎng)(LAN)上的工作站都有其硬件地址,這些地址惟一地表示了網(wǎng)絡(luò)上的機(jī)器(這一點(diǎn)與Internet地址系統(tǒng)比較相似)。當(dāng)用戶發(fā)送一個數(shù)據(jù)包時,這些數(shù)據(jù)包就會發(fā)送到LAN上所有可用的機(jī)器。

如果使用Hub/即基于共享網(wǎng)絡(luò)的情況下,網(wǎng)絡(luò)上所有的機(jī)器都可以“聽”到通過的流量,但對不屬于自己的數(shù)據(jù)包則不予響應(yīng)(換句話說,工作站A不會捕獲屬于工作站B的數(shù)據(jù),而是簡單地忽略這些數(shù)據(jù))。如果某個工作站的網(wǎng)絡(luò)接口處于混雜模式(關(guān)于混雜模式的概念會在后面解釋),那么它就可以捕獲網(wǎng)絡(luò)上所有的數(shù)據(jù)包和幀。

但是現(xiàn)代網(wǎng)絡(luò)常常采用交換機(jī)作為網(wǎng)絡(luò)連接設(shè)備樞紐,在通常情況下,交換機(jī)不會讓網(wǎng)絡(luò)中每一臺主機(jī)偵聽到其他主機(jī)的通訊,因此Sniffer技術(shù)在這時必須結(jié)合網(wǎng)絡(luò)端口鏡像技術(shù)進(jìn)行配合。而衍生的安全技術(shù)則通過ARP欺騙來變相達(dá)到交換網(wǎng)絡(luò)中的偵聽。

2.網(wǎng)絡(luò)監(jiān)聽原理

Sniffer程序是一種利用以太網(wǎng)的特性把網(wǎng)絡(luò)適配卡(NIC,一般為以太網(wǎng)卡)置為雜亂(promiscuous)模式狀態(tài)的工具,一旦網(wǎng)卡設(shè)置為這種模式,它就能接收傳輸在網(wǎng)絡(luò)上的每一個信息包。

普通的情況下,網(wǎng)卡只接收和自己的地址有關(guān)的信息包,即傳輸?shù)奖镜刂鳈C(jī)的信息包。要使Sniffer能接收并處理這種方式的信息,系統(tǒng)需要支持BPF,Linux下需要支持SOCKET一PACKET。但一般情況下,網(wǎng)絡(luò)硬件和TCP/IP堆棧不支持接收或者發(fā)送與本地計(jì)算機(jī)無關(guān)的數(shù)據(jù)包,所以,為了繞過標(biāo)準(zhǔn)的TCP/IP堆棧,網(wǎng)卡就必須設(shè)置為我們剛開始講的混雜模式。一般情況下,要激活這種方式,內(nèi)核必須支持這種偽設(shè)備Bpfilter,而且需要root權(quán)限來運(yùn)行這種程序,所以sniffer需要root身份安裝,如果只是以本地用戶的身份進(jìn)入了系統(tǒng),那么不可能喚探到root的密碼,因?yàn)椴荒苓\(yùn)行Sniffer。

也有基于無線網(wǎng)絡(luò)、廣域網(wǎng)絡(luò)(DDN, FR)甚至光網(wǎng)絡(luò)(POS、Fiber Channel)的監(jiān)聽技術(shù),這時候略微不同于以太網(wǎng)絡(luò)上的捕獲概念,其中通常會引入TAP (測試介入點(diǎn))這類的硬件設(shè)備來進(jìn)行數(shù)據(jù)采集。

3. Sniffer的分類

Sniffer分為軟件和硬件兩種,軟件的Sniffer有 Sniffer Pro、Network Monitor、PacketBone等,其優(yōu)點(diǎn)是易于安裝部署,易于學(xué)習(xí)使用,同時也易于交流;缺點(diǎn)是無法抓取網(wǎng)絡(luò)上所有的傳輸,某些情況下也就無法真正了解網(wǎng)絡(luò)的故障和運(yùn)行情況。硬件的Sniffer通常稱為協(xié)議分析儀,一般都是商業(yè)性的,價格也比較昂貴,但會具備支持各類擴(kuò)展的鏈路捕獲能力以及高性能的數(shù)據(jù)實(shí)時捕獲分析的功能。

基于以太網(wǎng)絡(luò)嗅探的Sniffer只能抓取一個物理網(wǎng)段內(nèi)的包,就是說,你和監(jiān)聽的目標(biāo)中間不能有路由或其他屏蔽廣播包的設(shè)備,這一點(diǎn)很重要。所以,對一般撥號上網(wǎng)的用戶來說,是不可能利用Sniffer來竊聽到其他人的通信內(nèi)容的。

4.網(wǎng)絡(luò)監(jiān)聽的目的

當(dāng)一個黑客成功地攻陷了一臺主機(jī),并拿到了root權(quán)限,而且還想利用這臺主機(jī)去攻擊同一(物理)網(wǎng)段上的其他主機(jī)時,他就會在這臺主機(jī)上安裝Sniffer軟件,對以太網(wǎng)設(shè)備上傳送的數(shù)據(jù)包進(jìn)行偵聽,從而發(fā)現(xiàn)感興趣的包。如果發(fā)現(xiàn)符合條件的包,就把它存到一個LOg文件中去。通常設(shè)置的這些條件是包含字“username”或“password”的包,這樣的包里面通常有黑客感興趣的密碼之類的東西。一旦黑客截獲得了某臺主機(jī)的密碼,他就會立刻進(jìn)入這臺主機(jī)。

如果Sniffer運(yùn)行在路由器上或有路由功能的主機(jī)上,就能對大量的數(shù)據(jù)進(jìn)行監(jiān)控,因?yàn)樗羞M(jìn)出網(wǎng)絡(luò)的數(shù)據(jù)包都要經(jīng)過路由器。

Sniffer屬于第M層次的攻擊。就是說,只有在攻擊者已經(jīng)進(jìn)入了目標(biāo)系統(tǒng)的情況下,才能使用Sniffer這種攻擊手段,以便得到更多的信息。

Sniffer除了能得到口令或用戶名外,還能得到更多的其他信息,比如一個重要的信息、在網(wǎng)上傳送的金融信息等等。Sniffer幾乎能得到任何在以太網(wǎng)上傳送的數(shù)據(jù)包。

二、Sniffer產(chǎn)品介紹

網(wǎng)絡(luò)的安全性和高可用性是建立在有效的網(wǎng)絡(luò)管理基礎(chǔ)之上的,網(wǎng)絡(luò)管理包括配置管理、故障管理、性能管理、安全管理和計(jì)費(fèi)管理五大部分。對于企業(yè)計(jì)算機(jī)網(wǎng)絡(luò)來說,網(wǎng)絡(luò)故障管理主要側(cè)重于實(shí)時的監(jiān)控,而網(wǎng)絡(luò)性能管理更看中歷史分析。

Sniffer網(wǎng)絡(luò)分析儀是一個網(wǎng)絡(luò)故障、性能和安全管理的有力工具,它能夠自動地幫助網(wǎng)絡(luò)專業(yè)人員維護(hù)網(wǎng)絡(luò),查找故障,極大地簡化了發(fā)現(xiàn)和解決網(wǎng)絡(luò)問題的過程,廣泛適用于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. 對異常的網(wǎng)絡(luò)攻擊的實(shí)時發(fā)現(xiàn)與告警;

2. 對高速網(wǎng)絡(luò)的捕獲與偵聽;

3. 全面分析與解碼網(wǎng)絡(luò)傳輸?shù)膬?nèi)容;

? 面向網(wǎng)絡(luò)鏈路運(yùn)行情況的監(jiān)測

1. 各種網(wǎng)絡(luò)鏈路的運(yùn)行情況;

2. 各種網(wǎng)絡(luò)鏈路的流量及阻塞情況;

3. 網(wǎng)上各種協(xié)議的使用情況;

4. 網(wǎng)絡(luò)協(xié)議自動發(fā)現(xiàn);

5. 網(wǎng)絡(luò)故障監(jiān)測;

? 面向網(wǎng)絡(luò)上應(yīng)用情況的監(jiān)測

1. 任意網(wǎng)段應(yīng)用流量、流向;

2. 任意服務(wù)器應(yīng)用流量、流向;

3. 任意工作站應(yīng)用流量、流向;

4. 典型應(yīng)用程序響應(yīng)時間;

5. 不同網(wǎng)絡(luò)協(xié)議所占帶寬比例;

6. 不同應(yīng)用流量、流向的分布情況及拓?fù)浣Y(jié)構(gòu);

? 強(qiáng)大的協(xié)議解碼能力,用于對網(wǎng)絡(luò)流量的深入解析

1. 對各種現(xiàn)有網(wǎng)絡(luò)協(xié)議進(jìn)行解碼;

2. 對各種應(yīng)用層協(xié)議進(jìn)行解碼;

3. Sniffer協(xié)議開發(fā)包(PDK)可以讓用戶簡單方便地增加用戶自定義的協(xié)議;

? 網(wǎng)絡(luò)管理、故障報警及恢復(fù)

運(yùn)用強(qiáng)大的專家分析系統(tǒng)幫助維護(hù)人員在最短時間內(nèi)排除網(wǎng)絡(luò)故障;

1.2 實(shí)時監(jiān)控統(tǒng)計(jì)和告警功能

根據(jù)用戶習(xí)慣,Sniffer可提供實(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)前和總的平均幀長等。

? 協(xié)議統(tǒng)計(jì):如協(xié)議的網(wǎng)絡(luò)利用率、協(xié)議的數(shù)、協(xié)議的字節(jié)數(shù)以及每種協(xié)議中各種不同類型的幀的統(tǒng)計(jì)等。

? 差錯統(tǒng)計(jì):如錯誤的CRC校驗(yàn)數(shù)、發(fā)生的碰撞數(shù)、錯誤幀數(shù)等。

? 站統(tǒng)計(jì):如接收和發(fā)送的幀數(shù)、開始時間、停止時間、消耗時間、站狀態(tài)等。最多可統(tǒng)計(jì)1024個站。

? 幀長統(tǒng)計(jì):如某一幀長的幀所占百分比,某一幀長的幀數(shù)等。

當(dāng)某些指標(biāo)超過規(guī)定的閾值時,Sniffer可以自動顯示或采用有聲形式的告警。

Sniffer可根據(jù)網(wǎng)絡(luò)管理者的要求,自動將統(tǒng)計(jì)結(jié)果生成多種統(tǒng)計(jì)報告格式,并可存盤或打印輸出。

1.3 Sniffer實(shí)時專家分析系統(tǒng)

高度復(fù)雜的網(wǎng)絡(luò)協(xié)議分析工具能夠監(jiān)視并捕獲所有網(wǎng)絡(luò)上的信息數(shù)據(jù)包,并同時建立一個特有網(wǎng)絡(luò)環(huán)境下的目標(biāo)知識庫。智能的專家技術(shù)掃描這些信息以檢測網(wǎng)絡(luò)異?,F(xiàn)象,并自動對每種異?,F(xiàn)象進(jìn)行歸類。所有異常現(xiàn)象被歸為兩類:一類是symptom(故障征兆提示,非關(guān)鍵事件例如單一文件的再傳送),另一類是diagnosis(已發(fā)現(xiàn)故障的診斷,重復(fù)出現(xiàn)的事件或要求立刻采取行動的致命錯誤)。經(jīng)過問題分離、分析且歸類后,Sniffer將實(shí)時地,自動發(fā)出一份警告、對問題進(jìn)行解釋并提出相應(yīng)的建議解決方案。

Sniffer與其他網(wǎng)絡(luò)協(xié)議分析儀更大的差別在于它的人工智能專家系統(tǒng)(Expert System)。簡單地說,Sniffer能自動實(shí)時監(jiān)視網(wǎng)絡(luò),捕捉數(shù)據(jù),識別網(wǎng)絡(luò)配置,自動發(fā)現(xiàn)網(wǎng)絡(luò)故障并進(jìn)行告警,它能指出:

? 網(wǎng)絡(luò)故障發(fā)生的位置,以及出現(xiàn)在OSI第幾層。

? 網(wǎng)絡(luò)故障的性質(zhì),產(chǎn)生故障的可能的原因以及為解決故障建議采取的行動。

? Sniffer 還提供了專家配制功能,用戶可以自已設(shè)定專家系統(tǒng)判斷故障發(fā)生的觸發(fā)條件。

? 有了專家系統(tǒng),您無需知道那些數(shù)據(jù)包構(gòu)成網(wǎng)絡(luò)問題,也不必熟悉網(wǎng)絡(luò)協(xié)議,更不用去了解這些數(shù)據(jù)包的內(nèi)容,便能輕松解決問題。

1.4 OSI全協(xié)議七層解碼

Sniffer的軟件非常豐富,可以對在各種網(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)行解碼,目前沒有任何一個系統(tǒng)可以做到對協(xié)議有如此透徹的分析;它采用分層方式,從更低層開始,一直到第七層,甚至對ORACAL數(shù)據(jù)庫、SYBASE數(shù)據(jù)庫都可以進(jìn)行協(xié)議分析;每一層用不同的顏色加以區(qū)別。

Sniffer對每一層都提供了Summary(解碼主要規(guī)程要素)、Detail(解碼全部規(guī)程要素)、Hex(十六進(jìn)制碼)等幾種解碼窗口。在同一時間,最多可以打開六個觀察窗口。

Sniffer還可以進(jìn)行強(qiáng)制解碼功能(Protocl Forcing),如果網(wǎng)絡(luò)上運(yùn)行的是非標(biāo)準(zhǔn)協(xié)議,可以使用一個現(xiàn)有標(biāo)準(zhǔn)協(xié)議樣板去嘗試解釋捕獲的數(shù)據(jù)。

Sniffer提供了在線實(shí)時解碼分析和在線捕捉,將捕捉的數(shù)據(jù)存盤后進(jìn)行解碼分析二種功能。

二、Sniffer的商業(yè)應(yīng)用

Sniffer被 Network General公司注冊為商標(biāo),這家公司以出品Sniffer Pro系列產(chǎn)品而知名。目前最新版本為Sniffer Portable 4.9,這類產(chǎn)品通過網(wǎng)絡(luò)嗅探這一技術(shù)方式,對數(shù)據(jù)協(xié)議進(jìn)行捕獲和解析,能夠大大幫助故障診斷和網(wǎng)絡(luò)應(yīng)用性能的分析鑒別。

Network General 已經(jīng)被NetScout公司收購。

三、Sniffer的擴(kuò)展應(yīng)用

1、專用領(lǐng)域的Sniffer

Sniffer被廣泛應(yīng)用到各種專業(yè)領(lǐng)域,例如FIX (金融信息交換協(xié)議)、MultiCast(組播協(xié)議)、3G (第三代移動通訊技術(shù))的分析系統(tǒng)。其可以解析這些專用協(xié)議數(shù)據(jù),獲得完整的解碼分析。

2、長期存儲的Sniffer應(yīng)用

由于現(xiàn)代網(wǎng)絡(luò)數(shù)據(jù)量驚人,帶寬越來越大。采用傳統(tǒng)方式的Sniffer產(chǎn)品很難適應(yīng)這類環(huán)境,因此誕生了伴隨有大量硬盤存儲空間的長期記錄設(shè)備。例如nGenius Infinistream等。

3、易于使用的Sniffer輔助系統(tǒng)

由于協(xié)議解碼這類的應(yīng)用曲高和寡,很少有人能夠很好的理解各類協(xié)議。但捕獲下來的數(shù)據(jù)卻非常有價值。因此在現(xiàn)代意義上非常流行如何把協(xié)議數(shù)據(jù)采用更好的方式進(jìn)行展示,包括產(chǎn)生了可以把Sniffer數(shù)據(jù)轉(zhuǎn)換成Excel的BoneLight類型的應(yīng)用和把Sniffer分析數(shù)據(jù)進(jìn)行圖形化的開源系統(tǒng)PacketMap等。這類應(yīng)用使用戶能夠更簡明地理解Sniffer數(shù)據(jù)。

4、無線網(wǎng)絡(luò)的Sniffer

傳統(tǒng)Sniffer是針對有線網(wǎng)絡(luò)中的局域網(wǎng)而言,所有的捕獲原理也是基于CA/CD的技術(shù)實(shí)現(xiàn)。隨著WLAN的廣泛使用,Sniffer進(jìn)一步擴(kuò)展到802.11A/B/G/N的無線網(wǎng)絡(luò)分析能力。無線網(wǎng)絡(luò)相比傳統(tǒng)網(wǎng)絡(luò)無論從捕獲的原理和接入的方式都發(fā)生了較大改變。這也是Sniffer技術(shù)發(fā)展趨勢中非常重要的部分.

關(guān)于linux 權(quán)限繞過的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。


文章標(biāo)題:如何在Linux下規(guī)避權(quán)限限制?(linux權(quán)限繞過)
URL標(biāo)題:http://www.dlmjj.cn/article/cciigsj.html