1 / 37

Linux 基礎應用

Linux 基礎應用. Tainan Linux User Group 鳥哥 ( VBird ) 2002/12/21. 為何學習 Linux ( 心態). 因為 Linux 網路功能強大 因為 Linux 作業系統上面的軟體幾乎都免費 因為 Linux 圖形介面可以隨時改成各人喜好 因為我沒錢且不喜歡 MS 的 Windows 但是 ….. 上面都是騙人的!都不是重點!重點是 ... Linux 可以用來架站!. 今日重點 ( 講題要變喔! ). 天吶!誰來教教我如何架站哪! 註:不玩架站的也幫忙捧捧場!.

guy-mayer
Download Presentation

Linux 基礎應用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Linux 基礎應用 Tainan Linux User Group 鳥哥 ( VBird ) 2002/12/21

  2. 為何學習 Linux (心態) • 因為 Linux 網路功能強大 • 因為 Linux 作業系統上面的軟體幾乎都免費 • 因為 Linux 圖形介面可以隨時改成各人喜好 • 因為我沒錢且不喜歡 MS 的 Windows • 但是….. • 上面都是騙人的!都不是重點!重點是... • Linux 可以用來架站!

  3. 今日重點 (講題要變喔!) • 天吶!誰來教教我如何架站哪! • 註:不玩架站的也幫忙捧捧場!

  4. 用什麼方式架站--方法 • 簡單的 Web 介面:Webmin • 簡單、立即可架設; • 因為簡單,所以不知道自己幹了什麼好事! • 詳細的設定與理解不易 • 繁雜的文字介面: • 麻煩!很難上手,基礎功夫花很多時間,但總是看不到成效! • 一旦學成、終生受用!

  5. 用什麼方式架站--建議 • 建議用文字模式的原因: • 可以理解為什麼要這樣做? • 問題發生了,會知道哪裡可能出錯? • 整個流程的檢驗程序清晰! • 底下來談談怎麼架站吧!

  6. 基本架站流程(按圖索驥?) • 架什麼站?主機未來用途與規劃軟硬體 • Linux 的最佳安裝技巧 • 瞭解想要架設的網站之原理 • 尋找合適的套件軟體、並加以安裝 • 設定 Server:怎麼設定?找誰幫忙? • 設定 Client 與測試 • 安全性設定 • 日誌與登錄及備份管理

  7. 主機的用途與規劃 • 我的主機用途是什麼?WWW、Mail ? • 要達成這個目的,我要知道的是: • 硬體配備要如何?Proxy? NAT? • 硬碟規劃怎麼做? • 硬碟排列順序與磁碟代號? • Linux 的目錄組織架構 • 該伺服器用到的容量、目錄何在?

  8. 主機的用途與規劃 • Linux 的目錄組織架構與 Server: • Mail Server ==> /var/spool/mail • WWW Server ==> /var/www, /home • Samba Server ==> /home • …...

  9. 主機的用途與規劃 • 你必須知道的基礎資料: • Linux 的檔案配置與架構 • 每一個 Server 所預設使用的路徑 • Linux 底下,硬體與系統的關係 • 知道如何規劃一部 Linux 主機 • 必須瞭解到參考的依據!

  10. Linux 的安裝技巧 • 選用哪一套 Linux 有什麼不同?(kernel) • 安裝大問題: • partition(fdisk) 與 format(mke2fs) • 什麼是掛載?? @_@ • 選擇什麼樣的套件?(make?gcc…?) • 開機設定 • MBR, Super block ? • Lilo, grub ?

  11. Linux 的安裝技巧 • 你必須要知道的基礎資料: • 什麼是 Kernel ? • 硬碟的基本架構 • 如何 partition 與 format • 什麼是 Loader ?? • 選擇套件的依據原理!

  12. 瞭解想要架設的網站之原理 • 什麼是服務?什麼是 super daemon? • 開放的服務名稱是什麼? • /etc/services • Port 如何啟動關閉與觀察? • /etc/rc.d/init.d, /etc/xinetd.d, kill, netstat • 系統的程序 PID

  13. 瞭解想要架設的網站之原理 • 你必須要知道的基礎資料: • 啟動 daemon 的預設路徑 • daemon 與 port 的關係? • 使用 kill 與 signal

  14. 尋找合適的套件軟體與安裝 • 每個服務對應的軟體有哪些? • 如何知道我的主機已經安裝該軟體? • 資料庫查詢(RPM) • 手動日誌查詢(Tarball) • 什麼是原始碼(source code)? • ./configure, make, make install

  15. 尋找合適的套件軟體與安裝 • 安裝的方法: • RPM ( 不滿原始設定,用 SRPM 修改 ) • Tarball • 套件軟體通常的目錄放置習慣 • RPM ( /etc, /usr, /bin, /var….) • Tarball ( /usr/local/ )

  16. 尋找合適的套件軟體與安裝 • 你必須要知道的基礎資料: • 如何下達指令? • 什麼是 package manager ? • 如何查詢我的主機套件? • 如何克服屬性相依的問題? • 如何安裝 source code 的軟體?

  17. 設定 Server • 步驟一:如何找到設定檔放置的目錄? • 同一套件,設定檔名通常不變 • 不同 distribution 或安裝方式,讓設定檔案可能在不同的地方出現,所以每出一個 distribution 都需要去買書? • 用 RPM 確認檔名 • 用 Tarball 時,可用 find, locate,grep 等

  18. 設定 Server • 步驟二:如何實地編寫設定檔? • 使用 man, info 查詢設定檔參數 • /usr/share/doc 這個目錄在幹嘛? • 重點是, vi 會用嗎?

  19. 設定 Server • 步驟三:啟動 Server • 如何下達指令? • BASH Shell • 如何重新編輯啟動的檔案? • Shell script • /etc/rc.d/init.d • /etc/xinetd.d 或 /etc/inet.d • kill 與 Process ID

  20. 設定 Server • 步驟四:觀察啟動的狀態 • 關於 port 的啟動 • 用 netstat 看看ㄅㄟ • 關於啟動的訊息資料 • 那個 /var/log 目錄在做什麼? • Syslog 是什麼用途阿!?

  21. 設定 Server • 步驟五:對於 Client 開放的服務 • 開設哪些帳號,及帳號的相關預設值 • User 與 Group 有什麼用處? • 使用 useradd 可新增,但是預設家目錄? /etc/skel 目錄的編輯! • /etc/passwd 與 /etc/shadow 各有啥意義?如何設計 mail account 呢?

  22. 設定 Server • 步驟五:對於 Client 開放的服務 • 是否允許存取? • 什麼是權限(owner,group,others) ? • 那個 Process 屬於誰的呀!? • 存取的資料量限額? • Quota 的用途! • 危險的 SUID 與 SGID

  23. 設定 Server • 步驟五:對於 Client 開放的服務 • 是否允許身份的轉換? • su • sudo • SUID, SGID

  24. 設定 Server • 步驟六:設定開機時啟動 • 那個 /etc/rc.d/ 目錄是作何之用? • /etc/sysconfig 裡面的咚咚代表什麼? • chkconfig, ntsysv, /etc/rc.d/init.d 用途?

  25. 設定 Server • 你必須要知道的基礎資料: • 認識帳號、群組、與權限的相關性; • BASH, shell scripts, 與 vi 都需要熟悉 • package manager • 啟動的流程分析 • 連結檔之原理

  26. 設定 Client • 你必須要知道的基礎資料: • 跟 Server 一樣,剛剛第五步驟提到的內容,在 client 端雖不必設定,但是您必須瞭解,才能夠知道問題發生時,能夠如何克服!

  27. 安全性設定 • 雪特!被破解與密碼的關係? • /etc/login.defs • /etc/security/limits.conf • 什麼是 Super daemon 與 TCP_Wrappers • /etc/hosts.allow, /etc/hosts.deny • 我的核心與防火牆的關係? • ipchains, iptables

  28. 安全性設定 • 升不升級有所謂! • 漏洞來了怎麼辦? • 怎麼升級? • RPM :什麼是不同版本? • Tarball:怎麼安裝適合?

  29. 日誌與備份管理 • 為什麼要日誌? • 曾經發生過什麼事情? • 解析系統的問題 • 架站過程中發生的錯誤訊息與修正 • 記錄過往的主機歷程

  30. 日誌與備份管理 • 日誌用的服務與目錄: • syslogd • logrotate • /var/log/messages, secure, maillog...

  31. 日誌與備份管理 • 分析日誌的方法: • logwatch 之類的軟體; • 理解 syslog 後自行編寫 scripts • 自動分析還需要 crontab !

  32. 日誌與備份管理 • 備份的重要性: • 你說有多重要,他就有多重要,因為資訊與時間無價!!

  33. 架站完畢 • 規劃: • 安裝: • 架設: • 測試: • 維護。 • ……….. • 其實是粉累的!

  34. 架站完畢 • 所以知道為什麼基礎很重要了嗎? • 還是不知道: • 建議不要玩架站啦! @_@ • 知道了,但是沒時間: • 呵呵!等著被入侵~ • 好吧!建議還是好好學一學!

  35. 個人小建議 • 學會一種以上的 package manager • 務必努力去找男人! • 至少要會使用 vi吧~~ ^_^ • 一定要瞭解 Linux 的目錄架構 • 一定要知道 User, Group, Others,以及 Process之間的關係!

  36. 個人小建議 • 知道如何追查與克服問題: • 養成日誌觀察的好習慣! • 天助自助者! • 科技永遠來自於人類的惰性: • 知道 cron 的用途; • 訓練執行 BASH 與編寫 scripts 的能力

  37. 請大家多多指教!

More Related