630 likes | 770 Views
Linux 基本操作與網路安全. VBird 2003/06/23. 報告內容. 什麼是電腦?硬體與作業系統的關係? Linux 是什麼?與 Linux 的功能? Linux 的操作介面與如何有效學習? Linux 的多人工作平台概念 ( 帳號管理 ) Linux 檔案系統管理 Linux 程序管理與工作排程 Linux 套件管理員 Linux 問題的檢驗程序 Linux 網路安全簡述. 什麼是電腦?. 一堆硬體,配合一個可以管理硬體的 『 作業系統 』 ,即成為電腦一詞。. 什麼是電腦?. 1960 年代: Multics 計畫始末
E N D
Linux 基本操作與網路安全 VBird 2003/06/23
報告內容 • 什麼是電腦?硬體與作業系統的關係? • Linux 是什麼?與 Linux 的功能? • Linux 的操作介面與如何有效學習? • Linux 的多人工作平台概念(帳號管理) • Linux 檔案系統管理 • Linux 程序管理與工作排程 • Linux 套件管理員 • Linux 問題的檢驗程序 • Linux 網路安全簡述
什麼是電腦? • 一堆硬體,配合一個可以管理硬體的『作業系統』,即成為電腦一詞。
什麼是電腦? • 1960年代:Multics 計畫始末 • 1970年代初期:貝爾研究室的 Thompson • 1973年:Ritchie 使 C 語言與 Unix 誕生 • 1977年:Berkeley 大學的 BSD 的誕生 • 1980年初期:AT&T 的商業行為
什麼是電腦? • 1984年:Stallman 的 FSF 與 GNU 計畫 • 自由軟體 (free beer or free air ?); • 通用授權 (GNU General Public License) • 開放源碼 (Open Source) • 影響:發展了數百個以上的好用軟體,全部取之於社群、用之於社群。
什麼是電腦? • GNU 的大問題:有軟體、沒有作業系統….
Linux 是什麼? • 1991年:Linus Torvalds 的一則BBS簡訊 Hello everybody out there using minix- I'm doing a (free) operation system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.
Linux 是什麼? • Linux = 核心 (Kernel) 即是管理硬體的那個作業系統咯! • 核心在控制整個系統(軟、硬體) • 核心的功能不同,支援的硬體就不同 • 可以支援外掛模組(想像驅動程式) • 硬體驅動模組設計是『硬體廠商』的責任--每人一信、開發才會快!^_^
Linux 是什麼? • Linux distribution: • 僅有核心,能做的功能有限; • 架構在 GNU 的 GPL ,由 GNU 與其他 Open Source 社群提供大量的軟體在 Linux 這個核心上面; • 某些商業團體,將 Linux kernel 配合這些軟體套件(Packages)配套成為一可直接安裝在 X86 上的完整光碟。
Linux 是什麼? • Linux 的發行商 (distributions) • Red Hat • Mandrake • Linpus • CLE • …..(共有將近兩百家) • 通通使用同一個核心功能!
Linux 是什麼? • Linux 的功能: • 桌上型電腦: • Windows 能做的,在 Linux 上面都可以達到,不過,就是中文化差了點~ • KDE, GNOME 都是很優良、很漂亮的 Window Manager • X Window 僅是『一套軟體』
Linux 是什麼? • Linux 的功能: • 工作站(Workstations): • 軟體開發、三D美術開發、數值模式運算…. • 伺服器: • WWW, FTP, Mail, Proxy, File, Firewall, ….
Linux 是什麼? • Linux 優點: • 網路功能強大、軟體眾多、Open Source • Linux 缺點: • 入門門檻高、中文化不夠徹底 • 大眾的問題: • 認知不足…誰說 Linux 架站容易?!
Linux 是什麼? • Linux 與 Windows 的比較?? • 無法比較,因為兩者定位不同; • 各取所需,沒有誰好誰壞!
Linux 的操作介面 • 圖形介面 (X-Window System) • KDE, GNOME….. • 最大的優點是親和、中文化 • 文字介面 (BASH Shell) • 功能強大、但學習歷程較長 • 最大的優點是,更深入系統,適合系統管理員
Linux 的操作介面 • 為何強調 Bash Shell? • Bash shell 佔用資源較少,且由於來自 GNU,與 Linux kernel 相容性高; • X Window 不但佔用資源較多,使系統運作龜速,且可能容易掛點; • Shell scripts 能夠直接設計 program ,可以很快速的管理好 Linux 主機; • 多人多工平台,較適合 Bash shell 。
如何有效學習? • 想玩一玩 Linux 而已: • 使用 X-Window 爽一爽即可 • 但不要架站喔! • 為了生活、為了興趣、為了管理: • 可以理解為什麼要這樣做? • 問題發生了,會知道哪裡可能出錯? • 整個流程的檢驗程序清晰!
如何有效學習? • 有心要學習,最好要會的咚咚: • BASH 與最簡易的 vi (文書處理機) • 正規表示法(Regular Expression) • Linux 的檔案、帳號等基本概念 • 套件的安裝(Package Manager) • 網路基礎觀念 • 至於架站…..上面的學會了,架站自然就會了!
如何有效學習? • 其他必備技巧: • 還是需要讀英文的! • 上網 Google 搜尋技巧; • 懂得找男人( man ) • 注意閱讀螢幕出現的訊息資料; • 注意登錄檔資訊 ( log file ) • 注意發問時提供的資訊
如何有效學習? • 文書處理器 vi • 管理員至少一定要會一種編輯器 • vi 的使用: • 一般模式:移動、複製、刪除、貼上 • 編輯模式:插入與取代文件 • 指令列模式:搜尋、自動取代、檔案存取等
如何有效學習? • 線上查詢 man page • 是否一定要『背』指令? • man command • man 5 configuration • info command (尤其 GNU 提供的工具) • /etc/man.conf (尤其自行安裝軟體) • whatis filename
Linux 的多人工作平台 • 每個帳號均有自己的家目錄與相關的 mail box 以及其他帳號相關的操作環境之設定 • Linux 僅認識 ID 數字:UID, GID • 兩種 UID: 0(root), 1~65534(一般身份) • 三種身份:owner, group, others • 與 Linux 檔案權限相關性很高! • /etc/passwd, /etc/shadow, /etc/group • 密碼的設定技巧
Linux 的多人工作平台 • root 的重要性: • 系統管理、安全管理、套件管理….. • 『技術』不是問題『操守』才是重點 • 多人維護之主機的 root 身份變換: • 即使是 root ,亦建議使用一般身份操作平時的 Linux 作業; • su, sudo
Linux 檔案系統管理 • 檔案類型: file type • regular files: data, ascii, binary programs.. • Directory • device files: Block, Character • 檔案系統類型:filesystem type • ext2, ext3, reiserfs • vfat, ntfs…..
Linux 檔案系統管理 • 樹狀目錄
Linux 檔案系統管理 • 檔案權限 • User, Group, Others • 適合多人多工、可達保密防諜之目的
Linux 檔案系統管理 • 檔案權限
Linux 檔案系統管理 • 基本檔案與目錄管理操作 • ls, pwd, cd, mkdir, rmdir • cp, mv, rm, • cat, nl, head, tail, less, more, • file, diff
Linux 檔案系統管理 • 檔案屬性的變換 • chown, chgrp, chmod • # chmod 777 bar
Linux 檔案系統管理 • 檔案的搜尋 • which command (與 PATH 有關) • whereis filename • locate filename • find path type arguments
Linux 檔案系統管理 • 連結檔 • hard link • 不可跨 filesystems, 不可連結 directory • 所有的 link 為 0 時,檔案才會完蛋。 • Symbolic link • 就是『捷徑』囉!
Linux 檔案系統管理 • 磁碟分割槽與掛載問題:
Linux 檔案系統管理 • 磁碟分割槽與掛載問題: • 每個 partition 就是一個完整的 filesystem • 使用 mount 來掛載每一個 partition , • 需要有 mount point 來掛載 (directory) • # mount -t vfat /dev/hda5 /mnt/windows • # mount -t ntfs /dev/hda6 /mnt/winnt • # mount -t ext3 /dev/hdb1 /mnt/linux2
Linux 檔案系統管理 • 磁碟分割槽的分割問題: • fdisk 的使用(需瞭解 MBR, partition 的基本觀念) • mke2fs 來格式化 • fsck 來檢驗磁區 • /etc/fstab 來開機掛載!
Linux 程序管理與工作排程 • 什麼是程序? • 任何觸發系統工作的事件,系統會給予一個 process ID 來控制該事件的執行,這個 PID 就是程序! • 需要注意到,程序『屬於誰?他的權限是不同的!』而程序執行後輸出的訊息則與資料流有關!
Linux 程序管理與工作排程 • 如何觀察程序? • top • ps • 常駐記憶體的程式(daemon, 服務) • 在背景下執行 • 是系統正常運作所必需要的(syslog,cron) • 是某些服務提供所必需要的(www, mail..)
Linux 程序管理與工作排程 • 程序的優先執行順序? • Priority • nice value • nice 新的 PID • renice 已存在的 PID
Linux 程序管理與工作排程 • 給予程序『訊號, signal』 • kill -signal PID • -1 重新讀取設定檔 • -9 無條件強制驅離記憶體 • -15 正常方式關閉該 PID
Linux 程序管理與工作排程 • 重要的程序之一:syslog • 系統在背景下工作的各項服務所產生的『訊息』均統一由 syslog 這個服務 (daemon) 所管理 • /etc/syslog.conf • /var/log/messages • /var/log/secure ...
Linux 程序管理與工作排程 • 工作排程 • 循環式工作排程: • crontab • /etc/crontab • 單一工作排程: • at
Linux 套件管理員 • RPM • 具有資料庫:容易安裝、升級、移除 • 在查驗及搜尋方面極為有效率 • 漏洞修補速度快速 • 最大的缺點:屬性相依的問題(這包含了版本、平台等等)
Linux 套件管理員 • Tarball • 為原始碼 (open source) • 大部分的 tarball 均支援跨平台 • 需要額外的套件支援:make, kernel source, gcc 等等 • 升級、反安裝等較為不方便
Linux 套件管理員 • 沒有任何一套作業系統會『完全』滿足您,所以使用者必需要至少學習一種套件管理員,以提供自我程式資料庫的安裝!
Linux 問題的檢驗程序 • 先查看螢幕出現的錯誤訊息; • 由螢幕出現的錯誤訊息以 man 來查尋該問題的解決方法; • 檢驗登錄檔 (logfile) 的錯誤記錄; • 由錯誤記錄反查該套件的設定檔或者相關指令的校正!
個人小建議 • 學會一種以上的 package manager • 務必努力去找男人! • 至少要會使用 vi吧~~ ^_^ • 一定要瞭解 Linux 的目錄架構 • 一定要知道 User, Group, Others,以及 Process之間的關係!
個人小建議 • 知道如何追查與克服問題: • 養成日誌觀察的好習慣! • 天助自助者! • 科技永遠來自於人類的惰性: • 知道 cron 的用途; • 訓練執行 BASH 與編寫 scripts 的能力
個人小建議 • 『會用』比『會考試』應該要重要的多! • 由『實作』去體驗會比冥想有效的多! • 由『搜尋』取代『發問』會快速而有效的多!
Linux 網路安全簡述 • 如何入侵與攻擊 Linux 主機? • 使用軟體套件的漏洞(Ex>Wu-FTP) • 使用 port scan 軟體掃瞄後,以 root kit 攻擊軟體取得 Linux 主機的 root 功能 • 利用防火牆規則的不當規劃來滲透 • 使用玉石俱焚的當機手段
Linux 網路安全簡述 • 那麼該如何預防? • 瞭解網路的基礎(不論 Linux 與 Windows 的網路基礎均是相同的!) • 將不同的服務分別設定在不同主機上 • 如何升級套件? • 瞭解如何啟動與關閉一個 service (daemon) • 如何架設防火牆?
Linux 網路安全簡述 • 網路基礎 OSI 網路七層協定 • Hub 與 Switch 的差異; • 網路卡卡號? • TCP/IP 的相關重點: • Public IP 與 Private IP ? • 什麼是 port 與協定及 daemon ?