Embed
Email

Linux ????

Document Sample
Linux ????
Shared by: HC120103225719
Categories
Tags
Stats
views:
7
posted:
1/3/2012
language:
pages:
164
Linux 教育訓練

課程介紹

 第一天 Linux 入門

 上午

 認識Linux

 Linux 版本介紹



 RedHat Linux安裝過程



 下午

 RedHat Linux 目錄 / 設定檔 / 開機流程、檔案權限

與管理工具介紹

課程介紹

 第二天 Server 架設

 上午

 DNS、DHCP、FTP server

 實做時間



 下午

 WWW、MAIL、PROXY

 實做時間

課程介紹

 第三天 Linux 系統維護 / 安全議題

 系統管理與維護

Errata 、up2date介紹

 RedHat

 問題討論

認識Linux

 什麼是Free Software?

 Shareware/Freeware

 不提供Source

Code

 無法讓使用者自由更改或散播

認識Linux

 什麼是自由軟體(Opensource)?

 Freedom(自由)/Open(開放)

 Source

Code必須公開

 任何人都可以自由傳播、下載、使用或改寫

GNU計畫

 1983 年 Richard Stallman(自由軟體業的精

神教父) 創辦 GNU(GNU‘s not Unix)計畫



 開始於1984年,旨在發展一個 類-Unix 且

為 自由軟體 的完整作業系統



 http://www.gnu.org/

自由軟體基金會

 GNU計畫的贊助單位

 FSF(Free Software Fundation)提倡免費軟



 FSF自由使用權的三個意義:

 可自由複製GNU的軟體

 可自由修改原始碼

 可自由散佈修改過的原始碼,但不得收取任何

版權費用

GNU Genel Public License

 大眾公有版權/通用公共版權

 官方翻譯:自由文件許可證

 Copyleft





 http://www.linux.org.tw/CLDP/GNU/licence

s/fdl.zh.html

 http://www.gnu.org/copyleft/gpl.html

LINUX源起

 1991 年 8 月

芬蘭的一個學生在comp.os.minix 新聞組貼

上了以下這段話:



「你好,所有使用 minix 的人 -我正在為 386 ( 486 )

AT 做一個免費的操作系統 ( 只是為了愛好 ),不

會像 GNU 那樣很大很專業。」

GNU與Linux

 GNU

 仍自行發展Hurd Kernel

 開發許多以GPL發行的應用程式與工具程式









 Linux(Linus‘s Unix)

 由網路上熱心的朋友一起發展Linux Kernel

 採用GNU發展的許多應用程式與工具程式

 應該稱作GNU/Linux

Linux品牌

 RedHat Linux

 SuSE Linux

 Mandrake Linux

 Caldera Linux

 Turbolinux

 Debian GNU/Linux

 Gentoo Linux

 Linpus Linux

Linux Kernel現況與認證

 Kerenl 版本 http://www.kernel.org

 發展版本-2.5.70

 穩定版本-2.4.20





 Linux認證

 RedHat RHCE

http://www.redhat.com/

 LPI Level one/two/three

http://www.lpi.org

RedHat Linux 9安裝



請拿出書本所附光碟片



我們將開始安裝

安裝第一步

 Kickstart 安裝介紹

 光碟開機

 基本組態設定

 選擇語言

 鍵盤及滑鼠



 選擇安裝方式

分割磁碟

 使用Diskdruid

 建立磁碟分割區

 選擇掛載點,例如 “/‖ 、“/home‖、”/var‖

 建立swap 分割區

 檔案系統類型,ext2、ext3、msdos…etc

 分割區大小

開機管理選項

 開機管理程式

 GRUB

 LILO

 不安裝開機程式

 開機程式安裝在哪裡?

 MBR

 /boot 的第一個磁區

 設定核心參數

網路組態設定

 新增網路裝置

 選擇網路卡

 DHCP設定

 IP位址及其它網路資訊設定

 Hostname

 Gateway

 DNS

防火牆組態設定

 使用iptables

 高安全

 中安全

 停用

 其他設定

語系/時區/root密碼設定

 選取要使用的語系

 選取時區

 設定 root 密碼

設定認證方式

 Shadow/MD5加密認證

 是否使用NIS/LDAP等其它認證方式

選取要安裝的套件

 選擇安裝套件

 套件相依性問題

開始安裝過程

 休息時間



 記得回來換片繼續安裝

xwindow組態設定

 選擇解析度、開機時是否啟動 xwindows

 預設桌面管理員

 選擇顯示卡

 設定螢幕

最後安裝

 建立開機片

 取出安裝光碟

 重開機

Linux 開機流程

1. BIOS 嘗試在開機磁碟機的第 0 磁區、第 0 磁柱載入可供

開機的磁區開機

2. 開機載入程式 (boot loader ,如 LILO或Grub)的程式碼

3. 找出 kernel 所在位置,接著載入並執行它以啟動開機程



4. 一旦 kernel 載入完畢,一些基本設備也完成初始化

(initialization)

5. 嘗試從某個設備載入以及掛上 (mount) root filesystem

一旦 root filesystem 被載入並掛上,會看到一行訊息像:

VFS: Mounted root (ext3 filesystem) readonly

Linux 開機流程

6. 此時系統會在 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 內的磁碟掛上

Linux 開機流程

7. 當 sysinit script 結束後,控制權回到 init

上,接著進入預設的runlevel



 預設的 runlevel 以 initdefault 這個關鍵字被指

定在 /etc/inittab 內

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 設定這個)

man 男人?

 線上查詢 man page

# man ls

# man 1 ls

# info ls



 /etc/man.conf

 whatis filename

vi

 文書處理器 vi

 管理員至少一定要會一種編輯器

 vi 的使用:

 一般模式:移動、複製、刪除、貼上

 編輯模式:插入與取代文件



 指令列模式:搜尋、自動取代、檔案存取等

vi help

 h,j,k,l 移動  / 搜尋

 yy 複製  :%s/x/y/g

 dd 刪除 自動取代

 p 貼上  :w 寫入

 o,i,a 插入

 :q 離開

 R,r 取代

 :wq!

 u 回復

寫入強制離開

Linux 檔案

# touch test

# ls –al test

Linux 檔案種類

 正規檔案( regular file )

 第一個屬性為 [ - ]

 純文字檔(ascii)

 二進位檔(binary)



 目錄 (directory):

 第一個屬性為 [d]

 連結檔 (link):

 第一個屬性為 [l]

 設備檔 (device):

 區塊 (block) 設備檔,第一個屬性為 [ b ];

 字元 (character) 設備檔,第一個屬性為 [ c ]。

Linux 檔案屬性

更改 Linux 檔案屬性指令

owner = rwx = 4+2+1 = 7

r=4,w=2,x=1

group = rwx = 4+2+1 = 7

# chmod 770 test others = --- = 0+0+0 = 0





u

+(加入) r

g 檔案或目錄

chmod -(除去) w

o

=(設定) x

a

更改 Linux 檔案擁有者指令

語法:

chown [ -R ] 帳號名稱 檔案或目錄

chown [ -R ] 帳號名稱:群組名稱 檔案或目錄 範例:



[root@test root]# chown games test

[root@test root]# ls -l test



drw-r--r-- 1 games root 0 Jun 20 14:36 test



[root@test root]# chown –R root:root tmp

更改 Linux 檔案所屬群組

語法:

chgrp 群組名稱檔案或目錄 範例:



[root@test root]# chgrp users test

[root@test root]# ls -l



drw-r--r-- 1 root users 1 Jun 20 14:36 test

Linux 目錄結構

 /bin:常用系統程式目錄

 /boot:開機設定檔,也是預設擺放核心 vmlinuz

的地方

 /dev:擺放所有系統裝置檔案的目錄

 /etc:幾乎系統的所有設定檔案均在此,尤其

passwd, shadow

 /etc/rc.d/init.d:系統開機的時候載入服務的

scripts 的擺放地點

 /home:系統使用者的家目錄

Linux 目錄結構

 /lib:Linux 執行或編譯程式函式庫目錄

 /mnt:軟碟與光碟接預設掛載點的地方

 /proc:系統核心與執行程序的一些資訊

 /root:系統管理員的家目錄

 /usr/bin, /bin:一般執行檔擺放的地方

 /usr/sbin, /sbin:系統管理員常用指令集

 /var:擺放系統記錄檔案的地方

 /lost+fount:擺放系統不正常產生錯誤時遺失的片



Linux 管理工具介紹

 檔案與目錄管理

 磁碟與硬體管理

 程序與資源管理

 RPM的管理

 帳號與身份管理

檔案與目錄管理

 目錄與路徑

 相對路徑與絕對路徑

. 代表此層目錄

.. 代表上層目錄

~ 代表自己的家目錄

~user 代表到 user 這個人的家目錄

檔案與目錄管理

 cd  rmdir

變換目錄 刪除一個裡面是空的空

cd /root 目錄

rmdir –p abc/123

 pwd

 環境變數PATH

顯示目前的目錄

echo $PATH

 mkdir PATH=‖$PATH‖:/root

建立一個新目錄

mkdir –p /root/abc/123

檔案與目錄管理

 ls [-ailS]

參數說明:

-a :全部的檔案都列出(連同隱藏檔)

-i :印出 inode 的值

-l :長的列出,連同檔案大小的資料等等

-S :以檔案大小排序

檔案與目錄管理

 cp [-drsu] [來源檔] [目的檔]

參數說明:

-d:在進行 copy 的時候,如果是 copy 到 link 檔案,

若不加任何參數,則預設情況中會將 link 到的原始檔

案copy 到目的地,若加 -d 時,則 link 檔案可原封不動

的將 link 這個捷徑其拷貝到目的地

-r:可以進行目錄的 copy

-s:做成連結檔,而不 copy 之意!與 ln 指令相同功能!

-u, --update:如果來源檔比較新,或者是沒有目的檔,

那麼才會進行 copy 的動作

檔案與目錄管理

 rm[-fir] [檔名]

參數說明:

-i :提供使用者確認(這是預設值)

-r :遞迴刪除

-f :強力刪除

檔案與目錄管理

 mv[-u] [來源檔] [目的檔]

參數說明:

-u :同樣的,為 update 的簡寫,當來源檔比

目的檔還新的時後才會動作

觀看檔案內容

 cat 由第一行開始顯示檔案內容

 tac 從最後一行開始顯示,可以看出 tac 是 cat

的倒著寫

 more 一頁一頁的顯示檔案內容

 less 與 more 類似,可以往前翻頁

 head 只看頭幾行

 tail 只看尾巴幾行

 nl 顯示的時候,順道輸出 行號

 od 以二進位的方式讀取檔案內容

連結檔的介紹

 連結檔的介紹: 什麼是 inode

Block 是記錄『檔案內容資料』的地區,而

inode 則是記錄『該檔案的屬性、及該檔案放

置在哪一個 Block 之內』的資訊

 ln

 hard link

不能跨 filesystem/不能 link 目錄

 symbolic link

 ln [-s] [來源檔] [目的檔]

檔案與目錄權限

 chown 改變檔案的擁有人

 chgrp 改變檔案的所屬群組

 chmod 改變檔案的可寫、可讀、可執行等

屬性

 umask 改變預設的建立檔案或目錄時的屬



 chattr 改變檔案的特殊屬性

 lsattr 顯示檔案的特殊屬性

搜尋檔案或目錄

 which 查看可執行檔案的位置

# which ls

 whereis 查看檔案的位置

# whereis [–b/-m] ls

 locate 配合資料庫查看檔案位置

# locate ls #updatedb

 find 尋找檔案

# find / -name ―ls‖

磁碟與硬體管理

 查看硬碟或目錄的容量:df, du

 切割與格式化硬碟:fdisk, mke2fs, e2label,

mknod

 檢查硬碟壞軌與資料同步化寫入:fsck, sync

 關於軟碟開機片: mkbootdisk, fdformat

 各式磁區的掛載:mount, umount

 設定開機時即掛載的方式:/etc/fstab

 虛擬記憶體 Swap:mkswap, swapon, swapoff

 磁碟效能:hdparm

程序與資源管理

 什麼是程序?

 任何觸發系統工作的事件,系統會給予一個

process ID 來控制該事件的執行,這個 PID 就

是程序

 需要注意到,程序『屬於誰?他的權限是不同

的!』而程序執行後輸出的訊息則與資料流有



程序與資源管理

 如何觀察程序?

 top

 ps



 常駐記憶體的程式(daemon, 服務)

 在背景下執行

 是系統正常運作所必需要的(syslog,cron)

 是某些服務提供所必需要的(www, mail..)

程序與資源管理

 程序的優先執行順序?

 Priority

 nice value

 nice 新的 PID

 renice 已存在的 PID

程序與資源管理

 給予程序『訊號, signal』

 kill -signal PID

 -1 重新讀取設定檔

 -9 無條件強制驅離記憶體



 -15 正常方式關閉該 PID

程序與資源管理

 重要的程序之一:syslog

 系統在背景下工作的各項服務所產生的『訊息』

均統一由 syslog 這個服務 (daemon) 所管理

 /etc/syslog.conf

 /var/log/messages

 /var/log/secure ...

程序與資源管理

 背景與前景之工作管理

 & 與 ctrl + z

 jobs

 fg, bg, kill %number

程序與資源管理

 工作排程

 循環式工作排程:

 crontab

 /etc/crontab



 單一工作排程:

 at

Linux 套件管理

 Tarball

 為原始碼 (open source)

 大部分的 tarball 均支援跨平台

 需要額外的套件支援:make, kernel source,

gcc 等等

 升級、反安裝等較為不方便

Linux 套件管理

 RPM

 具有資料庫:容易安裝、升級、移除

 在查驗及搜尋方面極為有效率

 漏洞修補速度快速

 最大的缺點:屬性相依的問題(這包含了版本、

平台等等)

RPM的管理

 安裝

 rpm –ivh bash.rpm

 升級

 rpm –uvh bash.rpm

 驗證

 Rpm –V bash

RPM的管理

 移除

 rpm –e bash

 查詢

 rpm –qa bash

 重建rpm資料庫

 rpm --rebuilddb

帳號與身份管理

 帳號管理

 groupadd

 groupdel

 useradd

 userdel

 chsh

 chfn

 userconf

帳號與身份管理

 密碼管理與設定

 passwd

 使用者身份切換

 su

 sudo

 visudo

帳號與身份管理

 使用者查詢

 id

 finger

 groups

RedHat Linux 設定指令

 setup

 Authentication configuration:這是關於系統性安全

的設定項目

 Firewall configuration :這個是關於 ipchains 的防火

牆機制設定

 Mouse configuration :設定滑鼠的型態

 Network configuration :設定網路參數

 System services :設定系統服務啟動

 Printer configuration :設定印表機囉

 Timezone configuration :設定時區

RedHat Linux 設定檔

 /etc/sysconfig/* 裡頭的設定檔案



 系統啟動服務工具

 ntsysv

ntsysv [--level run-level]

 service

service [service name] [start|stop|restart]

 chkconfig

chkconfig [--level levels] [--list|add|del] [service name]

 init

init [0-6]

Shell

 指令的操作

 每行指令均以 Enter 為『開始執行』的依據,

不過可以 \ 延續下達

 指令可接續參數(Options)來達成多樣化的工作

 大小寫是完全不同的

 藉由輸出訊息可瞭解問題、解決之

Shell

 變數的功能

 環境當中,一些必要指令的用途

 HOME 家目錄

 MAIL 用 mail 時取得的 mailbox



 PS1 提示字元囉!



 PATH 執行檔的搜尋路徑



 ? 上個指令的執行結果回傳值

Shell

 變數的功能

 簡化與優化指令或 scripts

 例如常使用的字串取代、

 常使用的路徑取代….



 Shell scripts 當中的變數取代(最常見)

Shell

 進階指令操作--資料流重導向

 將指令執行後,應該由螢幕輸出的的訊息導向

到裝置或檔案當中;

 # ls /home >> right 2>> error

 最常見在『背景』工作中!例如系統的一堆背

景工作紀錄(syslogd)

Shell

進階指令操作--管線命令 pipe

 將輸出的訊息繼續進行處理

Shell

 進階指令操作--管線命令 pipe

# last | grep root | wc -l

 # cat /etc/passwd | cut -d ‗:‘ -f1 > accout

系統關機

 關機

 shutdown –h now

 halt



 poweroff



 init 0



 重新起動

 shutdown –r now

 reboot



 init 6

討論時間

 有任何問題歡迎直接提出一起討論



 第一天課程結束



 明天講解Server架設與實作

網路工具

 一些網路偵錯指令

 ping, ifconfig, ifup, ifdown, netstat, route,

traceroute, host, dig, nslookup

 遠端連線使用指令

 telnet, ssh, ftp, ncftp, lftp, wget

 文字界面網頁瀏覽

 lynx, links

RedHat Linux 網路設定

 修改主機名稱與Gateway等設定

 /etc/sysconfig/network

 修改網路卡設定

 /etc/sysconfig/network-script/ifcfg-eth0



 修改DNS與Hosts設定

 /etc/resolv.conf

 /etc/hosts

DNS Server

 何謂DNS?

 Domain Name Server

 如何作業

 正查

 給domain name, 回應ip

 反查

 給ip, 回應domain name

DNS Server查詢方式

DNS Server套件-BIND

 套件:bind-9.2.1-16, bind-utils-9.2.1-16

 服務:named

 執行檔:named

 服務埠:53 upd, 53 tcp

 設定檔:/etc/named.conf , /var/namd/*

設定 BIND

 預設的設定檔為 /etc/named.conf

全域選項,直接宣告於options底下:

options {

directory ―/var/named‖;

fowrarders { 168.95.1.1; };

allow-query {192.100.100/24; };

allow-transfer {192.100.100/24; };

};

 Master選項:

 zone ―example.com‖ {

type master;

file ―db.example.com‖;

};

 Slave選項:

 zone ―example.com‖ {

type slave;

masters { 192.100.30.1; };

file ―db.example.com‖;

};

 Reverse lookup(反向尋查)選項:

zone ―30.168.192.in-addr.arpa‖{

type slave;

masters { 192.168.30.1; };

file ―db.30.168.192‖;

};

 Root 選項:

zone ―.‖ {

type hint;

file ―named.ca‖;

};

SOA (Start of Authority)

 每個ZONE選項中都要有此設定



exmaple.com. IN SOA example.com. root.example.com (

2003053001 ; serial number

300 ; refresh

60 ; retry

1209600 ; expire

43200 ; minimum TTL for negative answers

)

NS (name server)

 每一個master 及 slave DNS 都要有一個

NS 紀錄

例:

example.com. IN NS ns.redhat.com.

ns.example.com. IN A 192.168.30.1

主要紀錄的型式

 A紀錄對映hostname到IP位址

mail.example.com. IN A 192.168.30.3

www.example.com. IN A 192.168.30.4

 CNAME定義位址的別名

mx IN CNAME mail

www2 IN CNAME www.redhat.com.

 PTR紀錄IP位址對映到hostname

3 IN PTR mail.redhat.com.

MX 紀錄

 MX 結合 domain name來處理其電子郵件

example.com. IN MX 5 mail.example.com

exmaple.com. IN MX 10 mail2.example.com

實做

 修改 /etc/named.conf

 設定讀取目錄 /var/named

 建立一個 root 的 zone 設定

 建立一個 example.com 的 zone 設定

 建立一個 192.168.30 的反查 zone 設定

實做

 建立 example.com.zone 檔

 設定 ns server 為 192.168.30.1

 設定 A 記錄

 設定 MX 記錄

 設定 CNAME 記錄



 建立 example.com.rev 檔

 設定 PTR 紀錄

DNS Server 啟動與停止

 /etc/init.d/named start 啟動



 tail –f /var/log/messages 查看 log 紀錄



 /etc/init.d/named stop 停止

 killall named or kill -9 PID

DNS Server 驗證

 nslookup www.example.com

 nslookup 192.168.30.3





 dig exmaple.com mx

 host www.exmaple.com

DNS Server Lab

 請建立一個以 exmaple.com 為網域且可供

正查與反查的DNS Server

DNS Server Lab

 檢驗項目 1

# host www.example.com

www.example.com has address 192.168.30.3





 檢驗項目 2

# nslookup 192.168.30.1

1.30.168.192.in-addr.arpa name = ns.example.com.

DHCP server 種類

 DHCP 有三種方式, 靜態/自動/動態

 靜態方式:手動指定用戶端固定IP

 管理者在DHCP Server輸入用戶端 IP 與硬體位址

 通常用在需要固定IP的各種伺服器主機

 自動方式:自動指定IP位址

 DHCP Server由預定的IP範圍, 自動分配給用戶端,

且無限期使用

 IP範圍必需多於用戶端電腦數量

 會記錄IP與MAC位址的對應資訊, 所以用戶端每次

開機後都分配到相同IP

DHCP Server 種類



動態方式:動態分配IP位址

 IP範圍少於用戶端電腦數量



用戶端電

 動態分配IP時設定租用期限,

腦於租用期限到期或關機時, 收回IP供

其他用戶端電腦使用

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

DHCP 租用流程

 第二種為, 更新租用流程(在租用期達二分之一後

開始動作)



 (1)DHCP Client 向 DHCP Server 請求延常租用位址時



DHCP Client => DHCP_REQUEST => DHCP Server



 (2)DHCP Server 收到後, 回覆 DCHP Client 認可繼續

租用

DHCP Server => DHCP_ACK => DHCP Client

DHCP 租用流程

 若在這期中 DHCP Server 沒有給 DHCP

Client 任何回應, 當 DHCP Client 達租用期

限時, 就會停止使用, 再回到以第一種方式

申請租用新的IP位址.

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

dhcp.conf

 整體設定(Global):裡面含有租約期限、還有 DNS IP 與

router 的設定

 動態 IP 設定:使用 subnet 的項目與 range 的參數來設定

要分配出去的 IP

 靜態 IP 設定:使用 host 這個項目段,配合 MAC 來設定

 『#』為註解符號;

 除了括號那一行之外,其他的每一行後面都要以『 ; 』做

為結尾

dhcp.conf Example

option domain-name ―example.com";

# 設定每部主機的後頭領域名稱為 example.com

option domain-name-servers 168.95.1.1, 192.168.30.1;

# 設定DNS IP



#動態 IP 分配的設定:

subnet 192.168.30.0 netmask 255.255.255.0 {

range 192.168.30.100 192.168.30.200;

option broadcast-address 192.168.30.255;

option routers 192.168.30.254;

}

dhcp.conf Example

# 靜態 IP 的設定:



host server1 {

hardware ethernet 00:40:95:30:43:B4;

fixed-address 192.168.30.90;

option broadcast-address 192.168.30.255;

option routers 192.168.30.254;

}



default-lease-time 259200;

# 預設的租約時間,後面接的時間為秒鐘。

max-lease-time 518400;

# 最大租約時間,最長到 518400 秒

DHCP Server 啟動 與 除錯

 /etc/init.d/dhcpd start



 tail -f /var/log/messages

DHCP Client 設定

將 Client 端的TCP/IP設定改為自動取得IP

 Windows 驗證

 Ipconfig /all

 winipcfg



 Linux 驗證

 Ifconfig -a

DHCP Server Lab

 設定動態 IP 範圍

192.168.30.100~192.168.30.200

 設定一台主機名稱為 server

 固定IP為192.168.30.90

 網卡Mac

Address為 00:40:95:30:43:B4

 廣播位址為 192.168.30.255

 路由位址為 192.168.30.254

FTP server

 vsFTPD (Very Secure FTP Daemon)

 套件:vsftpd-1.1.3-8.i386.rpm

 TCP 20傳資料

 TCP 21傳輸流程的控制

 兩種主要身份使用

 anonymous

 real user

vsFTPD 設定檔

 /etc/vsftpd.ftpusers

 限制登入的使用者



 /etc/hosts.deny

 限制登入的網域



 /etc/vsftpd/vsftpd.conf

 主要設定檔

vsFTPD 啟動與驗證

# /etc/init.d/vsftpd start

 啟動vsftpd





# lftp localhost

# ncftp localhost

FTP Server Lab

 請用 vsFTPD 架設一個 FTP Server

 設定歡迎訊息banner_file

 讓匿名的使用者可以上傳檔案

WWW Server

 套件: httpd { , -devel, -manual }

 服務名稱:httpd

 啟動的script : httpd

 執行埠:80/tcp (http), 443/tcp (https)

 設定檔:/etc/httpd/*, /var/www/*

 相關: redhat-config-httpd,mod_ssl,以

及其它

WWW Server 設定檔

 設定檔位置

/etc/httpd/conf/httpd.conf

 模組位置

/etc/httpd/conf.d/*

 網頁文件預設放置目錄

/var/www/html/

httpd.conf

 指定給使用者的目錄

UserDir public_html

 MIME 型態設定

AddType application/x-httpd-php .phtml

AddType text/html .htm

 宣告index的頁面

DirectoryIndex index.html default.html

httpd.conf

 允許連結的設定



order allow, deny

allow from .example.com





 使用 .htaccess 檔案

#sample authentication .htaccess file

AuthName ―Jack‘s home ―

AuthType basic

AuthUserFile /home/jack

require user jack

Virtual Host 虛擬主機

 在同一台電腦下, 要建立虛擬主機, 可採用

IP/Name/Port 三種方法建立

 (1)IP Base:

使用IP地址將網頁請求對映到正確的頁面目錄, 因此每

一個虛擬主機都需要一個IP位址

 (2)Name Base:

只有單一IP位址, 但要用不同的網域名稱來呈現不同的

網頁內容時, 就是以 Name Base 的方式來將網頁對映

到正確的頁面, 但該方式無法使用 SSL 功能, 且需要支

援HTTP/1.1的瀏覽器才可以使用.

 (3)Port Base:

利用不同的 port 設定, 建立起多個虛擬主機.

SSL 連線步驟

1. Client 端 和 Web Server SSL port 連線.(https)

2. Web Server端將憑證資料傳給 Client 端

3. Client 端進行憑證資料的確認, 將認可傳給 Web Server



4. Web Server端會再跟 Client 端傳送兩次資料, 一次是以自

己的私鑰產生的資料內容, 另一次是Web Server端的公鑰.

5. Client 收到 Web Server 端的加密資料與公鑰後, 將 Web

Server 的公鑰產生 Symmetric Key, 並將該 Symmetric

Key 傳給 Web Server 端.

6. 兩端將以此 Symmetric Key 建立起加密通道

WWW Server 啟動與除錯

 /etc/init.d/httpd start



 tail –f /var/log/httpd/access_log

 tail –f /var/log/httpd/error_log

WWW Server Lab

 請建立一個以Name Base的虛擬主機

 www.example.com

 www2.example.com

分別可以看到不同的網頁

Mail Server

 MTA

 sendmail,postfix,qmail,exim



 MDA

 procmail



 MUA

 Outlook Express

 Becky

Mail Server 路由

Mail Server

 套件選擇 - Sendmail

 Sendmail 的特色:

 允許各種不同的emial位址路徑

 支援虛擬的domains及users

 允許偽裝的使用者及機器

 提供自動重試失敗傳送郵件的重傳及其它一些

情況

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

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 裡

sendmail.cf

 主要設定檔

 sendmail.cf

 包含domain的別名(alias)、標頭、傳送規則等

 編輯此檔時請小心並仔細地閱讀說明

/etc/mail/sendmail.cf

# 開放中繼功能

# SMTP daemon options

O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA

127.0.0.1 改為 0.0.0.0





# 限制郵件大小

# maximum message size

O MaxMessageSize=1000000

/etc/mail/access

 RELAY

 開放中繼功能



 REJECT

 拒絕傳送



 DISCARD

 直接丟棄



 修改後記得在 /etc/mail 下執行 make

/etc/aliase

 設定帳號別名

MAILER-DAEMON: postmaster

postmaster: root

root: admin@example.com

sales: jack,john,mary



# newaliases

查詢郵件佇列與 log

# mailq



# tail –f /var/log/maillog

sendmail 啟動與測試

# /etc/init.d/sendmail start



# telnet localhost 25

mail from: root@server.example.com

rcpt to: root@example.com

data

This is a test Mail

.

quit

Mail Server Lab

 請用 sendmail 設定好一台可開放

192.168.30.1 向您的 Server 代為轉信的功

能.

Proxy Server

 什麼是代理伺服器?



會幫 Client 端的用戶去向目的地取得用

 Proxy

戶端所需要的資料



 是一個代理人的角色

Proxy Server

Proxy Server 運作方式

Proxy Server 優缺點

優點

 快速的存取動作

 降低網路的負荷

 資料分流

 提供防火牆內部的電腦連上 Internet

 多層次的管道 ( 上層代理伺服器 )

缺點

 容易為 Intranet 的內部人員濫用

 需要較高超的設定技巧與除錯程序

 可能會取得舊的錯誤資料

上層Proxy Server

 SeedNet 的代理伺服器

(http://service.seed.net.tw/dial/server.shtml)



 Hinet 的代理伺服器

(http://www.hinet.net/support/new_adsl04.

htm)

硬體要求與最佳硬體配置方式

 CPU 最好能夠 P III 550 以上等級

 RAM 最好能夠大於 512 MB

 Hard Disk 最好能用 SCSI 介面的

 網路卡與網路周邊最好使用 GBytes 的網路



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

squid.conf

http_port 3128

icp_port 3130

reference_age 1 month

cache_dir ufs /var/spool/squid 100 16 256

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

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

squid 設定解說

http_port 3128 以瀏覽器連接到本proxy server時的port

cache_mem 8 MB 設定squid可用的記憶體空間

cache_dir ufs /var/spool/squid 100 16 256

設定快取目錄和快取可以使用的硬碟空間,100表示

100MB;16表示第一層子目錄最多有16個;256表示每個第

一層子目錄下的子目錄最多可以有256子目錄

cache_access_log /var/log/squid/access.log

快取記錄檔的名稱和所在目錄,負責記錄快取的所有行為

cache_log /var/spool/squid/cache.log

快取儲存記錄檔的名稱及所在目錄

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出問題時要通知的管理者

acl的用法



acl類型

 以來源端:src,srcdomain

 以目地端:dst,dstdomain

 以正規表式法:url_regex [-i] ^http://

urlpath_regex [-i] \.gif$

設定的內容

 IP or Domain or String

acl example dstdomain .com

http_access 用法

 設定允許存取 squid Server 的列表

以 acl 的定義來做管制

http_access allow example

#設定只允許example的acl訂義存取

http_access deny all

#如果要開放的話,改成 allow all

cache_peer 用法



類別: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 3128 3130 proxy-only

cache_peer_access 用法







cache_peer_access proxy.hinet.net allow example

不要進行cache的設定值

只要網址列出 cgi 字樣都不做 cache



hierarchy_stoplist cgi-bin ?

acl QUERY urlpath_regex cgi-bin \?

no_cache deny QUERY

與時間相關的設定值



refresh_pattern ^ftp: 1440 20% 10080

refresh_pattern ^gopher: 1440 0% 1440

refresh_pattern . 0 20% 4320

與時間相關的設定值

connect_timeout 2 minutes

# 連線的timeout時間

peer_connect_timeout 30 seconds

# 連線到上層proxy的timeout時間

request_timeout 5 minutes

# 連上後,要求的 timeout 時間

persistent_request_timeout 1 minutes

# 連上後, 連續要求 timeout 時間

額外的功能參數

 與 FTP 有關的設定項目,主要是針對被動式連線

ftp_user Squid@

ftp_passive on



 主要與 DNS 的設定值有關,如果在高負載的

Proxy 環境下,可以考慮將 dns_children 提高到

20 左右,這個值最大為 32

dns_timeout 1 minutes

hosts_file /etc/hosts

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

192.168.30.0/24 --dport 80 -j REDIRECT --to-

ports 3128

啟動 squid server

 /etc/init.d/squid start



 tail –f /var/log/squid/access.log

Proxy Client端設定

 在Browser的設定選項中找出代理伺服器,

給予設定

末端資料分析 pwebstat

 http://martin.gleeson.com/pwebstats/install

ation.html

 可使用該軟體來做log分析

Proxy Server Lab

 兩個人為一組,設定一台簡易的Proxy

Server



 使用 client 做 Internet 連線,並查看 Proxy

Server 是否有代為抓取資料

討論時間

 安裝/設定/調校

 觀察紀錄檔





 有任何問題歡迎提問

 第二天課程結束

 明天將講解系統維護與管理/網路安全/線上

套件更新

系統維護與管理

 定時備份資料

 檢查系統紀錄檔

 調校系統狀態

 注意系統安全

備份資料

 確定備份資料的來源與目地

 使用 tar 搭配 gzip 或 cpio 來完成備份的工



 運用 script 來將資料做備份與紀錄

網路安全

 Cracker 常見的入侵技術:

 使用工具程式入侵你的主機

 蠕蟲或木馬程式 ( Trojan horse )

 DoS 攻擊法 ( Denial of Service )

 IP 欺騙

 Port scan

網路安全

 主機維護的幾個重要事項

 關閉幾個不安全的服務

 升級幾個可能有問題的套件

 架設好最起碼的安全防護--防火牆—

 iptables

 http://projectfiles.com/firewall 套件

網路安全

 移除不必要的服務

 使用以下工具檢查 port

 netstat

 nmap



 使用 ssh 做主機與主機的連線

 ssh

 putty

線上套件更新

 RedHat 套件更新

 up2date

 中央研究院 RedHat update Mirror

ftp://linux.sinica.edu.tw/redhat/updates

討論與分享時間



歡迎提出在Linux整合上的問題



Linux相關議題



一起討論


Other docs by HC120103225719
clasificacion
Views: 18  |  Downloads: 0
replicacao
Views: 9  |  Downloads: 0
???
Views: 1  |  Downloads: 0
cctopticos
Views: 0  |  Downloads: 0
Escuelas Tecnicas
Views: 36  |  Downloads: 0
2011
Views: 1  |  Downloads: 0
RESUMO
Views: 18  |  Downloads: 0
Dashboard
Views: 3  |  Downloads: 0
Countrywide Case
Views: 1  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!