RedHat Linux

Download Report

Transcript RedHat Linux

Linux 簡介
計算工具
國立高雄大學應用數學系
2004/05/10
前言

Don’t panic!

No C/C++/assembly language
No hard examination
But Linus wrote Linux 0.0.1 when he was a
sophomore student


2004/05/10
2
參考資料

鳥哥的私房菜館 http://linux.vbird.org/

GNU/Linux 初學之旅:李果正
http://www.study-area.net/tips/linux_entry.htm

Linux 教育訓練:國家高速電腦中心
2004/05/10
3
Unix 簡介


Multix – MIT, GE
Bell Labs, AT&T, early 1970's



Unix, C Programming Language
Ken Tompson、Dennis Ritchie
主要概念




所有程式都是檔案 - (最具創意的概念)。
不論是建構編輯器還是附屬檔案,所寫的程式只有一個目的,
且要能有效完成目標。
任何人可以由小到大,模組化建構系統。
BSD – Berkeley Software Distribution

2004/05/10
Billy Joy(vi), Kirk McKusik
4
Unix 簡介 (續)

Kernel 核心






User 使用者





e.g. Linux Kernel
can access kernel data
can execute kernel programs
switch to user mode
service an interrupt
e.g. root、userXXX
cannot access kernel data
cannot execute kernel programs
issue a system call to switch to
kernel mode
Shell 殼?
2004/05/10

e.g. sh、csh、tcsh、bash
5
Unix 簡介 (續)




Shell
User management
File system
Process control
2004/05/10
6
Unix 簡介 (續)
2004/05/10
7
Unix 簡介 (續)

UNIX variants








AT&T, Bell Labs
UC, Berkeley – Berkeley Software Distribution
SCO Unix
Sun – SunOS, Solaris
IBM – AIX
SGI – Irix
HP – HP-UX
SYSV, BSD, POSIX
2004/05/10
8
Unix 簡介 (續)

Opensource Unix-like OS





2004/05/10
Minix
Linux
BSD series, OpenBSD, FreeBSD, NetBSD
Darwin, BSD4.4 + Mach Microkernel, Apple
More...
9
Unix 簡介 (續)

可以讓「多個」使用者、「同時」
執行「多個」程式的!

超級使用者:root

群組 groups
2004/05/10
10
Unix 簡介 (續)

An unix account is for

an individual person to login


an entity to execute program or own files



2004/05/10
e.g. user001
e.g. shutdown,sys, bin, ...
Entries in /etc/passwd
name:pass:UID:GID:GECOS:homedir
11
Opensource自由軟體

傳教士:Eric S. Raymond








http://www.tuxedo.org/~esr/
Opensource一詞的發明人
The Cathedral & The Bazaar
The Art of UNIX Programming
A Brief History of Hackerdom
Freedom (自由)/Open(開放)
Source Code必須公開
任何人都可以自由傳播、下載、使用或改寫
2004/05/10
12
GNU計畫

1983 年 Richard Stallman (自由軟體業
的精神教父) http://www.stallman.org

開始於1984年,旨在發展一個 類-Unix
且為 自由軟體 的完整作業系統

軟體應該是人類的共同智能,屬於公共
財!

我要做出一系列亂棒的免費軟體,好到
讓廠家們只要不用他就會倒店的程度。

http://www.gnu.org/
2004/05/10
13
自由軟體基金會

GNU計畫的贊助單位

FSF (Free Software Foundation) 提倡免費軟體

FSF自由使用權的三個意義:



2004/05/10
可自由複製GNU的軟體
可自由修改原始碼
可自由散佈修改過的原始碼,但不得收取任何版權費
用
14
GNU Genel Public License (GPL)

大眾公有版權/通用公共版權

官方翻譯:自由文件許可證

Copyleft

http://www.linux.org.tw/CLDP/GNU/licences/fdl.zh.html

http://www.gnu.org/copyleft/gpl.html
2004/05/10
15
Linux 簡介

1991 年 8 月
芬蘭的一個學生在comp.os.minix 新聞組
貼上了以下這段話:
「你好,所有使用 minix 的人 -我正在為 386 ( 486 )
AT 做一個免費的操作系統 ( 只是為了愛好 ),不
會像 GNU 那樣很大很專業。」
2004/05/10
16
Linus 的郵件原文
From: [email protected] (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <[email protected]>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones. This has been brewing
since april, and is starting to get ready. I'd like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work.
This implies that I'll get something practical within a few months, and
I'd like to know what features most people would want. Any suggestions
are welcome, but I won't promise I'll implement them :-)
Linus ([email protected])
PS. Yes - it's free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that's all I have :-(.
2004/05/10
17
A small understatement !

“just a hobby, won’t be big and professional like gnu “
– Linus, 1991

“HP Records More Than $2.5 Billion in Linux-based
Revenue in 2003”
– http://www.hp.com/hpinfo/newsroom/press/2004/040115a.html
2004/05/10
18
History of Linux

A more complete history is available here :
http://netfiles.uiuc.edu/rhasan/linux

“Just for Fun : The Story of an Accidental
Revolutionary”, Linus Torvalds and David
Diamond.
2004/05/10
19
Linux version numbers

Each linux kernel version is characterised by
three numbers:


Major Version . Minor Version . Release Number
e.g. 2 . 6 . 2
The minor version number denotes whether the
kernel is a stable release or a development
release.


2004/05/10
Even = Stable ( e.g. 2.6.2 )
Odd = Development ( e.g. 2.5.102)
20
What is linux?








Clone of Unix
Aims to be POSIX and Unix specification
compliant.
True Multitasking
Virtual Memory
Shared Libraries
Shared copy-on-write executables
Proper memory management
TCP/IP networking ... and a few other things
2004/05/10
21
What is linux? (cont.)

Linux runs on (at least), the following
architectures :
• 32-bit x86-based
• Sun SPARC
• Motorola 68000
• PowerPC64
• Hitachi
• IBM S/390
• HP PA-RISC
• DEC VAX
• CRIS
2004/05/10
• Compaq Alpha AXP
• Sun UltraSPARC
• PowerPC
• ARM
• SuperH
• MIPS
• Intel IA-64
• AMD x86-64
22
What is linux? (cont.)





Written mainly in C
Some Assembler
240 MBytes of source code and
documentation
1,000,581 lines in .h files
4,196,191 lines in .c files
2004/05/10
23
Linux 簡介 (續)

Linux 是一套免費的32*位元多人多工 Unix-like
作業系統,同時相容於 System V 與 BSD 並且
符合POSIX標準。

It's GPLed!

Ported to other platforms: i386, IA64, DEC's
Alpha, Sun SPARC, PowerPC, VAX, SGI MIPS
etc.
2004/05/10
24
Linux 簡介 (續)

人類進化演進的過程




為求生存
為求社會地位
為娛樂,Just for fun!
全球性的團隊遊戲 (for developer)
2004/05/10
25
Linux 簡介 (續)







Totaly Free!
Opensource
Cross platform
多人多工
具網路功能
上千種 GNU 軟體
可與其他作業系統並存
2004/05/10
26
Linux 簡介 (續)




Developers worldwide
Opensource, thounds of eyeballs
Community support
Vendors support



2004/05/10
IBM
Redhat
Mandrake
27
Linux 簡介 (續)





Linux 是 kernel!
A distribution = Linux kernel + software
packages
Linux kernel + 基本的 libc utilities + X
Window system
最重要的工具集:GNU tools!
嚴格來講、叫做 GNU/Linux
2004/05/10
28
GNU與Linux

GNU
 仍自行發展 Hurd Kernel
 開發許多以GPL發行的應用程式與工具程式

Linux(Linus’s Unix)
 由網路上熱心的朋友一起發展Linux Kernel
 採用GNU發展的許多應用程式與工具程式
 應該稱作GNU/Linux
2004/05/10
29
Linux品牌








2004/05/10
RedHat Linux
SuSE Linux
Mandrake Linux
Caldera Linux
Turbolinux
Debian GNU/Linux
Gentoo Linux
Linpus Linux
30
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

2004/05/10
31
2004/05/10
32
Linux 開機流程
1.
2.
3.
4.
5.
BIOS 嘗試在開機磁碟機的第 0 磁區、第 0 磁柱載入可供
開機的磁區開機
開機載入程式 (boot loader ,如 LILO或Grub)的程式碼
找出 kernel 所在位置,接著載入並執行它以啟動開機程
序
一旦 kernel 載入完畢,一些基本設備也完成初始化
(initialization)
嘗試從某個設備載入以及掛上 (mount) root filesystem
一旦 root filesystem 被載入並掛上,會看到一行訊息像:
VFS: Mounted root (ext3 filesystem) readonly
2004/05/10
33
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 指令,
諸如:





2004/05/10
對所有磁碟執行 fsck
載入必備的核心模組 (modules)
啟動 swapping
進行網路初始化
將指定在 fstab 內的磁碟掛上
34
Linux 開機流程
7.
當 sysinit script 結束後,控制權回到 init
上,接著進入預設的runlevel

2004/05/10
預設的 runlevel 以 initdefault 這個關鍵字被指
定在 /etc/inittab 內
35
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 設定這個)
2004/05/10
36
man 男人?

線上查詢 man page
# man ls
# man 1 ls
# info ls



/etc/man.conf
whatis filename
不管,我也要 woman 啦! 簡易耍寶版



2004/05/10
用別名 alias
$alias woman=man
以後就可以用 `woman ls' 了!
37
vi

文書處理器 vi


管理員至少一定要會一種編輯器
vi 的使用:



2004/05/10
一般模式:移動、複製、刪除、貼上
編輯模式:插入與取代文件
指令列模式:搜尋、自動取代、檔案存取等
38
vi help







h,j,k,l 移動
yy 複製
dd 刪除
p 貼上
o,i,a 插入
R,r 取代
u 回復
2004/05/10





/ 搜尋
:%s/x/y/g
自動取代
:w 寫入
:q 離開
:wq!
寫入強制離開
39
Linux 檔案
# touch test
# ls –al test
2004/05/10
40
Linux 檔案種類

正規檔案( regular file )

第一個屬性為 [ - ]



目錄 (directory):


第一個屬性為 [ d ]
連結檔 (link):


純文字檔(ascii)
二進位檔(binary)
第一個屬性為 [ l ]
設備檔 (device):


2004/05/10
區塊 (block) 設備檔,第一個屬性為 [ b ];
字元 (character) 設備檔,第一個屬性為 [ c ]。
41
Linux 檔案屬性
2004/05/10
42
更改 Linux 檔案屬性指令
r=4,w=2,x=1
# chmod 770 test
chmod
2004/05/10
u
g
o
a
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others = --- = 0+0+0 = 0
+(加入)
-(除去)
=(設定)
r
w
x
檔案或目錄
43
更改 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
2004/05/10
44
更改 Linux 檔案所屬群組
語法:
chgrp 群組名稱檔案或目錄 範例:
[root@test root]# chgrp users test
[root@test root]# ls -l
drw-r--r--
2004/05/10
1 root
users
1 Jun 20 14:36 test
45
Linux 目錄結構






/bin:常用系統程式目錄
/boot:開機設定檔,也是預設擺放核心 vmlinuz
的地方
/dev:擺放所有系統裝置檔案的目錄
/etc:幾乎系統的所有設定檔案均在此,尤其
passwd, shadow
/etc/rc.d/init.d:系統開機的時候載入服務的
scripts 的擺放地點
/home:系統使用者的家目錄
2004/05/10
46
Linux 目錄結構








/lib:Linux 執行或編譯程式函式庫目錄
/mnt:軟碟與光碟接預設掛載點的地方
/proc:系統核心與執行程序的一些資訊
/root:系統管理員的家目錄
/usr/bin, /bin:一般執行檔擺放的地方
/usr/sbin, /sbin:系統管理員常用指令集
/var:擺放系統記錄檔案的地方
/lost+fount:擺放系統不正常產生錯誤時遺失的
片段
2004/05/10
47
2004/05/10
48
Linux 管理工具介紹





檔案與目錄管理
磁碟與硬體管理
程序與資源管理
RPM的管理
帳號與身份管理
2004/05/10
49
檔案與目錄管理

目錄與路徑

2004/05/10
相對路徑與絕對路徑
. 代表此層目錄
.. 代表上層目錄
~ 代表自己的家目錄
~user 代表到 user 這個人的家目錄
50
檔案與目錄管理

cd
變換目錄
cd /root

mkdir
建立一個新目錄
mkdir –p /root/abc/123
2004/05/10
rmdir
刪除一個裡面是空的空
目錄
rmdir –p abc/123
pwd
顯示目前的目錄



環境變數PATH
echo $PATH
PATH=”$PATH”:/root
51
檔案與目錄管理

2004/05/10
ls [-ailS]
參數說明:
-a
:全部的檔案都列出(連同隱藏檔)
-i
:印出 inode 的值
-l
:長的列出,連同檔案大小的資料等等
-S
:以檔案大小排序
52
檔案與目錄管理

cp [-drsu] [來源檔] [目的檔]
參數說明:
-d:在進行 copy 的時候,如果是 copy 到 link 檔案,
若不加任何參數,則預設情況中會將 link 到的原始檔
案copy 到目的地,若加 -d 時,則 link 檔案可原封不
動的將 link 這個捷徑其拷貝到目的地
-r:可以進行目錄的 copy
-s:做成連結檔,而不 copy 之意!與 ln 指令相同功
能!
-u, --update:如果來源檔比較新,或者是沒有目的
檔,那麼才會進行 copy 的動作
2004/05/10
53
檔案與目錄管理

2004/05/10
rm [-fir] [檔名]
參數說明:
-i :提供使用者確認(這是預設值)
-r :遞迴刪除
-f :強力刪除
54
檔案與目錄管理

2004/05/10
mv [-u] [來源檔] [目的檔]
參數說明:
-u :同樣的,為 update 的簡寫,當來源檔比
目的檔還新的時後才會動作
55
觀看檔案內容








cat 由第一行開始顯示檔案內容
tac 從最後一行開始顯示,可以看出 tac 是 cat
的倒著寫
more 一頁一頁的顯示檔案內容
less 與 more 類似,可以往前翻頁
head 只看頭幾行
tail 只看尾巴幾行
nl 顯示的時候,順道輸出 行號
od 以二進位的方式讀取檔案內容
2004/05/10
56
連結檔的介紹

連結檔的介紹: 什麼是 inode
Block 是記錄『檔案內容資料』的地區,而
inode 則是記錄『該檔案的屬性、及該檔案放
置在哪一個 Block 之內』的資訊

ln

hard link
不能跨 filesystem/不能 link 目錄


2004/05/10
symbolic link
ln [-s] [來源檔] [目的檔]
57
檔案與目錄權限






chown 改變檔案的擁有人
chgrp 改變檔案的所屬群組
chmod 改變檔案的可寫、可讀、可執行等
屬性
umask 改變預設的建立檔案或目錄時的屬
性
chattr 改變檔案的特殊屬性
lsattr 顯示檔案的特殊屬性
2004/05/10
58
搜尋檔案或目錄




which 查看可執行檔案的位置
# which ls
whereis 查看檔案的位置
# whereis [–b/-m] ls
locate 配合資料庫查看檔案位置
# locate ls
#updatedb
find 尋找檔案
# find / -name “ls”
2004/05/10
59
磁碟與硬體管理








查看硬碟或目錄的容量:df, du
切割與格式化硬碟:fdisk, mke2fs, e2label,
mknod
檢查硬碟壞軌與資料同步化寫入:fsck, sync
關於軟碟開機片: mkbootdisk, fdformat
各式磁區的掛載:mount, umount
設定開機時即掛載的方式:/etc/fstab
虛擬記憶體 Swap:mkswap, swapon, swapoff
磁碟效能:hdparm
2004/05/10
60
程序與資源管理

什麼是程序?


2004/05/10
任何觸發系統工作的事件,系統會給予一個
process ID 來控制該事件的執行,這個 PID
就是程序
需要注意到,程序『屬於誰?他的權限是不同
的!』而程序執行後輸出的訊息則與資料流有
關
61
程序與資源管理

如何觀察程序?



top
ps
常駐記憶體的程式(daemon, 服務)



2004/05/10
在背景下執行
是系統正常運作所必需要的(syslog,cron)
是某些服務提供所必需要的(www, mail..)
62
程序與資源管理

程序的優先執行順序?


Priority
nice value


2004/05/10
nice 新的 PID
renice 已存在的 PID
63
程序與資源管理

給予程序『訊號, signal』

kill -signal PID



2004/05/10
-1 重新讀取設定檔
-9 無條件強制驅離記憶體
-15 正常方式關閉該 PID
64
程序與資源管理

重要的程序之一:syslog




2004/05/10
系統在背景下工作的各項服務所產生的『訊息』
均統一由 syslog 這個服務 (daemon) 所管理
/etc/syslog.conf
/var/log/messages
/var/log/secure ...
65
程序與資源管理

背景與前景之工作管理



2004/05/10
& 與 ctrl + z
jobs
fg, bg, kill %number
66
程序與資源管理

工作排程

循環式工作排程:



單一工作排程:

2004/05/10
crontab
/etc/crontab
at
67
Linux 套件管理

Tarball




2004/05/10
為原始碼 (open source)
大部分的 tarball 均支援跨平台
需要額外的套件支援:make, kernel source,
gcc 等等
升級、反安裝等較為不方便
68
Linux 套件管理

RPM




2004/05/10
具有資料庫:容易安裝、升級、移除
在查驗及搜尋方面極為有效率
漏洞修補速度快速
最大的缺點:屬性相依的問題(這包含了版本、
平台等等)
69
RPM的管理

安裝


升級


rpm –ivh bash.rpm
rpm –uvh bash.rpm
驗證

2004/05/10
Rpm –V bash
70
RPM的管理

移除


查詢


rpm –e bash
rpm –qa bash
重建rpm資料庫

2004/05/10
rpm --rebuilddb
71
帳號與身份管理

帳號管理







2004/05/10
groupadd
groupdel
useradd
userdel
chsh
chfn
userconf
72
帳號與身份管理

密碼管理與設定


passwd
使用者身份切換



2004/05/10
su
sudo
visudo
73
帳號與身份管理

使用者查詢



2004/05/10
id
finger
groups
74
RedHat Linux 設定指令

setup







2004/05/10
Authentication configuration:這是關於系統性安
全的設定項目
Firewall configuration :這個是關於 ipchains 的防
火牆機制設定
Mouse configuration :設定滑鼠的型態
Network configuration :設定網路參數
System services :設定系統服務啟動
Printer configuration :設定印表機囉
Timezone configuration :設定時區
75
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]
2004/05/10
76
Shell

指令的操作




2004/05/10
每行指令均以 Enter 為『開始執行』的依據,
不過可以 \ 延續下達
指令可接續參數(Options)來達成多樣化的工
作
大小寫是完全不同的
藉由輸出訊息可瞭解問題、解決之
77
Shell

變數的功能

環境當中,一些必要指令的用途





2004/05/10
HOME 家目錄
MAIL 用 mail 時取得的 mailbox
PS1 提示字元囉!
PATH 執行檔的搜尋路徑
? 上個指令的執行結果回傳值
78
Shell

變數的功能

簡化與優化指令或 scripts



2004/05/10
例如常使用的字串取代、
常使用的路徑取代….
Shell scripts 當中的變數取代(最常見)
79
Shell

進階指令操作--資料流重導向



2004/05/10
將指令執行後,應該由螢幕輸出的的訊息導向
到裝置或檔案當中;
# ls /home >> right 2>> error
最常見在『背景』工作中!例如系統的一堆背
景工作紀錄(syslogd)
80
Shell
進階指令操作--管線命令 pipe

2004/05/10
將輸出的訊息繼續進行處理
81
Shell

進階指令操作--管線命令 pipe


2004/05/10
# last | grep root | wc -l
# cat /etc/passwd | cut -d ‘:’ -f1 > accout
82
系統關機

關機





重新起動



2004/05/10
shutdown –h now
halt
poweroff
init 0
shutdown –r now
reboot
init 6
83
2004/05/10
84
常用指令

locate
這是快速尋找指令,請試試 locate locate 看看。有錯誤訊息出現的話,請
用 updatedb 更新一下系統資料庫。比較複雜的條件式搜尋,請研究一下
find 指令。

man
這是看 manual pages 線上說明的指令。請試試 man locate 看看。按 h 來
看操作說明,有空的話就 man man。請善用 man -k(或 apropos) 來找系統
上的指令。例如要找 ftp 的相關指令 man -k ftp 就會列出一堆出來。另外,
whatis ftp 則會有 ftp 的簡短說明,whereis ftp 則會指出 ftp 這支程式及其
man page(ftp.1)的位置。

info
這是另一個線上說明的指令,請試試 info ls 看看。按 Ctrl + h 來看操作說明,
有空的話就 info info。有個 pinfo 指令,但可能系統上沒有,找看看您的光
碟上有沒有,可取代 info 指令,操作較簡便,而且有彩色。
2004/05/10
85
常用指令 (續)

ls(list)
這就是 DOS 裡的 dir 指令,意思就是 list 啦!功能比 dir
強多了!ls 的參數相當多,別忘了 man ls,找些您喜歡
的參數試試看。

cat(concatenate)
可以顯示檔案內容或結合數個檔案成為一個檔案。

more(less)
這在 DOS 裡也有,不過功能不可同日而語。壓縮檔請改
用 zmore 及 izless(*.gz, *.Z) 或 bzmore 及 bzless(*.bz2)。
more /etc/profile 或 cat /etc/profile | more 兩種方式皆可。
2004/05/10
86
常用指令 (續)

gzip, bzip2, tar
這是 Un*x 系統常用到的壓縮、打包的工
具,請務必要先熟悉,在網路上下載的檔
案有許多都是 *.tar.gz, *.tar.bz2, *.tgz 的格
式,您要解開就要利用到這些工具。
2004/05/10
87
常用指令 (續)

Wget
這是抓檔的工具,如果沒有安裝,把您的安裝光
碟 mount 上來,裝上去,http, ftp 上的檔案都可
以抓,整個網站抓下來也沒問題。一般使用:





2004/05/10
wget ftp://xxx.xxx.xxx/target.tar.gz
wget -c ftp://xxx.xxx.xxx/target.tar.gz (續傳)
wget http://xxx.xxx.xxx/target.tar.gz
wget -m -np http://xxx.xxx.xxx/target.html (將以
target.html 為中心的整個相關案抓下來,m=mirror,
np=no parent 不抓上層目錄的檔案)。
man wget 裡頭有相當多的實例供參考,也有 gwget
的 GUI 界面供使用。
88
常用指令 (續)


telnet
打 BB 嗎?telnet bbs.xxx.xxx.xxx 就可以
了!當然您要先有中文終端機,例如:
chdrv, jmcce, crxvt ... 等等。而且要有中文
輸入法,chdrv,jmcce 就有附,crxvt 的話
可配合 xcin 來輸入中文。如果碰到亂碼,
可使用 telnet -8 參數試看看。
2004/05/10
89
編輯器




請先熟悉任一種編輯器
在 Un*x 裡頭,有許多檔案的設定,都得自行手
動去編輯設定檔,而 Un*x 裡頭的編輯器,實在
是多的不像話 :-)。請選個自己認為順手而其他
Un*x 系統也有的編輯器來使用。vi, emacs 這兩
個幾乎是 Un*x 系統的基本配備,當然使用上非
常有個性就是了!另外還有 joe, pico ... 等較簡
單的。
vi(m) 中文使用說明:
http://www.study-area.net/tips/vim/index.html
2004/05/10
90
編輯器 (續)








或
http://www.linuxfab.cx/indexColumnData.php?CID=53&FIRSTHIT=
1
http://www.linuxfab.cx/indexColumnData.php?CID=55&FIRSTHIT=
1
http://www.linuxfab.cx/indexColumnData.php?CID=58&FIRSTHIT=
1
emacs 中文使用說明:
ftp://beta.wsl.sinica.edu.tw/aspac/doc/94/94016.ps.gz
這個站還有一些中文文件,是中研院的 ASPAC 計劃,請先抓一下:
ftp://beta.wsl.sinica.edu.tw/aspac/doc/announce.doc
2004/05/10
91
編輯器 (續)

看一看再決定要不要抓其它檔案。

joe 中文使用說明:
http://www.linuxfab.cx/indexColumnData.
php?CID=61&FIRSTHIT=1

2004/05/10
92
編輯器 (續)

pico 這個不必中文說明了吧!:-) 這是郵件
新聞軟體 pine 所附的編輯器,您系統上不
一定會有。
2004/05/10
93
bash







bash
這是 GNU/Linux 常用到的 shell,簡單的說,您一進入 GNU/Linux,
這個 shell 就負責您和作業系統的溝通的工作,就像 DOS 裡頭的
command.com 一樣。光這一個 shell 要詳細的話,就可以出一本書,
您一有空的話,不妨 man bash 或 info bash,熟悉一下,一些有關
shell 的變數設定,裡頭都會有詳細的交待。
bash 的相關問題可以先參考 FAQ:
ftp://ftp.cwru.edu/pub/bash/FAQ
深入一點的文件:
http://www.tldp.org/LDP/abs/html/
學 bash,這個 abs(Advanced Bash-Scripting) guide 文件很值得研
究,有相當多的實例供參考,在作者的網頁有 tarball 可以下載。
2004/05/10
94




GNU/Linux 系統的控制室
要瞭解整個 GNU/Linux 系統運作的機制,最好的方法就
是熟悉 /etc 7 這個目錄下的各種檔案在做些什麼事情。
在這個目錄下的檔案是一些進入系統就要執行的 script
及整個系統的初始設定檔。這些檔案相當多,而且需要
shell script(man bash) 的基礎知識,剛開始看可能會搞
得滿面豆花,沒關係,不要急,慢慢來會比較快!:-)
如果使用的是 GUI 介面,那可以叫出 gnome-helpbrowser 或 khelpcenter (舊版為 kdehelp),可直接叫出
然後由選單來選,或加參數,來看一些系統上就有的說
明文件,例如叫出 bash 的 man/info:
gnome-help-browser man:bash
2004/05/10
95





gnome-help-browser info:bash
khelpcenter man:bash
khelpcenter info:bash
由於 GNOME/KDE 環境並沒有 man/info pages 的說明
文件,因此要使用這兩個工具來叫用他們的說明文件,
而這兩個工具也是可以解讀 man/info pages 格式,使用
上相當方便。
man, info, more, less 都會有搜尋功能,按個 / 然後輸入
要找的字串,再按 Enter 即可,按 n(next) 會繼續找,大
寫的 N 則是往回(上)找,按 q(quit) 離開。
2004/05/10
96
2004/05/10
97
GNU/Linux 上有沒有 ``窗'' 呢?

當然有啦!而且還是 ``多窗'' 的環境,那就
是 X Window System(可簡稱為 X 或 X11),
雖然移植到 PC 的是稱為 XFree86 但通常
稱為 X 應該也是可以。這是 Unix-like 系統
的『標準』GUI,任何一種的 Un*x 系統應
該都會有 X Window System。
2004/05/10
98
GNU/Linux 上有沒有 ``窗'' 呢?


為什麼說是 ``多窗'' 呢?因為 X 只是規定了一些基本規格,
彈性相當大,細節部份就由程式設計師去自由發揮,因
此就有許許多多的 WM(Window Manager) 出現,您有相
當多的選擇,不僅如此,目前大部份的 WM 皆支援
theme,所呈現出來的不同風貌會讓您嘆為觀止。
在這個地方就比 Windows 系統多了許多變化,不僅僅是
look & feel 的不同,連操作的方式也不同喔!較常用的
有 KDE 環境,GNOME 環境,afterstep、
WindowMaker、icewm、fvwm ... 等等。KDE, GNOME
不純是 WM,他是 GUI 的整合環境。
2004/05/10
99
GNU/Linux 上有沒有 ``窗'' 呢?


X 是透過 X protocol 採主從(client-server)方式的設計,相當適合網
路上的使用。尤其是一些很貴的商業軟體或是一些體積相當龐大的
軟體,只要一檯高檔的機器安裝即可,其它人可以透過網路去使用,
並把結果傳回您眼前的電腦螢幕。而且,這是 portable 的設計,和
您使用的作業平檯無關,也就是說您可以由其它作業系統連上這檯
機器來執行機器上的 X 應用程式。當然,本地端的作業系統要安裝
自己的 X server。遠端的機器就是 client (指上頭的應用軟體)。而且,
基本前提是網路要暢通。Linux/FreeBSD、Windows、OS/2、MSDOS 系統都有 X server 可以安裝。
另外,提醒您,GNU/Linux 是一套獨立的作業系統,而 XFree86 只
是其上的一套應用軟體,希望別誤會了!有許多朋友,因為這樣的
誤解,以致於和 Windows 系統做不適當的比較,這是不公平的。
2004/05/10
100
GNU/Linux 上有沒有 ``窗'' 呢?
各種 WM 網站,可先去觀光一下:
 http://www.kde.org/ (KDE 整合環境)
http://gnome.org/ (GNOME 整合環境)
http://www.fvwm.org/ (老字號的 WM,特點是:快、省
記憶體)
http://blackbox.wiw.org/ (後起之秀,短小精悍,不失漂
亮)
http://www.windowmaker.org/ (wmaker 有 NeXT 的影子)
http://www.enlightenment.org/pages/main.html (最華麗
的 WM)
http://www.icewm.org/ (實用的 WM,麻雀雖小,五臟俱
全)
http://www.afterstep.org/ (另一個 NeXT 代表)
http://linux.nctu.edu.tw/web/moto/screenshots/screensh
ots_index.html 8
2004/05/10
101

我能在 GNU/Linux 上做什麼事情?


這就說不完了,anything you want! 除了日常的
文書處理作業,上上網,收發 email、打 BB 外,
GNU/Linux 還是程式設計者的天堂,除了一些特
殊的 C# 語言外,大概您找得到的程式語言的編
譯、組譯、解譯器,在 GNU/Linux 上都找得到,
而且 99.9% 都是 free 9 的。
當然 GNU/Linux 的母語是 C,如果您懂 C 的話,
使用 GNU/Linux 會愉快得多,因為 GNU/Linux
裡頭的程式,99.9% 其程式碼都是公開的!不懂
C 但懂一點 shell script 的話,也是可以玩得不亦
樂乎!總之,視您的用途而定。
2004/05/10
102



GNU/Linux 安裝好,大概一般常用的伺服器(server)都已安裝上去,
剩下的是一些微調設定的工作,如 ftp, email, WWW... 等等。基本上,
GNU/Linux 目前還是傾向定位於網路作業系統,雖然桌上環境正漸
漸成熟,但 GNU/Linux 的重點,還是在網路,可以預見的是,漸漸
走向 server + desktop 的趨勢,雖然還有一段路要走...
像目前非常流行的 WWW server,在 GNU/Linux 裡頭有 Apache10
+ PHP11 + *SQL12 的結合,成本低,相當有威力,這裡有現成的
例子:
http://www.linuxfab.cx/ (商用)
http://www.softwareliberty.org/ (非商用) 更高級的運用,如 google
搜尋引擎,以數千檯的 GNU/Linux 機器組成,這已超出我能力範圍
了,有待各位去發掘。總之,東西是死的,人是活的...
2004/05/10
103
Mouse vs. Keyboard

怪怪,怎麼談到這個問題呢?由於 Un*x 系統基
本上是一群工具的結合,這些工具組合起來威力
驚人,但同時也會嚇壞不少初學者(因為永遠搞
不清楚有多少指令可用,也永遠搞不清楚要用到
的指令有多少參數)。舉個例子:下面會提到的
ls 指令,主要是來觀察目錄內的檔案的,但同時
也有相對的圖形化(GUI)的檔案管理程式(file
manager),就像您在 Windows 中用的「檔案總
管」(explorer)一樣。那到底要用哪一種工具呢?
2004/05/10
104
Mouse vs. Keyboard (cont.)

GUI 的 file manager 表面上看是比較方便,但效
率卻不怎麼樣,甚至會佔不少記憶體,另外有一
個很重大的缺點是,沒辨法很方便的放進您所寫
的 script 6 中。其次,沒人敢擔保自己的系統不
出毛病,出了毛病恐怕就只能用軟碟來開機,這
時,可沒有 GUI 工具給您用囉!另外,這些指
令的參數相當多,可以做很精細的微調工作,達
到您所想要的效果,這是 GUI 的東東不容易完
整做到的,縱使做到了,大概選單會比指令的參
數更複雜。
2004/05/10
105
Mouse vs. Keyboard (cont.)

其實 GUI 的檔案管理程式只是整合了一些
常用的系統上工具方便使用者使用而已。
這裡可不是在貶低 GUI 的工具,而是說明
看場合來選擇適合的工具將會增加您的工
作效率。當然,有時候您是別無選擇啦!:)
2004/05/10
106
Mouse vs. Keyboard (cont.)

Un*x 是多人多工的作業系統,縱使是家裡個人
使用,還是一個多人多工的環境,因此基本上,
您本人就是一位系統管理者,這和您以前使用的
windows, OS/2 系統是不一樣的,因此一些系統
管理者需要做的事情,您多少都得懂一點才能善
用 GNU/Linux 系統。尤其目前的 Linux +
XFree86 尚無法做到全面 GUI 的情形下,您蹲
些馬步是必要的,縱使以後全面 GUI 了,還是
建議您多蹲些馬步,一定會用得著的。
2004/05/10
107
Mouse vs. Keyboard (cont.)

這裡所指的馬步,就是下面會談到的命令列
(command line)指令。因此,老手一般喜歡使用
command line 的東東,如果您顧及效率,想對
系統結構多些瞭解,而且以後也想寫個簡單的
script 程式玩玩的話,請多多留意 /sbin,
/usr/sbin, /bin, /usr/bin 裡頭有些什麼工具可用
(可能會讓您玩好久喔!)。命令列的指令,在
X 下也很常用到,可以開個模擬終端機。例如
rxvt/xterm 來使用。
2004/05/10
108
網路工具

一些網路偵錯指令


遠端連線使用指令


ping, ifconfig, ifup, ifdown, netstat, route,
traceroute, host, dig, nslookup
telnet, ssh, ftp, ncftp, lftp, wget
文字界面網頁瀏覽

2004/05/10
lynx, links
109
RedHat Linux 網路設定

修改主機名稱與Gateway等設定


修改網路卡設定


/etc/sysconfig/network
/etc/sysconfig/network-script/ifcfg-eth0
修改DNS與Hosts設定


2004/05/10
/etc/resolv.conf
/etc/hosts
110
DNS Server

何謂DNS?


Domain Name Server
如何作業

正查


反查

2004/05/10
給domain name, 回應ip
給ip, 回應domain name
111
DNS Server查詢方式
2004/05/10
112
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/*
2004/05/10
113
設定 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; };
};

2004/05/10
114

Master選項:


zone “example.com” {
type
master;
file
“db.example.com”;
};
Slave選項:

2004/05/10
zone “example.com” {
type
slave;
masters
{ 192.100.30.1; };
file
“db.example.com”;
};
115


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”;
};
2004/05/10
116
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
)
2004/05/10
117
NS (name server)
每一個master 及 slave DNS 都要有一個
NS 紀錄
例:
example.com.
IN NS ns.redhat.com.
ns.example.com. IN A 192.168.30.1

2004/05/10
118
主要紀錄的型式

A紀錄對映hostname到IP位址
mail.example.com. IN A 192.168.30.3
www.example.com. IN A 192.168.30.4

CNAME定義位址的別名
mx
www2

IN CNAME mail
IN CNAME www.redhat.com.
PTR紀錄IP位址對映到hostname
3
IN PTR mail.redhat.com.
2004/05/10
119
MX 紀錄

MX 結合 domain name來處理其電子郵件
example.com. IN MX 5 mail.example.com
exmaple.com. IN MX 10 mail2.example.com
2004/05/10
120
實做

修改 /etc/named.conf




2004/05/10
設定讀取目錄 /var/named
建立一個 root 的 zone 設定
建立一個 example.com 的 zone 設定
建立一個 192.168.30 的反查 zone 設定
121
實做

建立 example.com.zone 檔





設定 ns server 為 192.168.30.1
設定 A 記錄
設定 MX 記錄
設定 CNAME 記錄
建立 example.com.rev 檔

2004/05/10
設定 PTR 紀錄
122
DNS Server 啟動與停止

/etc/init.d/named start 啟動

tail –f /var/log/messages 查看 log 紀錄

/etc/init.d/named stop 停止
killall named or kill -9 PID

2004/05/10
123
DNS Server 驗證




nslookup www.example.com
nslookup 192.168.30.3
dig exmaple.com mx
host www.exmaple.com
2004/05/10
124
DNS Server Lab

請建立一個以 exmaple.com 為網域且可供
正查與反查的DNS Server
2004/05/10
125
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
2004/05/10
name = ns.example.com.
126
DHCP server 種類

DHCP 有三種方式, 靜態/自動/動態

靜態方式:手動指定用戶端固定IP



自動方式:自動指定IP位址



2004/05/10
管理者在DHCP Server輸入用戶端 IP 與硬體位址
通常用在需要固定IP的各種伺服器主機
DHCP Server由預定的IP範圍, 自動分配給用戶端,
且無限期使用
IP範圍必需多於用戶端電腦數量
會記錄IP與MAC位址的對應資訊, 所以用戶端每次
開機後都分配到相同IP
127
DHCP Server 種類

動態方式:動態分配IP位址


2004/05/10
IP範圍少於用戶端電腦數量
動態分配IP時設定租用期限, 用戶端
電腦於租用期限到期或關機時, 收回
IP供其他用戶端電腦使用
128
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
2004/05/10
129
DHCP 租用流程

第二種為, 更新租用流程(在租用期達二分之一後
開始動作)

(1)DHCP Client 向 DHCP Server 請求延常租用位址
時間
DHCP Client => DHCP_REQUEST => DHCP Server

(2)DHCP Server 收到後, 回覆 DCHP Client 認可繼續
租用
DHCP Server => DHCP_ACK => DHCP Client
2004/05/10
130
DHCP 租用流程

若在這期中 DHCP Server 沒有給 DHCP
Client 任何回應, 當 DHCP Client 達租用期
限時, 就會停止使用, 再回到以第一種方式
申請租用新的IP位址.
2004/05/10
131
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
相關檔案:
2004/05/10
/etc/sysconfig/dhcpd
/var/lib/dhcp/dhcpd.leases
132
dhcp.conf





整體設定(Global):裡面含有租約期限、還有 DNS IP 與
router 的設定
動態 IP 設定:使用 subnet 的項目與 range 的參數來設
定要分配出去的 IP
靜態 IP 設定:使用 host 這個項目段,配合 MAC 來設定
『#』為註解符號;
除了括號那一行之外,其他的每一行後面都要以『 ; 』做
為結尾
2004/05/10
133
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;
}
2004/05/10
134
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 秒
2004/05/10
135
DHCP Server 啟動 與 除錯

/etc/init.d/dhcpd start

tail -f /var/log/messages
2004/05/10
136
DHCP Client 設定
將 Client 端的TCP/IP設定改為自動取得IP
 Windows 驗證



Ipconfig /all
winipcfg
Linux 驗證

2004/05/10
Ifconfig -a
137
DHCP Server Lab


設定動態 IP 範圍
192.168.30.100~192.168.30.200
設定一台主機名稱為 server




2004/05/10
固定IP為192.168.30.90
網卡Mac Address為 00:40:95:30:43:B4
廣播位址為 192.168.30.255
路由位址為 192.168.30.254
138
FTP server





vsFTPD (Very Secure FTP Daemon)
套件:vsftpd-1.1.3-8.i386.rpm
TCP 20傳資料
TCP 21傳輸流程的控制
兩種主要身份使用


2004/05/10
anonymous
real user
139
vsFTPD 設定檔

/etc/vsftpd.ftpusers


/etc/hosts.deny


限制登入的使用者
限制登入的網域
/etc/vsftpd/vsftpd.conf

2004/05/10
主要設定檔
140
vsFTPD 啟動與驗證
# /etc/init.d/vsftpd start
 啟動vsftpd
# lftp localhost
# ncftp localhost
2004/05/10
141
FTP Server Lab

請用 vsFTPD 架設一個 FTP Server


2004/05/10
設定歡迎訊息 banner_file
讓匿名的使用者可以上傳檔案
142
WWW Server






套件: httpd { , -devel, -manual }
服務名稱:httpd
啟動的script : httpd
執行埠:80/tcp (http), 443/tcp (https)
設定檔:/etc/httpd/*, /var/www/*
相關: redhat-config-httpd,mod_ssl,以
及其它
2004/05/10
143
WWW Server 設定檔

設定檔位置
/etc/httpd/conf/httpd.conf

模組位置
/etc/httpd/conf.d/*

網頁文件預設放置目錄
/var/www/html/
2004/05/10
144
httpd.conf

指定給使用者的目錄
UserDir

public_html
MIME 型態設定
AddType application/x-httpd-php
AddType text/html
.htm

.phtml
宣告index的頁面
DirectoryIndex
2004/05/10
index.html default.html
145
httpd.conf

允許連結的設定
<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
2004/05/10
146
Virtual Host 虛擬主機

在同一台電腦下, 要建立虛擬主機, 可採用
IP/Name/Port 三種方法建立



2004/05/10
(1)IP Base:
使用IP地址將網頁請求對映到正確的頁面目錄, 因此
每一個虛擬主機都需要一個IP位址
(2)Name Base:
只有單一IP位址, 但要用不同的網域名稱來呈現不同
的網頁內容時, 就是以 Name Base 的方式來將網頁對
映到正確的頁面, 但該方式無法使用 SSL 功能, 且需
要支援HTTP/1.1的瀏覽器才可以使用.
(3)Port Base:
利用不同的 port 設定, 建立起多個虛擬主機.
147
SSL 連線步驟
1.
2.
3.
4.
5.
6.
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 建立起加密通道
2004/05/10
148
WWW Server 啟動與除錯

/etc/init.d/httpd start

tail –f /var/log/httpd/access_log
tail –f /var/log/httpd/error_log

2004/05/10
149
WWW Server Lab

請建立一個以Name Base的虛擬主機
www.example.com
 www2.example.com
分別可以看到不同的網頁

2004/05/10
150
Mail Server

MTA


MDA


sendmail,postfix,qmail,exim
procmail
MUA


2004/05/10
Outlook Express
Becky
151
Mail Server 路由
2004/05/10
152
Mail Server


套件選擇 - Sendmail
Sendmail 的特色:




2004/05/10
允許各種不同的emial位址路徑
支援虛擬的domains及users
允許偽裝的使用者及機器
提供自動重試失敗傳送郵件的重傳及其它一些
情況
153
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
2004/05/10
154
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 裡
2004/05/10
155
sendmail.cf


主要設定檔
sendmail.cf


2004/05/10
包含domain的別名(alias)、標頭、傳送規則等
編輯此檔時請小心並仔細地閱讀說明
156
/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
2004/05/10
157
/etc/mail/access

RELAY


REJECT


拒絕傳送
DISCARD


開放中繼功能
直接丟棄
修改後記得在 /etc/mail 下執行 make
2004/05/10
158
/etc/aliase

設定帳號別名
MAILER-DAEMON: postmaster
postmaster:
root
root:
[email protected]
sales:
jack,john,mary
# newaliases
2004/05/10
159
查詢郵件佇列與 log
# mailq
# tail –f /var/log/maillog
2004/05/10
160
sendmail 啟動與測試
# /etc/init.d/sendmail start
# telnet localhost 25
mail from: [email protected]
rcpt to: [email protected]
data
This is a test Mail
.
quit
2004/05/10
161
Mail Server Lab

請用 sendmail 設定好一台可開放
192.168.30.1 向您的 Server 代為轉信的功
能.
2004/05/10
162
Proxy Server

什麼是代理伺服器?

Proxy 會幫 Client 端的用戶去向目的地取得用
戶端所需要的資料

是一個代理人的角色
2004/05/10
163
Proxy Server
2004/05/10
164
Proxy Server 運作方式
2004/05/10
165
Proxy Server 優缺點
優點
 快速的存取動作
 降低網路的負荷
 資料分流
 提供防火牆內部的電腦連上 Internet
 多層次的管道 ( 上層代理伺服器 )
缺點
 容易為 Intranet 的內部人員濫用
 需要較高超的設定技巧與除錯程序
 可能會取得舊的錯誤資料
2004/05/10
166
上層Proxy Server

SeedNet 的代理伺服器
(http://service.seed.net.tw/dial/server.sht
ml)

Hinet 的代理伺服器
(http://www.hinet.net/support/new_adsl04.
htm)
2004/05/10
167
硬體要求與最佳硬體配置方式




CPU 最好能夠 P III 550 以上等級
RAM 最好能夠大於 512 MB
Hard Disk 最好能用 SCSI 介面的
網路卡與網路周邊最好使用 GBytes 的網
路卡
2004/05/10
168
Proxy Server套件-squid




安裝Proxy套件 – squid-2.5.STABLE12.i386.rpm
目錄位置:/etc/squid
設定檔:/etc/squid/squid.conf
紀錄檔:/var/log/squid/access.log
/var/log/squid/cache.log
/var/log/squid/store.log
2004/05/10
169
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
2004/05/10
170
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
2004/05/10
171
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
快取儲存記錄檔的名稱及所在目錄
2004/05/10
172
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出問題時要通知的管理者
2004/05/10
173
acl的用法
<acl> <acl名稱> <acl類型> <設定的內容>
acl類型
 以來源端:src,srcdomain
 以目地端:dst,dstdomain
 以正規表式法:url_regex [-i] ^http://
urlpath_regex [-i] \.gif$
設定的內容
 IP or Domain or String
acl example dstdomain .com
2004/05/10
174
http_access 用法
設定允許存取 squid Server 的列表
以 acl 的定義來做管制
http_access allow example
#設定只允許example的acl訂義存取
http_access deny all
#如果要開放的話,改成 allow all

2004/05/10
175
cache_peer 用法
<cache_peer> <主機名稱> <類別> <http_port> <icp_port> <其他參數>
類別:parent(上層),sibling(同一層)
http_port/icp_port:3128/3130
其他參數:
proxy-only,weight=n,no-query,default,no-netdbexchange,no-digest
到處向其它proxy server請求會消耗太多網路資源,所以
請勿設太多parent和sibling server.
cache_peer proxy.hinet.net parent 3128 3130 proxy-only
2004/05/10
176
cache_peer_access 用法
<cache_peer_access> <上層 Proxy> <allow|deny> <acl名稱>
cache_peer_access proxy.hinet.net allow example
2004/05/10
177
不要進行cache的設定值
只要網址列出 cgi 字樣都不做 cache
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
2004/05/10
178
與時間相關的設定值
<refresh_pattern>
<regex>
<最小時間> <百分比> <最大時間>
refresh_pattern ^ftp:
refresh_pattern ^gopher:
refresh_pattern .
2004/05/10
1440
1440
0
20%
0%
20%
10080
1440
4320
179
與時間相關的設定值
connect_timeout 2 minutes
# 連線的timeout時間
peer_connect_timeout 30 seconds
# 連線到上層proxy的timeout時間
request_timeout 5 minutes
# 連上後,要求的 timeout 時間
persistent_request_timeout 1 minutes
# 連上後, 連續要求 timeout 時間
2004/05/10
180
額外的功能參數

與 FTP 有關的設定項目,主要是針對被動式連
線
ftp_user Squid@
ftp_passive on

主要與 DNS 的設定值有關,如果在高負載的
Proxy 環境下,可以考慮將 dns_children 提高到
20 左右,這個值最大為 32
dns_timeout 1 minutes
hosts_file /etc/hosts
2004/05/10
181
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 --toports 3128
2004/05/10
182
啟動 squid server

/etc/init.d/squid start

tail –f /var/log/squid/access.log
2004/05/10
183
Proxy Client端設定

在Browser的設定選項中找出代理伺服器,
給予設定
2004/05/10
184
末端資料分析 pwebstat


http://martin.gleeson.com/pwebstats/instal
lation.html
可使用該軟體來做log分析
2004/05/10
185
2004/05/10
186
Proxy Server Lab

兩個人為一組,設定一台簡易的Proxy
Server

使用 client 做 Internet 連線,並查看
Proxy Server 是否有代為抓取資料
2004/05/10
187
討論時間





安裝/設定/調校
觀察紀錄檔
有任何問題歡迎提問
第二天課程結束
明天將講解系統維護與管理/網路安全/線上
套件更新
2004/05/10
188
系統維護與管理




定時備份資料
檢查系統紀錄檔
調校系統狀態
注意系統安全
2004/05/10
189
備份資料



確定備份資料的來源與目地
使用 tar 搭配 gzip 或 cpio 來完成備份的工
作
運用 script 來將資料做備份與紀錄
2004/05/10
190
網路安全

Cracker 常見的入侵技術:





2004/05/10
使用工具程式入侵你的主機
蠕蟲或木馬程式 ( Trojan horse )
DoS 攻擊法 ( Denial of Service )
IP 欺騙
Port scan
191
網路安全

主機維護的幾個重要事項



關閉幾個不安全的服務
升級幾個可能有問題的套件
架設好最起碼的安全防護--防火牆—


2004/05/10
iptables
http://projectfiles.com/firewall 套件
192
網路安全


移除不必要的服務
使用以下工具檢查 port



netstat
nmap
使用 ssh 做主機與主機的連線


2004/05/10
ssh
putty
193
線上套件更新

RedHat 套件更新


up2date
中央研究院 RedHat update Mirror
ftp://linux.sinica.edu.tw/redhat/updates
2004/05/10
194