資安筆記 - Linux 的基礎操作

白龍 Lv3

前言

我們之前全部都是在講網路知識,但是資安中你一定有聽過Linux這套作業系統,那為什麼他在資安或是伺服器管理這麼受歡迎呢,現在就來認識它吧


Linux 總共會有 10 ~ 15 個筆記出來,以下是我們這次會學的東西

Day 課程內容
1-1 基礎認知與介紹、使用 Linux 桌面系統…
1-2 準備 Server 系統、理解作業系統開機流程…
2-1 終端機操作與切換、指令架構與基礎指令…
2-2 文件檔案處理、基本輸入輸出、轉向與管線…
3-1 二種文字編輯方式、三種網路組態管理類型…
3-2 三種套件安裝方式、兩大類型管理與設定…
4-2 特殊權限、ACL…
5-1 帳號與群組管理:新增、刪除、修改、暫停…
5-2 帳號查詢與切換、帳號權限授權機制…
6-1 磁碟原理與實作:分割表、檔案系統、掛載…
6-2 磁碟應用:資料定位與修復、備份、LVM…
7-1 系統運作:GRUB、INIT、Kernel…
7-2 系統管理:狀態、鍵盤、時間、程序、記憶體…
8-1 系統運作:PAM、Shell、別名、連結、訊息傳遞…
8-2 網路工具:上傳下載、瀏覽、測試、查詢、監視…
9-1 系統排程:at、crond、rsync…
9-2 基礎服務:chrony、sshd、nfs-server…
10-1 防火牆管理:原理、架構、服務開放與拒絕… ( 不一定 )
10-2 實機考試/線上考試 (不一定)

認識 Linux 作業系統

前言

Linux 是一套作業系統,可能一般的點腦使用這在生活中幾乎看不到卻無所不在,可能你只有接觸過Windows, MacOs現在兩主流的作業系統,那我們Linux存在在哪裡呢,其實就是馬路上的攝影機、家裡的路由分享器、公司的網站伺服器、路邊的U-Bike電腦站等,在生活中只要有運用到智能的電子設備,都幾乎是使用linux,但是為什麼這些設備會選擇使用Linux呢,因為

  • 系統與穩定

  • 系統狀態與資訊完全公開,病毒、木馬…無法隱藏

  • 所有狀態、動作都會被記錄

  • 不須以重開機手段來維持系統穩定度

  • 不常當機,至少在核心 ( kernel ) 不會當機 ( 無 BSOD : Blue Screen of Dead )

  • 系統整體運作效能非常好

  • 開發/使用者

  • 公眾參與,公正公開,完全開放、一致性

  • 新技術、新應用比什麼都重要
    一個以工程師導向設計的系統
    程式不會講話 ( The “program” not speak )

  • 永遠有人試圖提供更簡便的作法
    單一功能指令、整合性指令
    創新應用的服務型態

  • 商業目的通常不是首要考量
    功能、技術、應用

其他各種作業系統

除了Linux作業系統以外你也依定聽過

  • Windows

    • 使用者系統:Windows 7、Windows 8、Windows 8.1、Windows 10、Windows 11…
    • 伺服器/開發系統:Windows NT、Windows Server 2012/2016/2019、Windows Core…
  • Unix

    • IBM AIX、HP-UX、UnixWare…
  • BSD

    • FreeBSD、NetBSD、OpenBSD…
  • Linux

    • 桌面系統:RedHat、CentOS、Fedora、PCLinuxOS、openSUSE…
    • 伺服器/開發系統:Debian, Ubuntu, Linux Mint, Steam OS, Kali Linux…

上述也只是要讓你知道這些作業系統的不同版本/樣式,聽聽就好

Linux的發展與歷史

在開正式介紹Linux前,我們還要先略說一下 Unix 這個作業系統

略說Unix

Unix 是由 MulticsUnics結合而成的作業系統,這兩個系統也可以說是元老級的作業系統了,以下就簡單講一下這兩個作業系統的簡介

  • Multics - 1964

Multics是在貝爾實驗室、麻省理工學院和美國通用電氣公司共同開發的作業系統,他被設計的原因是為了執行於大型電腦 GE-645 的分時多工作業系統,並支援連線 1000 台終端機,支援 300 個使用者同時上線…

  • Unics - 1969

Unics是由肯尼斯·藍·湯普遜 ( Kenneth Lane Thompson ) 開發的作業系統,開發的目的是為了執行 Space Travel 的一套專屬的執行系統,並執行於 DEC PDP-7
同年貝爾實驗室也因為Multics發展緩慢選擇退出開發

上面提到的兩個系統後來由 肯尼斯·藍·湯普遜 與 丹尼斯·麥卡利斯泰爾·里奇 合作開發,開發原是為了提供執行 DEC PDP-11 的環境,此系統基於 C 語言開發


其實關於Unix的介紹還很多,不過這邊講歷史的東西我就先省略,因為了解到目前為止已經足夠應付後面的知識了,有空我再回來補

Unix 與 BSD

代補部分

深入 Linux

系統核心與作者介紹

Linux 是由林納斯·托瓦茲 ( Linus Torvalds ) 首創發表,並且這個系統是基於Unix系統改編開發而成(其實就是複製版),同時也是現代最受歡迎的核心,擁有超過100種的作業系統

核心與作業系統

這兩個完全是不一樣的東西,有點像是要做一杯飲料你就需要一個杯子白裝你的原料,相同的道理,你需要一個作業系統的核心才能開發一個作業系統

那為什麼Linux會被開發出來呢,最初Linux會被開發的原因是當初Linus已經想要開發一個作業系統,但是前面有提到需要一個核心才能開發,這時候她在網路上看到了GNU Hurd核心,不過因為GNU Hurd的原始碼沒有空開,但是又對外宣布說這幾年會公開,結果Linus等了又等,等了到受不了時就決定乾脆自己開發一個系統了

版本與歷史

其實在Linux被命名為Linux前,的前身其實叫做freax,會改名的原因有兩個版本。第一種是因為FTP的管理員覺得freax不好聽所以改名,第二種就是因為開發者的英文名字叫做Linus,並且當時freax需要與另外一個系統叫做minix才能運作,所以 linus + minix 就變成了 Linux

  • 接著就是Linux的版本與歷史
Linux 版本 發佈年份 支援結束 (EoL)
0.01 1991
0.02 1992
1.x.x 1994
2.2.x 1999 2004
2.4.x 2001 2011
2.6.x 2004 2016
3.x.x 2011 持續支援
4.x.x 2015 持續支援
5.x.x 2019 持續支援
6.x.x 2022 持續支援

# 完整的版本可以在這裡 看到

Linux的作業系統與選擇

剛有說到Linux只是一個核心,而作業系統是要根據核心去寫的,因此在市面上就出現了許多不一樣的作業系統,這邊就介紹機個市面上最常見到的作業系統

Ubuntu

Ubuntu 是基於 Debian 改編所開發的作業系統,目標是以簡單、易用、免費為目標而開發的作業系統,Ubuntu共分為 Server 版、Desktop 版、Core 版等,在一般使用、伺服器、嵌入式、物聯網、雲端都可以看見他的身影。Ubuntu的更新頻率會在每年四月、十月推出一般版本, 每雙數年四月推出 LTS ( Long Term Support ) 版本

並且Ubuntu也有付費版,主要是販賣服務為主題工技術支援,具體請看以下

  • 一般版:9~18 個月
  • 長期支援版:5年 + Ubuntu Pro 5年 + 5年延伸安全性維護 ( EMS )

# 了解更多可以點這裡

Red Hat

RedHat 是一款商業為主的 Linux 作業系統,於 1995 年推出,專注於企業級市場。Red Hat 提供的 RedHat Enterprise Linux (RHEL) 是收費的技術支援與更新服務,在 2015 年時,商用 Linux 伺服器市場佔有率超過 70%。它以高可用性、高穩定性、高效能及低成本著稱,成為許多企業的首選解決方案。

Red Hat 擁有完善的技術支援及系統解決方案,並提供著名的套件管理工具如 rpm 及 yum。技術支援期限為十年,並且提供直接的服務支持,具體內容可以參考以下連結: