37
Linux 基基基基 Tainan Linux User Group 基基 ( VBird ) 2002/12/21

Linux 基礎應用

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Linux  基礎應用

Linux 基礎應用

Tainan Linux User Group

鳥哥 ( VBird )

2002/12/21

Page 2: Linux  基礎應用

為何學習 Linux ( 心態 )

• 因為 Linux 網路功能強大• 因為 Linux 作業系統上面的軟體幾乎都免費• 因為 Linux 圖形介面可以隨時改成各人喜好• 因為我沒錢且不喜歡 MS 的 Windows

• 但是… ..

• 上面都是騙人的!都不是重點!重點是 ...

• Linux 可以用來架站!

Page 3: Linux  基礎應用

今日重點 ( 講題要變喔! )

• 天吶!誰來教教我如何架站哪!• 註:不玩架站的也幫忙捧捧場!

Page 4: Linux  基礎應用

用什麼方式架站 -- 方法

• 簡單的 Web 介面: Webmin

– 簡單、立即可架設;– 因為簡單,所以不知道自己幹了什麼好事!– 詳細的設定與理解不易

• 繁雜的文字介面:– 麻煩!很難上手,基礎功夫花很多時間,

但總是看不到成效!– 一旦學成、終生受用!

Page 5: Linux  基礎應用

用什麼方式架站 -- 建議

• 建議用文字模式的原因:– 可以理解為什麼要這樣做?– 問題發生了,會知道哪裡可能出錯?– 整個流程的檢驗程序清晰!

• 底下來談談怎麼架站吧!

Page 6: Linux  基礎應用

基本架站流程 ( 按圖索驥 ?)

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

Page 7: Linux  基礎應用

主機的用途與規劃

• 我的主機用途是什麼? WWW 、 Mail ?• 要達成這個目的,我要知道的是:

– 硬體配備要如何? Proxy? NAT?

– 硬碟規劃怎麼做?• 硬碟排列順序與磁碟代號硬碟排列順序與磁碟代號?• Linux Linux 的目錄組織架構的目錄組織架構• 該伺服器用到的容量、目錄何在該伺服器用到的容量、目錄何在?

Page 8: Linux  基礎應用

主機的用途與規劃

• Linux 的目錄組織架構與 Server :– Mail Server ==> /var/spool/mail

– WWW Server ==> /var/www, /home

– Samba Server ==> /home

– …...

Page 9: Linux  基礎應用

主機的用途與規劃

• 你必須知道的基礎資料:– Linux 的檔案配置與架構– 每一個 Server 所預設使用的路徑– Linux 底下,硬體與系統的關係– 知道如何規劃一部 Linux 主機

• 必須瞭解到參考的依據!

Page 10: Linux  基礎應用

Linux 的安裝技巧

• 選用哪一套 Linux 有什麼不同? (kernel)• 安裝大問題:

– partition(fdisk) 與 format(mke2fs)– 什麼是掛載?? @_@– 選擇什麼樣的套件? (make?gcc…?)– 開機設定

• MBR, Super block ?• Lilo, grub ?

Page 11: Linux  基礎應用

Linux 的安裝技巧

• 你必須要知道的基礎資料:– 什麼是 Kernel ?– 硬碟的基本架構– 如何 partition 與 format

– 什麼是 Loader ??– 選擇套件的依據原理!

Page 12: Linux  基礎應用

瞭解想要架設的網站之原理

• 什麼是服務?什麼是 super daemon ?• 開放的服務名稱是什麼?

– /etc/services

• Port 如何啟動關閉與觀察?– /etc/rc.d/init.d, /etc/xinetd.d, kill, netstat

• 系統的程序 PID

Page 13: Linux  基礎應用

瞭解想要架設的網站之原理

• 你必須要知道的基礎資料:– 啟動 daemon 的預設路徑– daemon 與 port 的關係?– 使用 kill 與 signal

Page 14: Linux  基礎應用

尋找合適的套件軟體與安裝

• 每個服務對應的軟體有哪些?• 如何知道我的主機已經安裝該軟體?

– 資料庫查詢 (RPM)

– 手動日誌查詢 (Tarball)

• 什麼是原始碼 (source code) ?– ./configure, make, make install

Page 15: Linux  基礎應用

尋找合適的套件軟體與安裝

• 安裝的方法:– RPM ( 不滿原始設定,用 SRPM 修改

)

– Tarball

• 套件軟體通常的目錄放置習慣– RPM ( /etc, /usr, /bin, /var….)

– Tarball ( /usr/local/ )

Page 16: Linux  基礎應用

尋找合適的套件軟體與安裝

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

Page 17: Linux  基礎應用

設定 Server

• 步驟一:如何找到設定檔放置的目錄?– 同一套件,設定檔名通常不變– 不同 distribution 或安裝方式,讓設定檔

案可能在不同的地方出現,所以每出一個 distribution 都需要去買書?• 用 RPM 確認檔名• 用 Tarball 時,可用 find, locate,grep 等

Page 18: Linux  基礎應用

設定 Server

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

Page 19: Linux  基礎應用

設定 Server

• 步驟三:啟動 Server – 如何下達指令?

• BASH Shell – 如何重新編輯啟動的檔案?

• Shell script– /etc/rc.d/init.d– /etc/xinetd.d 或 /etc/inet.d– kill 與 Process ID

Page 20: Linux  基礎應用

設定 Server

• 步驟四:觀察啟動的狀態– 關於 port 的啟動

• 用 netstat 看看ㄅㄟ– 關於啟動的訊息資料

•那個 /var/log 目錄在做什麼?• Syslog 是什麼用途阿!?

Page 21: Linux  基礎應用

設定 Server

• 步驟五:對於 Client 開放的服務– 開設哪些帳號,及帳號的相關預設值

• User 與 Group 有什麼用處?• 使用 useradd 可新增,但是預設家

目錄? /etc/skel 目錄的編輯!• /etc/passwd 與 /etc/shadow 各有啥意義?如何設計 mail account 呢?

Page 22: Linux  基礎應用

設定 Server

• 步驟五:對於 Client 開放的服務– 是否允許存取?

• 什麼是權限 (owner,group,others) ?•那個 Process 屬於誰的呀!?•存取的資料量限額?

–Quota 的用途!•危險的 SUID 與 SGID

Page 23: Linux  基礎應用

設定 Server

• 步驟五:對於 Client 開放的服務– 是否允許身份的轉換?

• su

• sudo

– SUID, SGID

Page 24: Linux  基礎應用

設定 Server

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

Page 25: Linux  基礎應用

設定 Server

• 你必須要知道的基礎資料:–認識帳號、群組、與權限的相關性;– BASH, shell scripts, 與 vi 都需要熟悉– package manager

– 啟動的流程分析–連結檔之原理

Page 26: Linux  基礎應用

設定 Client

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

Page 27: Linux  基礎應用

安全性設定

• 雪特!被破解與密碼的關係?– /etc/login.defs

– /etc/security/limits.conf

• 什麼是 Super daemon 與 TCP_Wrappers

– /etc/hosts.allow, /etc/hosts.deny

• 我的核心與防火牆的關係?– ipchains, iptables

Page 28: Linux  基礎應用

安全性設定

• 升不升級有所謂!–漏洞來了怎麼辦?– 怎麼升級?

• RPM :什麼是不同版本?• Tarball :怎麼安裝適合?

Page 29: Linux  基礎應用

日誌與備份管理

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

Page 30: Linux  基礎應用

日誌與備份管理

• 日誌用的服務與目錄:– syslogd

– logrotate

– /var/log/messages, secure, maillog...

Page 31: Linux  基礎應用

日誌與備份管理

• 分析日誌的方法:– logwatch 之類的軟體;– 理解 syslog 後自行編寫 scripts

– 自動分析還需要 crontab !

Page 32: Linux  基礎應用

日誌與備份管理

• 備份的重要性:– 你說有多重要,他就有多重要,因為

資訊與時間無價!!

Page 33: Linux  基礎應用

架站完畢

• 規劃:• 安裝:• 架設:• 測試:• 維護。• ………..

• 其實是粉累的!

Page 34: Linux  基礎應用

架站完畢

• 所以知道為什麼基礎很重要了嗎?–還是不知道:

• 建議不要玩架站啦! @_@

– 知道了,但是沒時間:•呵呵!等著被入侵~

– 好吧!建議還是好好學一學!

Page 35: Linux  基礎應用

個人小建議

• 學會一種以上的 package manager

• 務必努力去找男人!• 至少要會使用 vi 吧~~ ^_^

• 一定要瞭解 Linux 的目錄架構• 一定要知道 User, Group, Others ,以及

Process 之間的關係!

Page 36: Linux  基礎應用

個人小建議

• 知道如何追查與克服問題:–養成日誌觀察的好習慣!– 天助自助者!

• 科技永遠來自於人類的惰性:– 知道 cron 的用途;–訓練執行 BASH 與編寫 scripts 的能力

Page 37: Linux  基礎應用

請大家多多指教!