Presentation is loading. Please wait.

Presentation is loading. Please wait.

Linux 教育訓練.

Similar presentations


Presentation on theme: "Linux 教育訓練."— Presentation transcript:

1 Linux 教育訓練

2 課程介紹 第一天 Linux 入門 上午 下午 認識Linux Linux 版本介紹 RedHat Linux安裝過程

3 課程介紹 第二天 Server 架設 上午 DNS、DHCP、FTP server 實做時間 下午 WWW、MAIL、PROXY

4 課程介紹 第三天 Linux 系統維護 / 安全議題 系統管理與維護 RedHat Errata 、up2date介紹 問題討論

5 認識Linux 什麼是Free Software? Shareware/Freeware 不提供Source Code
無法讓使用者自由更改或散播

6 認識Linux 什麼是自由軟體(Opensource)? Freedom(自由)/Open(開放) Source Code必須公開
任何人都可以自由傳播、下載、使用或改寫

7 GNU計畫 1983 年 Richard Stallman(自由軟體業的精神教父) 創辦 GNU(GNU’s not Unix)計畫

8 自由軟體基金會 GNU計畫的贊助單位 FSF(Free Software Fundation)提倡免費軟體 FSF自由使用權的三個意義:
可自由修改原始碼 可自由散佈修改過的原始碼,但不得收取任何版權費用

9 GNU Genel Public License
大眾公有版權/通用公共版權 官方翻譯:自由文件許可證 Copyleft

10 LINUX源起 1991 年 8 月 芬蘭的一個學生在comp.os.minix 新聞組貼上了以下這段話:
「你好,所有使用 minix 的人 -我正在為 386 ( 486 ) AT 做一個免費的操作系統 ( 只是為了愛好 ),不會像 GNU 那樣很大很專業。」

11 GNU與Linux GNU 仍自行發展Hurd Kernel 開發許多以GPL發行的應用程式與工具程式
Linux(Linus’s Unix) 由網路上熱心的朋友一起發展Linux Kernel 採用GNU發展的許多應用程式與工具程式 應該稱作GNU/Linux

12 Linux品牌 RedHat Linux SuSE Linux Mandrake Linux Caldera Linux
Turbolinux Debian GNU/Linux Gentoo Linux Linpus Linux

13 Linux Kernel現況與認證 Kerenl 版本 http://www.kernel.org Linux認證 發展版本-2.5.70
穩定版本-2.4.20 Linux認證 RedHat RHCE LPI Level one/two/three

14 RedHat Linux 9安裝 請拿出書本所附光碟片 我們將開始安裝

15 安裝第一步 Kickstart 安裝介紹 光碟開機 基本組態設定 選擇語言 鍵盤及滑鼠 選擇安裝方式

16 分割磁碟 使用Diskdruid 建立磁碟分割區 選擇掛載點,例如 “/” 、“/home”、”/var” 建立swap 分割區
檔案系統類型,ext2、ext3、msdos…etc 分割區大小

17 開機管理選項 開機管理程式 GRUB LILO 不安裝開機程式 開機程式安裝在哪裡? MBR /boot 的第一個磁區 設定核心參數

18 網路組態設定 新增網路裝置 選擇網路卡 DHCP設定 IP位址及其它網路資訊設定 Hostname Gateway DNS

19 防火牆組態設定 使用iptables 高安全 中安全 停用 其他設定

20 語系/時區/root密碼設定 選取要使用的語系 選取時區 設定 root 密碼

21 設定認證方式 Shadow/MD5加密認證 是否使用NIS/LDAP等其它認證方式

22 選取要安裝的套件 選擇安裝套件 套件相依性問題

23 開始安裝過程 休息時間 記得回來換片繼續安裝

24 xwindow組態設定 選擇解析度、開機時是否啟動 xwindows 預設桌面管理員 選擇顯示卡 設定螢幕

25 最後安裝 建立開機片 取出安裝光碟 重開機

26 Linux 開機流程 BIOS 嘗試在開機磁碟機的第 0 磁區、第 0 磁柱載入可供開機的磁區開機
開機載入程式 (boot loader ,如 LILO或Grub)的程式碼 找出 kernel 所在位置,接著載入並執行它以啟動開機程序 一旦 kernel 載入完畢,一些基本設備也完成初始化 (initialization) 嘗試從某個設備載入以及掛上 (mount) root filesystem 一旦 root filesystem 被載入並掛上,會看到一行訊息像: VFS: Mounted root (ext3 filesystem) readonly

27 Linux 開機流程 此時系統會在 root filesystem 上找到 init 程式 ( 在 /bin or /sbin) 並執行
init 讀取它的組態設定檔 (configuration file) /etc/inittab ,找出檔中標明 sysinit 的一行,並執行被指名的script。這個 sysinit script 通常類似 /etc/rc 或 /etc/init.d/boot 這兩個檔。這個 script 是一組建立基本系統服務的 shell 指令,諸如: 對所有磁碟執行 fsck 載入必備的核心模組 (modules) 啟動 swapping 進行網路初始化 將指定在 fstab 內的磁碟掛上

28 Linux 開機流程 當 sysinit script 結束後,控制權回到 init 上,接著進入預設的runlevel
預設的 runlevel 以 initdefault 這個關鍵字被指定在 /etc/inittab 內

29 runlevel 說明 0 – 關機 halt (不要在 initdefault 設定這個)
1 – 單人模式 Single user mode 2 – 多人模式未含網路功能 Multiuser, without NFS (與 runlevel 3 相同, 用在沒有網路環境下) 3 – 完整多人使用者模式 Full multiuser mode 4 – 未使用 unused 5 – xwindow 模式 X11 6 – 重開機 reboot (不要在 initdefault 設定這個)

30 man 男人? 線上查詢 man page # man ls # man 1 ls # info ls /etc/man.conf
whatis filename

31 vi 文書處理器 vi 管理員至少一定要會一種編輯器 vi 的使用: 一般模式:移動、複製、刪除、貼上 編輯模式:插入與取代文件
指令列模式:搜尋、自動取代、檔案存取等

32 vi help h,j,k,l 移動 / 搜尋 yy 複製 :%s/x/y/g 自動取代 dd 刪除 p 貼上 :w 寫入 o,i,a 插入
R,r 取代 u 回復 / 搜尋 :%s/x/y/g 自動取代 :w 寫入 :q 離開 :wq! 寫入強制離開

33 Linux 檔案 # touch test # ls –al test

34 Linux 檔案種類 正規檔案( regular file ) 目錄 (directory): 連結檔 (link):
第一個屬性為 [ - ] 純文字檔(ascii) 二進位檔(binary)  目錄 (directory): 第一個屬性為 [ d ] 連結檔 (link): 第一個屬性為 [ l ] 設備檔 (device): 區塊 (block) 設備檔,第一個屬性為 [ b ]; 字元 (character) 設備檔,第一個屬性為 [ c ]。

35 Linux 檔案屬性

36 更改 Linux 檔案屬性指令 r=4,w=2,x=1 # chmod 770 test u g o a +(加入) -(除去) =(設定)
owner  = rwx  = = 7 group  = rwx  = = 7 others = ---  = = 0 r=4,w=2,x=1 # chmod 770 test u g o a +(加入) -(除去) =(設定) r w x 檔案或目錄 chmod

37 更改 Linux 檔案擁有者指令 語法: chown [ -R ] 帳號名稱 檔案或目錄 chown [ -R ] 帳號名稱:群組名稱 檔案或目錄 範例: root]# chown games test root]# ls -l test drw-r--r--    1 games     root        0 Jun 20 14:36 test root]# chown –R root:root tmp

38 更改 Linux 檔案所屬群組 語法: chgrp 群組名稱檔案或目錄 範例:
root]# chgrp users test root]# ls -l drw-r--r--    1 root     users        1 Jun 20 14:36 test

39 Linux 目錄結構 /bin:常用系統程式目錄 /boot:開機設定檔,也是預設擺放核心 vmlinuz 的地方
/dev:擺放所有系統裝置檔案的目錄 /etc:幾乎系統的所有設定檔案均在此,尤其 passwd, shadow /etc/rc.d/init.d:系統開機的時候載入服務的 scripts 的擺放地點 /home:系統使用者的家目錄

40 Linux 目錄結構 /lib:Linux 執行或編譯程式函式庫目錄 /mnt:軟碟與光碟接預設掛載點的地方
/proc:系統核心與執行程序的一些資訊 /root:系統管理員的家目錄 /usr/bin, /bin:一般執行檔擺放的地方 /usr/sbin, /sbin:系統管理員常用指令集 /var:擺放系統記錄檔案的地方 /lost+fount:擺放系統不正常產生錯誤時遺失的片段

41

42 Linux 管理工具介紹 檔案與目錄管理 磁碟與硬體管理 程序與資源管理 RPM的管理 帳號與身份管理

43 檔案與目錄管理 目錄與路徑 相對路徑與絕對路徑
.     代表此層目錄 ..    代表上層目錄 ~     代表自己的家目錄 ~user 代表到 user 這個人的家目錄

44 檔案與目錄管理 cd pwd mkdir rmdir 變換目錄 刪除一個裡面是空的空目錄 cd /root 環境變數PATH 顯示目前的目錄
建立一個新目錄 mkdir –p /root/abc/123 rmdir 刪除一個裡面是空的空目錄 rmdir –p abc/123 環境變數PATH echo $PATH PATH=”$PATH”:/root

45 檔案與目錄管理 ls [-ailS] 參數說明: -a       :全部的檔案都列出(連同隱藏檔) -i       :印出 inode 的值 -l       :長的列出,連同檔案大小的資料等等 -S       :以檔案大小排序

46 檔案與目錄管理 cp [-drsu] [來源檔] [目的檔] 參數說明: -d:在進行 copy 的時候,如果是 copy 到 link 檔案,若不加任何參數,則預設情況中會將 link 到的原始檔案copy 到目的地,若加 -d 時,則 link 檔案可原封不動的將 link 這個捷徑其拷貝到目的地 -r:可以進行目錄的 copy -s:做成連結檔,而不 copy 之意!與 ln 指令相同功能! -u, --update:如果來源檔比較新,或者是沒有目的檔,那麼才會進行 copy 的動作

47 檔案與目錄管理 rm [-fir] [檔名] 參數說明: -i     :提供使用者確認(這是預設值) -r     :遞迴刪除 -f     :強力刪除

48 檔案與目錄管理 mv [-u] [來源檔] [目的檔] 參數說明: -u   :同樣的,為 update 的簡寫,當來源檔比目的檔還新的時後才會動作

49 觀看檔案內容 cat 由第一行開始顯示檔案內容 tac 從最後一行開始顯示,可以看出 tac 是 cat 的倒著寫
more 一頁一頁的顯示檔案內容 less 與 more 類似,可以往前翻頁 head 只看頭幾行 tail 只看尾巴幾行 nl   顯示的時候,順道輸出 行號 od   以二進位的方式讀取檔案內容

50 連結檔的介紹 連結檔的介紹: 什麼是 inode ln
Block 是記錄『檔案內容資料』的地區,而inode 則是記錄『該檔案的屬性、及該檔案放置在哪一個 Block 之內』的資訊 ln hard link 不能跨 filesystem/不能 link 目錄 symbolic link ln [-s] [來源檔] [目的檔]

51 檔案與目錄權限 chown 改變檔案的擁有人 chgrp 改變檔案的所屬群組 chmod 改變檔案的可寫、可讀、可執行等屬性
umask 改變預設的建立檔案或目錄時的屬性 chattr 改變檔案的特殊屬性 lsattr 顯示檔案的特殊屬性

52 搜尋檔案或目錄 which 查看可執行檔案的位置 # which ls
whereis 查看檔案的位置 # whereis [–b/-m] ls locate 配合資料庫查看檔案位置 # locate ls #updatedb find 尋找檔案 # find / -name “ls”

53 磁碟與硬體管理 查看硬碟或目錄的容量:df, du 切割與格式化硬碟:fdisk, mke2fs, e2label, mknod
檢查硬碟壞軌與資料同步化寫入:fsck, sync 關於軟碟開機片: mkbootdisk, fdformat 各式磁區的掛載:mount, umount 設定開機時即掛載的方式:/etc/fstab 虛擬記憶體 Swap:mkswap, swapon, swapoff 磁碟效能:hdparm

54 程序與資源管理 什麼是程序? 任何觸發系統工作的事件,系統會給予一個 process ID 來控制該事件的執行,這個 PID 就是程序
需要注意到,程序『屬於誰?他的權限是不同的!』而程序執行後輸出的訊息則與資料流有關

55 程序與資源管理 如何觀察程序? 常駐記憶體的程式(daemon, 服務) top ps 在背景下執行
是系統正常運作所必需要的(syslog,cron) 是某些服務提供所必需要的(www, mail..)

56 程序與資源管理 程序的優先執行順序? Priority nice value nice 新的 PID renice 已存在的 PID

57 程序與資源管理 給予程序『訊號, signal』 kill -signal PID -1 重新讀取設定檔 -9 無條件強制驅離記憶體

58 程序與資源管理 重要的程序之一:syslog
系統在背景下工作的各項服務所產生的『訊息』均統一由 syslog 這個服務 (daemon) 所管理 /etc/syslog.conf /var/log/messages /var/log/secure ...

59 程序與資源管理 背景與前景之工作管理 & 與 ctrl + z jobs fg, bg, kill %number

60 程序與資源管理 工作排程 循環式工作排程: crontab /etc/crontab 單一工作排程: at

61 Linux 套件管理 Tarball 為原始碼 (open source) 大部分的 tarball 均支援跨平台
需要額外的套件支援:make, kernel source, gcc 等等 升級、反安裝等較為不方便

62 Linux 套件管理 RPM 具有資料庫:容易安裝、升級、移除 在查驗及搜尋方面極為有效率 漏洞修補速度快速
最大的缺點:屬性相依的問題(這包含了版本、平台等等)

63 RPM的管理 安裝 rpm –ivh bash.rpm 升級 rpm –uvh bash.rpm 驗證 Rpm –V bash

64 RPM的管理 移除 rpm –e bash 查詢 rpm –qa bash 重建rpm資料庫 rpm --rebuilddb

65 帳號與身份管理 帳號管理 groupadd groupdel useradd userdel chsh chfn userconf

66 帳號與身份管理 密碼管理與設定 passwd 使用者身份切換 su sudo visudo

67 帳號與身份管理 使用者查詢 id finger groups

68 RedHat Linux 設定指令 setup Authentication configuration:這是關於系統性安全的設定項目
Firewall configuration :這個是關於 ipchains 的防火牆機制設定 Mouse configuration :設定滑鼠的型態 Network configuration :設定網路參數 System services :設定系統服務啟動 Printer configuration :設定印表機囉 Timezone configuration :設定時區

69 RedHat Linux 設定檔 /etc/sysconfig/* 裡頭的設定檔案 系統啟動服務工具 ntsysv service
ntsysv [--level run-level] service service [service name] [start|stop|restart] chkconfig chkconfig [--level levels] [--list|add|del] [service name] init init [0-6]

70 Shell 指令的操作 每行指令均以 Enter 為『開始執行』的依據,不過可以 \ 延續下達
指令可接續參數(Options)來達成多樣化的工作 大小寫是完全不同的 藉由輸出訊息可瞭解問題、解決之

71 Shell 變數的功能 環境當中,一些必要指令的用途 HOME 家目錄 MAIL 用 mail 時取得的 mailbox
PS1 提示字元囉! PATH 執行檔的搜尋路徑 ? 上個指令的執行結果回傳值

72 Shell 變數的功能 簡化與優化指令或 scripts 例如常使用的字串取代、 常使用的路徑取代….

73 Shell 進階指令操作--資料流重導向 將指令執行後,應該由螢幕輸出的的訊息導向到裝置或檔案當中;
# ls /home >> right 2>> error 最常見在『背景』工作中!例如系統的一堆背景工作紀錄(syslogd)

74 Shell 進階指令操作--管線命令 pipe 將輸出的訊息繼續進行處理

75 Shell 進階指令操作--管線命令 pipe # last | grep root | wc -l
# cat /etc/passwd | cut -d ‘:’ -f1 > accout

76 系統關機 關機 重新起動 shutdown –h now halt poweroff init 0 shutdown –r now
reboot init 6

77 討論時間 有任何問題歡迎直接提出一起討論 第一天課程結束 明天講解Server架設與實作

78 網路工具 一些網路偵錯指令 遠端連線使用指令 文字界面網頁瀏覽
ping, ifconfig, ifup, ifdown, netstat, route, traceroute, host, dig, nslookup 遠端連線使用指令 telnet, ssh, ftp, ncftp, lftp, wget 文字界面網頁瀏覽 lynx, links

79 RedHat Linux 網路設定 修改主機名稱與Gateway等設定 修改網路卡設定 修改DNS與Hosts設定
/etc/sysconfig/network 修改網路卡設定 /etc/sysconfig/network-script/ifcfg-eth0 修改DNS與Hosts設定 /etc/resolv.conf /etc/hosts

80 DNS Server 何謂DNS? 如何作業 Domain Name Server 正查 反查 給domain name, 回應ip
給ip, 回應domain name

81 DNS Server查詢方式

82 DNS Server套件-BIND 套件:bind-9.2.1-16, bind-utils-9.2.1-16 服務:named
服務埠:53 upd, 53 tcp 設定檔:/etc/named.conf , /var/namd/*

83 設定 BIND 預設的設定檔為 /etc/named.conf 全域選項,直接宣告於options底下: options {
directory “/var/named”; fowrarders { ; }; allow-query { /24; }; allow-transfer { /24; }; };

84 Master選項: Slave選項: zone “example.com” { type master;
file “db.example.com”; }; Slave選項: type slave; masters { ; };

85 Reverse lookup(反向尋查)選項:
zone “ in-addr.arpa”{ type slave; masters { ; }; file “db ”; }; Root 選項: zone “.” { type hint; file “named.ca”;

86 SOA (Start of Authority)
每個ZONE選項中都要有此設定 exmaple.com. IN SOA example.com. root.example.com ( ; serial number 300 ; refresh 60 ; retry ; expire ; minimum TTL for negative answers )

87 NS (name server) 每一個master 及 slave DNS 都要有一個NS 紀錄 例:
example.com. IN NS ns.redhat.com. ns.example.com. IN A

88 主要紀錄的型式 A紀錄對映hostname到IP位址 CNAME定義位址的別名 PTR紀錄IP位址對映到hostname
mail.example.com. IN A IN A CNAME定義位址的別名 mx IN CNAME mail www2 IN CNAME PTR紀錄IP位址對映到hostname 3 IN PTR mail.redhat.com.

89 MX 紀錄 MX 結合 domain name來處理其電子郵件 example.com. IN MX 5 mail.example.com
exmaple.com. IN MX 10 mail2.example.com

90 實做 修改 /etc/named.conf 設定讀取目錄 /var/named 建立一個 root 的 zone 設定
建立一個 example.com 的 zone 設定 建立一個 的反查 zone 設定

91 實做 建立 example.com.zone 檔 建立 example.com.rev 檔
設定 ns server 為 設定 A 記錄 設定 MX 記錄 設定 CNAME 記錄 建立 example.com.rev 檔 設定 PTR 紀錄

92 DNS Server 啟動與停止 /etc/init.d/named start 啟動
tail –f /var/log/messages 查看 log 紀錄 /etc/init.d/named stop 停止 killall named or kill -9 PID

93 DNS Server 驗證 nslookup www.example.com nslookup 192.168.30.3
dig exmaple.com mx host

94 DNS Server Lab 請建立一個以 exmaple.com 為網域且可供正查與反查的DNS Server

95 DNS Server Lab 檢驗項目 1 檢驗項目 2 # nslookup 192.168.30.1
# host has address 檢驗項目 2 # nslookup in-addr.arpa name = ns.example.com.

96 DHCP server 種類 DHCP 有三種方式, 靜態/自動/動態 靜態方式:手動指定用戶端固定IP 自動方式:自動指定IP位址
管理者在DHCP Server輸入用戶端 IP 與硬體位址 通常用在需要固定IP的各種伺服器主機 自動方式:自動指定IP位址 DHCP Server由預定的IP範圍, 自動分配給用戶端, 且無限期使用 IP範圍必需多於用戶端電腦數量 會記錄IP與MAC位址的對應資訊, 所以用戶端每次開機後都分配到相同IP

97 DHCP Server 種類 動態方式:動態分配IP位址 IP範圍少於用戶端電腦數量

98 DHCP 租用流程 分兩種, 第一種為第一次租用流程 (1)先在區域網路廣播找 DHCP Server
DHCP Client => DHCP DISCOVER => DHCP Server (2)找到後由 DCHP Server 提供租用IP資訊 DHCP Server => DHCP_OFFER => DHCP Client (3)DHCP Client 回覆 DHCP Server 收到 IP 資訊, 並請求認可 DHCP Client => DHCP_REQUEST => DHCP Server (4)DHCP Server 收到請求後, 給予認可, DHCP Client啟始租用 IP DHCP Server => DHCP_ACK => DCHP Client

99 DHCP 租用流程 第二種為, 更新租用流程(在租用期達二分之一後開始動作)
(1)DHCP Client 向 DHCP Server 請求延常租用位址時間 DHCP Client => DHCP_REQUEST => DHCP Server (2)DHCP Server 收到後, 回覆 DCHP Client 認可繼續租用 DHCP Server => DHCP_ACK => DHCP Client

100 DHCP 租用流程 若在這期中 DHCP Server 沒有給 DHCP Client 任何回應, 當 DHCP Client 達租用期限時, 就會停止使用, 再回到以第一種方式申請租用新的IP位址.

101 DHCP Server 套件 套件: dhcp-3.0p11-23.i386.rpm
dhcp-devel-3.0p11-23.i386.rpm 設定檔路徑: /usr/share/doc/dhcp-3.0p11/dhcpd.conf.sample Copy 至 /etc/dhcpd.conf 相關檔案: /etc/sysconfig/dhcpd /var/lib/dhcp/dhcpd.leases

102 dhcp.conf 整體設定(Global):裡面含有租約期限、還有 DNS IP 與 router 的設定
動態 IP 設定:使用 subnet 的項目與 range 的參數來設定要分配出去的 IP 靜態 IP 設定:使用 host 這個項目段,配合 MAC 來設定 『#』為註解符號; 除了括號那一行之外,其他的每一行後面都要以『 ; 』做為結尾

103 dhcp.conf Example option domain-name “example.com";
option domain-name-servers , ; # 設定DNS IP #動態 IP 分配的設定: subnet netmask {    range ;    option broadcast-address ;    option routers ; }

104 dhcp.conf Example # 靜態 IP 的設定:
host server1 {    hardware ethernet  00:40:95:30:43:B4;    fixed-address ;    option broadcast-address ;    option routers ; } default-lease-time ;   # 預設的租約時間,後面接的時間為秒鐘。 max-lease-time     ;   # 最大租約時間,最長到 秒

105 DHCP Server 啟動 與 除錯 /etc/init.d/dhcpd start tail -f /var/log/messages

106 DHCP Client 設定 將 Client 端的TCP/IP設定改為自動取得IP Windows 驗證 Linux 驗證
Ipconfig /all winipcfg Linux 驗證 Ifconfig -a

107 DHCP Server Lab 設定動態 IP 範圍 192.168.30.100~192.168.30.200
網卡Mac Address為 00:40:95:30:43:B4 廣播位址為 路由位址為

108 FTP server vsFTPD (Very Secure FTP Daemon) 套件:vsftpd-1.1.3-8.i386.rpm
TCP 20傳資料 TCP 21傳輸流程的控制 兩種主要身份使用 anonymous real user

109 vsFTPD 設定檔 /etc/vsftpd.ftpusers /etc/hosts.deny
限制登入的使用者 /etc/hosts.deny 限制登入的網域 /etc/vsftpd/vsftpd.conf 主要設定檔

110 vsFTPD 啟動與驗證 # /etc/init.d/vsftpd start 啟動vsftpd # lftp localhost
# ncftp localhost

111 FTP Server Lab 請用 vsFTPD 架設一個 FTP Server 設定歡迎訊息 banner_file
讓匿名的使用者可以上傳檔案

112 WWW Server 套件: httpd { , -devel, -manual } 服務名稱:httpd
啟動的script : httpd 執行埠:80/tcp (http), 443/tcp (https) 設定檔:/etc/httpd/*, /var/www/* 相關: redhat-config-httpd,mod_ssl,以及其它

113 WWW Server 設定檔 設定檔位置 模組位置 網頁文件預設放置目錄 /etc/httpd/conf/httpd.conf
/var/www/html/

114 httpd.conf 指定給使用者的目錄 MIME 型態設定 宣告index的頁面 UserDir public_html
AddType application/x-httpd-php .phtml AddType text/html .htm 宣告index的頁面 DirectoryIndex index.html default.html

115 httpd.conf 允許連結的設定 使用 .htaccess 檔案
<Directory /var/www/html/internal> order allow, deny allow from .example.com </Directory> 使用 .htaccess 檔案 #sample authentication .htaccess file AuthName “Jack’s home “ AuthType basic AuthUserFile /home/jack require user jack

116 Virtual Host 虛擬主機 在同一台電腦下, 要建立虛擬主機, 可採用 IP/Name/Port 三種方法建立
(1)IP Base: 使用IP地址將網頁請求對映到正確的頁面目錄, 因此每一個虛擬主機都需要一個IP位址 (2)Name Base: 只有單一IP位址, 但要用不同的網域名稱來呈現不同的網頁內容時, 就是以 Name Base 的方式來將網頁對映到正確的頁面, 但該方式無法使用 SSL 功能, 且需要支援HTTP/1.1的瀏覽器才可以使用. (3)Port Base: 利用不同的 port 設定, 建立起多個虛擬主機.

117 SSL 連線步驟 Client 端 和 Web Server SSL port 連線.(https)
Web Server端將憑證資料傳給 Client 端 Client 端進行憑證資料的確認, 將認可傳給 Web Server 端 Web Server端會再跟 Client 端傳送兩次資料, 一次是以自己的私鑰產生的資料內容, 另一次是Web Server端的公鑰. Client 收到 Web Server 端的加密資料與公鑰後, 將 Web Server 的公鑰產生 Symmetric Key, 並將該 Symmetric Key 傳給 Web Server 端. 兩端將以此 Symmetric Key 建立起加密通道

118 WWW Server 啟動與除錯 /etc/init.d/httpd start
tail –f /var/log/httpd/access_log tail –f /var/log/httpd/error_log

119 WWW Server Lab 請建立一個以Name Base的虛擬主機 www.example.com www2.example.com
分別可以看到不同的網頁

120 Mail Server MTA MDA MUA sendmail,postfix,qmail,exim procmail
Outlook Express Becky

121 Mail Server 路由

122 Mail Server 套件選擇 - Sendmail Sendmail 的特色: 允許各種不同的emial位址路徑
支援虛擬的domains及users 允許偽裝的使用者及機器 提供自動重試失敗傳送郵件的重傳及其它一些情況

123 Mail Server套件-sendmail
作業型態:System V-launched daemon 套件:sendmail {,-cf, -doc} 、IMAP 服務名稱:sendmail 執行的script:sendmail 服務埠:25(smtp) 設定檔位置:/etc/mail/sendmail.cf, /etc/aliases, /etc/mail/ 相關:procmail、/var/mail/maillog 、/var/spool/mail

124 m4 以 m4 來設定 sendmail.cf m4 是用來幫助設定sendmail.cf 的範本語言
Red Hat 預設 sendmail 的設定檔是以 /etc/mail/sendmail.mc 來產生的 Red Hat 建議以 m4 的 sendmai.mc 來開始設定sendmail 完整的 README.cf 放在 /usr/share/doc/sendmail 裡

125 sendmail.cf 主要設定檔 sendmail.cf 包含domain的別名(alias)、標頭、傳送規則等
編輯此檔時請小心並仔細地閱讀說明

126 /etc/mail/sendmail.cf # 開放中繼功能 # SMTP daemon options # 限制郵件大小
O DaemonPortOptions=Port=smtp,Addr= , Name=MTA 改為 # 限制郵件大小 # maximum message size O MaxMessageSize=

127 /etc/mail/access RELAY REJECT DISCARD 修改後記得在 /etc/mail 下執行 make 開放中繼功能
拒絕傳送 DISCARD 直接丟棄 修改後記得在 /etc/mail 下執行 make

128 /etc/aliase 設定帳號別名 MAILER-DAEMON: postmaster postmaster: root
root: sales: jack,john,mary # newaliases

129 查詢郵件佇列與 log # mailq # tail –f /var/log/maillog

130 sendmail 啟動與測試 # /etc/init.d/sendmail start # telnet localhost 25
mail from: rcpt to: data This is a test Mail . quit

131 Mail Server Lab 請用 sendmail 設定好一台可開放 向您的 Server 代為轉信的功能.

132 Proxy Server 什麼是代理伺服器? Proxy 會幫 Client 端的用戶去向目的地取得用戶端所需要的資料 是一個代理人的角色

133 Proxy Server

134 Proxy Server 運作方式

135 Proxy Server 優缺點 優點 快速的存取動作 降低網路的負荷 資料分流 提供防火牆內部的電腦連上 Internet
多層次的管道 ( 上層代理伺服器 ) 缺點 容易為 Intranet 的內部人員濫用 需要較高超的設定技巧與除錯程序 可能會取得舊的錯誤資料

136 上層Proxy Server SeedNet 的代理伺服器( Hinet 的代理伺服器(

137 硬體要求與最佳硬體配置方式 CPU 最好能夠 P III 550 以上等級 RAM 最好能夠大於 512 MB
Hard Disk 最好能用 SCSI 介面的 網路卡與網路周邊最好使用 GBytes 的網路卡

138 Proxy Server套件-squid 安裝Proxy套件 – squid-2.5.STABLE1-2.i386.rpm
目錄位置:/etc/squid 設定檔:/etc/squid/squid.conf 紀錄檔:/var/log/squid/access.log /var/log/squid/cache.log /var/log/squid/store.log

139 squid.conf http_port 3128 icp_port 3130 reference_age 1 month
cache_dir ufs /var/spool/squid cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log cache_store_log /var/log/squid/store.log pid_filename /var/run/squid.pid

140 squid.conf #auth_param basic children 5
#auth_param basic realm Squid proxy-caching web server #auth_param basic credentialsttl 2 hours http_access allow all cache_mgr root cache_effective_user squid cache_effective_group squid

141 squid 設定解說 http_port 3128 以瀏覽器連接到本proxy server時的port
cache_mem 8 MB 設定squid可用的記憶體空間 cache_dir ufs /var/spool/squid 設定快取目錄和快取可以使用的硬碟空間,100表示100MB;16表示第一層子目錄最多有16個;256表示每個第一層子目錄下的子目錄最多可以有256子目錄 cache_access_log /var/log/squid/access.log 快取記錄檔的名稱和所在目錄,負責記錄快取的所有行為 cache_log /var/spool/squid/cache.log 快取儲存記錄檔的名稱及所在目錄

142 squid 設定解說 cache_store_log /var/log/squid/store.log 設定store.log的存放位置
store.log、cache.log、access.log要定時備份並刪除,以免佔磁碟空間 reference_age 1 month 設定快取的資料保存時間 cache_mgr root squid出問題時要通知的管理者

143 acl的用法 <acl> <acl名稱> <acl類型> <設定的內容> acl類型
以來源端:src,srcdomain 以目地端:dst,dstdomain 以正規表式法:url_regex [-i] ^ urlpath_regex [-i] \.gif$ 設定的內容 IP or Domain or String acl example dstdomain .com

144 http_access 用法 設定允許存取 squid Server 的列表 以 acl 的定義來做管制
http_access allow example #設定只允許example的acl訂義存取 http_access deny all #如果要開放的話,改成 allow all

145 cache_peer 用法 <cache_peer> <主機名稱> <類別> <http_port> <icp_port> <其他參數> 類別:parent(上層),sibling(同一層) http_port/icp_port:3128/3130 其他參數: proxy-only,weight=n,no-query,default,no-netdb-exchange,no-digest 到處向其它proxy server請求會消耗太多網路資源,所以請勿設太多parent和sibling server. cache_peer proxy.hinet.net parent proxy-only

146 cache_peer_access 用法 cache_peer_access proxy.hinet.net allow example
<cache_peer_access> <上層 Proxy> <allow|deny> <acl名稱> cache_peer_access proxy.hinet.net allow example

147 不要進行cache的設定值 只要網址列出 cgi 字樣都不做 cache hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY

148 與時間相關的設定值 refresh_pattern ^ftp: 1440 20% 10080
<refresh_pattern> <regex> <最小時間> <百分比> <最大時間> refresh_pattern ^ftp: % refresh_pattern ^gopher: % refresh_pattern %

149 與時間相關的設定值 connect_timeout 2 minutes # 連線的timeout時間
peer_connect_timeout 30 seconds # 連線到上層proxy的timeout時間 request_timeout 5 minutes # 連上後,要求的 timeout 時間 persistent_request_timeout 1 minutes # 連上後, 連續要求 timeout 時間

150 額外的功能參數 與 FTP 有關的設定項目,主要是針對被動式連線
ftp_user ftp_passive on 主要與 DNS 的設定值有關,如果在高負載的 Proxy 環境下,可以考慮將 dns_children 提高到 20 左右,這個值最大為 32 dns_timeout 1 minutes hosts_file /etc/hosts

151 transparent proxy 設定 squid.conf
httpd_accel_host proxy.example.com httpd_accel_port 80 httpd_access_with_proxy on httpd_accel_uses_host_header on 設定 NAT 主機的 port map iptables -t nat -A PREROUTING -i eth0 -p tcp -s /24 --dport 80 -j REDIRECT --to-ports 3128

152 啟動 squid server /etc/init.d/squid start
tail –f /var/log/squid/access.log

153 Proxy Client端設定 在Browser的設定選項中找出代理伺服器,給予設定

154 末端資料分析 pwebstat http://martin.gleeson.com/pwebstats/installation.html
可使用該軟體來做log分析

155

156 Proxy Server Lab 兩個人為一組,設定一台簡易的Proxy Server
使用 client 做 Internet 連線,並查看 Proxy Server 是否有代為抓取資料

157 討論時間 安裝/設定/調校 觀察紀錄檔 有任何問題歡迎提問 第二天課程結束 明天將講解系統維護與管理/網路安全/線上套件更新

158 系統維護與管理 定時備份資料 檢查系統紀錄檔 調校系統狀態 注意系統安全

159 備份資料 確定備份資料的來源與目地 使用 tar 搭配 gzip 或 cpio 來完成備份的工作 運用 script 來將資料做備份與紀錄

160 網路安全 Cracker 常見的入侵技術: 使用工具程式入侵你的主機 蠕蟲或木馬程式 ( Trojan horse )
DoS 攻擊法 ( Denial of Service ) IP 欺騙 Port scan

161 網路安全 主機維護的幾個重要事項 關閉幾個不安全的服務 升級幾個可能有問題的套件 架設好最起碼的安全防護--防火牆— iptables
套件

162 網路安全 移除不必要的服務 使用以下工具檢查 port netstat nmap 使用 ssh 做主機與主機的連線 ssh putty

163 線上套件更新 RedHat 套件更新 中央研究院 RedHat update Mirror
ftp://linux.sinica.edu.tw/redhat/updates

164 討論與分享時間 歡迎提出在Linux整合上的問題 Linux相關議題 一起討論


Download ppt "Linux 教育訓練."

Similar presentations


Ads by Google