Linux概述

 linux爲何物?

linux就是操作系統和windows一樣,linux分爲系統調用和內核兩層。

 

 

linux簡史

操作系統始於二十世紀五十年代,當時的操作系統能運行批處理程序。批處理程序不需要用戶的交互,它從文件或者穿孔卡片讀取數據,然後輸出到另外一個文件或者打印機。

二十世紀六十年代初,交互式操作系統開始流行。它不僅僅可以交互,還能使多個用戶從不同的終端同時操作主機。這樣的操作系統被稱作分時操作系統,它的出現對批處理操作系統是個極大的挑戰。許多人嘗試開發分時操作系統, 其中包括一些大學的研究項目和商業項目。當時有個項目叫做 Multics ,它的技術在當時很具有創新性。 Multics 項目的開發並不順利,它花費了遠超過預計的資金,卻沒有在操作系統市場上佔到多少份額。而參加該項目的一個開發團體——貝爾實驗室退出了這個項目。他們在退出後開發了他們自己的一個操作系統—— UNIX 。

UNIX 最初免費發佈並因此在大學裏受到歡迎。後來,UNIX 實現了 TCP/IP 協議棧,成爲了早期工作站的操作系統的一個流行選擇。

1990 年,UNIX 在服務器市場上尤其是大學校園中成爲主流操作系統,許多校園都有 UNIX 主機,當然還包括一些研究它的計算機系的學生。這些學生都渴望能在自己的電腦上運行 UNIX 。不幸的是,從那時候開始,UNIX 開始變得商業化,它的價格也變得非常昂貴。而唯一低廉的選擇就是 MINIX,這是一個功能有限的類似 UNIX 的操作系統,作者 Andrew Tanenbaum 開發它的目的是用於教學。

1991 年 10 月,Linus Torvalds(Linux 之父)在赫爾辛基大學接觸 UNIX,他希望能在自己的電腦上運行一個類似的操作系統。可是 UNIX 的商業版本非常昂貴,於是他從 MINIX 開始入手,計劃開發一個比 MINIX 性能更好的操作系統。很快他就開始了自己的開發工作。他第一次發行的版本迅速吸引了一些黑客。儘管最初的 Linux 並沒有多少用處,但由於一些黑客的加入使它很快就具有了許多吸引人的特性,甚至一些對操作系統開發不感興趣的人也開始關注它。

Linux 本身只是操作系統的內核。內核是使其它程序能夠運行的基礎。它實現了多任務和硬件管理,用戶或者系統管理員交互運行的所有程序實際上都運行在內核之上。其中有些程序是必需的,比如說,命令行解釋器(shell),它用於用戶交互和編寫 shell 腳本。 Linus 沒有自己去開發這些應用程序,而是使用已有的自由軟件。這減少了搭建開發環境所需花費的工作量。實際上,他經常改寫內核,使得那些程序能夠更容易地在 Linux 上運行。許多重要的軟件,包括 C 編譯器,都來自於自由軟件基金 GNU 項目。GNU 項目開始於 1984 年,目的是爲了開發一個完全類似於 UNIX 的免費操作系統。爲了表揚 GNU 對 Linux 的貢獻,許多人把 Linux 稱爲 GNU/Linux(GNU 有自己的內核)。

1992-1993 年,Linux 內核具備了挑戰 UNIX 的所有本質特性,包括 TCP/IP 網絡,圖形界面系統(X window ),Linux 同樣也吸引了許多行業的關注。一些小的公司開始開發和發行 Linux,有幾十個 Linux 用戶社區成立。1994 年,Linux 雜誌也開始發行。

Linux 內核 1.0 在 1994 年 3 月發佈,內核的發佈要經歷許多開發週期,直至達到一個穩定的版本。

下面列舉一些 Linux 誕生大事件:

  • 1965 年,Bell 實驗室、MIT、GE(通用電氣公司)準備開發 Multics 系統,爲了同時支持 300 個終端訪問主機,但是 1969 年失敗了;

    那時候並沒有鼠標、鍵盤,輸入設備,只有卡片機。因此,如果要測試某個程序,則需要將讀卡紙插入卡片機,如果有錯誤,還需要重新來過;Multics:Multiplexed Information and Computing Service;

  • 1969 年,Ken Thompson(C語言之父)利用彙編語言開發了 File Server System(Unics,即 UNIX 的原型);

    因爲彙編語言對於硬件的依賴性,因此只能針對特定硬件; 只是爲了移植一款“太空旅遊”的遊戲;

  • 1973 年,Dennis Ritchie 和 Ken Thompson 發明了 C 語言,而後寫出了 UNIX 的內核;

    將 B 語言改成 C 語言,由此產生了 C 語言之父;90% 的代碼是 C 語言寫的,10% 的代碼用彙編語言寫的,因此移植時只要修改那 10% 的代碼即可;

  • 1977 年,Berkeley 大學的 Bill Joy 針對他的機器修改了 UNIX 源碼,稱爲BSD(Berkeley Software Distribution);

    Bill Joy 是 Sun 公司的創始人;

  • 1979 年,UNIX 發佈 System V,用於個人計算機;

  • 1984 年,因爲 UNIX 規定“不能對學生提供源碼”,Tanenbaum 老師自己編寫兼容於 UNIX 的 Minix,用於教學;

  • 1984 年,Stallman 開始 GNU(GNU's Not Unix)項目,創辦 FSF(Free Software Foundation)基金會;

    產品:GCC、Emacs、Bash Shell、GLIBC;倡導“自由軟件”;GNU 的軟件缺乏一個開放的平臺運行,只能在 UNIX 上運行;自由軟件指用戶可以對軟件做任何修改,甚至再發行,但是始終要掛着 GPL 的版權;自由軟件是可以賣的,但是不能只賣軟件,而是賣服務、手冊等;

  • 1985 年,爲了避免 GNU 開發的自由軟件被其他人用作專利軟件,因此創建 GPL(General Public License)版權聲明;

  • 1988 年,MIT 爲了開發 GUI,成立了研發 XFree86 的組織;

  • 1991 年,芬蘭赫爾辛基大學的研究生 Linus Torvalds 基於 gcc、bash 開發了針對 386 機器的 Linux 內核;

  • 1994 年,Torvalds 發佈 Linux-v1.0;

  • 1996 年,Torvalds 發佈 Linux-v2.0,確定了 Linux 的吉祥物:企鵝。

linux重要人物:

1. Ken Thompson:C 語言之父和 UNIX 之父

2. Dennis Ritchie:C 語言之父和 UNIX 之父

3. Stallman:著名黑客,GNU 創始人,開發了 Emacs、gcc、bash shell

4. Bill Joy:BSD 開發者

5. Tanenbaum:Minix 開發者

6. Linus Torvalds:Linux 之父,芬蘭赫爾辛基大學

 

Linux 與 Windows 到底有哪些不同

1. 免費與收費

  • 最新正版 Windows 10,需要付費購買;
  • Linux 免費或少許費用。

2. 軟件與支持

  • Windows 平臺:數量和質量的優勢,不過大部分爲收費軟件;由微軟官方提供重要支持和服務;
  • Linux 平臺:大都爲開源自由軟件,用戶可以修改定製和再發布,由於基本免費沒有資金支持,部分軟件質量和體驗欠缺;由全球所有的 Linux 開發者和自由軟件社區提供支持。

3. 安全性

  • Windows 平臺:三天兩頭打補丁安裝系統安全更新,還是會中病毒木馬;
  • Linux 平臺:要說 Linux 沒有安全問題,那當然是不可能的,這一點仁者見仁智者見智,相對來說肯定比 Windows 平臺要更加安全,使用 Linux 你也不用裝某殺毒、某毒霸。

4. 使用習慣

  • Windows:普通用戶基本都是純圖形界面下操作使用,依靠鼠標和鍵盤完成一切操作,用戶上手容易,入門簡單;
  • Linux:兼具圖形界面操作(需要使用帶有桌面環境的發行版)和完全的命令行操作,可以只用鍵盤完成一切操作,新手入門較困難。

5. 可定製性

  • Windows:這些年之前算是全封閉的,系統可定製性很差;
  • Linux:你想怎麼做就怎麼做,Windows 能做到得它都能,Windows 做不到的,它也能。

6. 應用範疇

或許你之前不知道 Linux ,要知道,你之前在 Windows 使用百度、谷歌,上淘寶,聊 QQ 時,支撐這些軟件和服務的,是後臺成千上萬的 Linux 服務器主機,它們時時刻刻都在忙碌地進行着數據處理和運算,可以說世界上大部分軟件和服務都是運行在 Linux 之上的。

7. Windows 沒有的

  • 穩定的系統
  • 安全性和漏洞的快速修補
  • 多用戶
  • 用戶和用戶組的規劃
  • 相對較少的系統資源佔用
  • 可定製裁剪,移植到嵌入式平臺(如安卓設備)
  • 可選擇的多種圖形用戶界面(如 GNOME,KDE)

8. Linux 沒有的

  • 特定的支持廠商
  • 足夠的遊戲娛樂支持度
  • 足夠的專業軟件支持度

如何學習 Linux

1. 學習心態

  • 明確目的:你是要用 Linux 來幹什麼,搭建服務器、做程序開發、日常辦公,還是娛樂遊戲;

  • 面對現實:Linux 大都在命令行下操作,能否接受不用或少用圖形界面;

  • 是學習 Linux 操作系統本身還是某一個 Linux 發行版(UbuntuCentOSFedoraOpenSUSEDebianMint 等等),如果你對發行版的概念或者它們之間的關係不明確的話可以參看 Linux 發行版

2. 注重基礎,從頭開始

大致的學習路徑如下:

 

疑問?

爲什麼linux要比windows安全?

一:病毒
1)Windows下都是administrator用戶登錄,病毒可以自由感染系統任何文件;ubuntu下普通用戶不能修改系統文件。
2)Windows用戶很多,研究的人也多,病毒,木馬數量也很多,被攻擊的數量也很多,攻擊Windows終端用戶有很多商業利益,如偷qq號,偷銀行交易密碼等等,有利益驅動研究的人也越多,“成果”也就越多;linux當前還沒有普及所以病毒很少。
二:木馬
同上
三:流氓軟件
同上
四:常見攻擊和入侵
同上,但需要補充一下,攻擊者通常攻擊兩個方向:
a)終端用戶,偷取個人信息
b)服務器,一次性獲取鉅額利益,比如攻擊銀行IBM AIX / HP-UX 等等大機,目前ubuntu兩者都不算,所以很安全
五:系統設計架構上的差異
1. Win2k沒有棧保護,很容易溢出/Win2k malloc攻擊也沒有加強;WinXP稍有加強,但相對還是容易;Win2003加強了很多,很難攻擊了,現在的芯片也都有棧不可執行保護了,XP sp2以後和2003都利用了此特性,這將很難實施溢出攻擊
2. Linux kernel 2.6以後的版本很多默認開啓了棧保護功能,而起2.4 kernel很久前就有非官方的PAX內核補丁,加強了對抗溢出攻擊,可以說早就達到了2003的標準,kernel 2.6現在的版本都內置了此功能
3. 大的服務器芯片+OS: SPARC+Solaric / PowerPC + AIX / PA + HP-UX 等在9x年就有了芯片+內核的棧不可執行保護機制
4.linux文件系統本身的特性,每個文件夾、文件都有所有者、所有組、其它用戶,而且對這三者可以分別設置讀、寫、執行的權限,而且在權限的分配和管理上也下了很大的功夫,這樣在以普通用戶登陸的情況下,很難危及到關鍵的系統文件的安全。這些都是windows的文件系統所沒有的特性。Unix權限機制的確是對Windows的先天優勢,但NT4的內核是VMS起來的,也是Unix的一個分支,安全機制真正用起來也不弱。
關鍵還是它定位爲主要是單用戶使用,定位不同。

六:開源
當黑客與工程師同時發現系統的漏洞時,windows封閉源,UBUNTU開源,黑客只是利用漏洞,而工程師在開源情況下可以自己修復漏洞,而在封閉源情下只能等待補丁,UBUNTU公開源有世界各地的愛好者爲系統修復,而windows只能等待微軟修復。
七:關於Ubuntu安全性的其它建議
1. 關閉所有對外服務,如ssh
2. 開啓iptables,只讓需要訪問你的人能連上你
當黑客與工程師同時發現系統的漏洞時,windows封閉源,UBUNTU開源,黑客只是利用漏洞,而工程師在開源情況下可以自己修復漏洞,而在封閉源情下只能等待補丁,UBUNTU公開源有世界各地的愛好者爲系統修復,而windows只能等待微軟修復
大多數黑客(真正的黑客,不是拿着木馬專搞破壞的那種)致力於對操作系統的研究的同時,不遺餘力地爲操作系統修補漏洞,儘管這些人往往對Windows系統沒有好感,但他們也不吝於爲Win做一些事情,當然他們乾的更多的是爲Unix/linux修補漏洞,所以往往Linux系統的漏洞一經發現,補丁也隨之產生;至於Windows──什麼事情都等工程師的話,龜波氣功都出來了,更別說衝擊波、震盪波啦。

3.真正直接獲取利益就是攻擊大量的個人用戶和攻擊商用大機獲取數據,前者比較容易實施,後者你看金融都用IBM AIX/HP-UX ...,都放在內網,想當難攻擊。攻擊在公網的WEB服務器,郵件服務器很難,因爲他們只開放了1個對外服務,這時候攻擊的是這個服務,如apache,難度很大,而且管理員不會在上面裝什麼軟件,攻擊途徑也少多了,所以現在的攻擊都轉向了攻擊客戶端,而客戶端自然要大面積撒網,所以攻擊對象就轉向了windows用戶羣了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章