綠(lǜ)色資源網:您身邊(biān)最放心的(de)安全下載站! 最(zuì)新軟件|熱(rè)門排行|軟件分類|軟件(jiàn)專題|廠商大全(quán)

綠色資源網

技術教程(chéng)
您的位置:首頁服務器(qì)類(lèi)Ftp服務器(qì) → 用LINUX架(jià)設FTP服(fú)務器

用LINUX架設FTP服務(wù)器

我(wǒ)要評論 2009/04/09 21:27:34 來源:綠色(sè)資源網 編輯:level [ ] 評論(lùn):0 點擊:607次

以前(qián)自(zì)己弄的東西,現在帖(tiē)出(chū)來,希望對大家有點用:)

1.1 什麽是FTP:文(wén)件傳(chuán)輸協議原理

1.1.1 命令選擇

1.1.2 命令格式

1.2 wu-Ftpd的安裝(zhuāng)

1.3 讓FTP服務器運轉(zhuǎn)起來

1.4 配置文(wén)件的設置

1.4.1 /etc/ftpaccess的(de)設(shè)置

1.4.2 /etc/ftpusers和/etc/ftphosts的(de)設(shè)置(zhì)

1.4.3 /etc/ftpconversions設置

1.4.1 wu-ftp的相關程序

1.5 開設隻(zhī)能FTP的帳戶

1.6 設置虛擬FTP主機(jī)

什麽是FTP:文件傳輸協(xié)議原理

互聯網(wǎng)文(wén)件傳輸協議(File Transfer Protocol ,FTP) 標準(zhǔn)是在RFC959說明的。該協議定義了一個從遠程計(jì)算機係(xì)統和本(běn)地(dì)計(jì)算機係統之間傳輸(shū)文件的一個(gè)標準。一般來說,傳(chuán)輸文件的用(yòng)戶需要先經過認證以後(hòu)才能登錄網站,然後方能訪問在遠程服務器的文件。而(ér)大(dà)多數的FTP服務器往往提供(gòng)一(yī)個GUEST的公共帳戶(hù)來允許沒有遠程服(fú)務器的用戶可以訪問(wèn)該FTP服務器。

一個FTP會話通常包括五個軟件元素的(de)交互。

用戶接口 提供了(le)一個(gè)用戶接(jiē)口並使用(yòng)客戶(hù)端協議解釋器的服(fú)務

客戶 PI 客戶協議解釋器,其項遠程服務器(qì)協(xié)議機發送命令並(bìng)且驅(qū)動(dòng)客戶數據傳輸過程

服務器PI 服務器協(xié)議解(jiě)釋器,響應客戶協議機發(fā)出(chū)的命令(lìng)並驅動服務器端數據傳輸過(guò)程

客戶 DTP 客戶數據傳輸(shū)過程,其負責完成和服(fú)務(wù)器數據傳輸過程及客戶端本地文件(jiàn)係統(tǒng)的通信(xìn)

服務DTP 服務器數(shù)據傳輸過程,其(qí)負責完成和客戶數據(jù)傳輸過程及服務器端文件係統的通信

在RFC 959中,一般(bān)使用用戶這個(gè)名詞來指代客戶(hù)。RFC 959定義了客(kè)戶PI和服務器(qì)PI交互(hù)的方式和規範。用戶接口與PI和DTP交互的機理都並不是(shì)協(xié)議(yì)標準的一部分。PI和DTP往往通常(cháng)是在(zài)同(tóng)一(yī)個程序(xù)模塊中實現的。

在FTP會話中(zhōng),一(yī)共會(huì)存在有兩(liǎng)個獨(dú)立的網(wǎng)絡連接,一個是由兩端的PI使用的,另一個是由兩端的(de)DTP使用的(de)。PI之間的連接一般被稱作(zuò)控製連(lián)接(jiē)(control connection),DTP之間的(de)連接(jiē)被稱做(zuò)數(shù)據連接(data connection)

使用TCP服務的控(kòng)製(zhì)和數據連接

通常情(qíng)況(kuàng)下,FTO服務器監(jiān)聽端口號21來等待(dài)控製(zhì)連接(jiē)建(jiàn)立(lì)請求。而數據連接端口號的選擇依賴於控製(zhì)連接上命令。通(tōng)常是客戶發送(sòng)一個控製消息(xī)來指定(dìng)客戶監聽並等待服務器端(duān)發送數(shù)據連接(jiē)建立請求(qiú)的端口號。

對(duì)數據傳輸和控製命令傳輸來使用不(bú)同的獨立連接有如下優點:兩個連接(jiē)可以選擇不同的合適(shì)服務質量,如:對控製連接來(lái)說高需要更小的延遲時間,對數據連接來說需要更大的數(shù)據吞吐量;而且可以(yǐ)避免實現數(shù)據流中的命令的通明性及逃逸(yì)。

當傳輸建立時,總是(shì)由客戶端首先發(fā)起。然而客(kè)戶和服務器(qì)都(dōu)可能是(shì)數據(jù)發送者。除了傳輸用戶請求下(xià)載文件,數(shù)據傳輸過程同樣(yàng)在(zài)客戶端請求列服(fú)務器(qì)端目錄(lù)結(jié)構時(shí)建(jiàn)立。

1.1.1 命令選擇

當一個傳輸建立時,一般(bān)通(tōng)常(cháng)需要指定四個方(fāng)麵(miàn)的屬性(xìng):

文(wén)件類型

該屬性指定如(rú)何將文件的數據匹(pǐ)配成適於傳輸的格式,一共有四種可能的選擇(zé):

ASCII文(wén)件類型

在發送端(duān),文件從本(běn)地文本文件格式轉換為 NVT ASCII格(gé)式,每行結束有(yǒu)一個CR/LF對來標識。 在接收端(duān),再被轉換為本地的(de)文本格式。

這說(shuō)明(míng)了為什麽Unix主機(jī)之(zhī)間傳(chuán)輸文本文件為何傳輸的(de)數(shù)據量要大於文(wén)件(jiàn)的(de)實際(jì)大小。若(ruò)傳輸一段端或傳(chuán)輸兩端都(dōu)不使用(yòng)ASCII文本(běn)編碼,則是應該(gāi)由數據傳輸過程(chéng)來實現本地編(biān)碼和NVT ASCII 編碼之間(jiān)的轉換。

EBCDIC文(wén)件(jiàn)類型

類似(sì)於ASCII,區別僅僅上使用(yòng)EBCDIC字符編碼

圖象 (或二(èr)進製)文件類型(xíng)

文件(jiàn)以本地傳輸內容傳輸,在(zài)遠端以(yǐ)同本地完全相同(tóng)的內容(róng)存儲。

本地文件(jiàn)係統

用在字節大小不是8位的環境下。沒字節位數由發送者指定。

在(zài)實際應(yīng)用中,隻有ASCII和圖象格式(shì)使用的較多(duō)。

格(gé)式控製

該屬(shǔ)性是和將(jiāng)文本文件最後傳送到(dào)打印設備相關的,其中(zhōng)有多種方(fāng)式來實現將垂直格式信息(xī)編碼到文件中(zhōng),包括指示一個(gè)新頁(yè)開始(shǐ)的方(fāng)式。有(yǒu)如下方式可供選擇:

無須打印(yìn)格式控製(zhì),這是缺(quē)省(shěng)值

Telnet打印控製,在(zài)telnet協議中定義的(de)控製字符包含在數據流中(zhōng)。.

Fortran打印(yìn)控製,

該屬性在實際中很(hěn)少使用。

結構

文件可(kě)以擁有內部結構,在傳輸中該結構被保留(liú)。由數(shù)據傳輸過程來負責在傳輸中的結構及本(běn)地結構之間相互匹配,有三種可能性:

文件結構

這實(shí)際上意味著文件被看作(zuò)沒有內部結構(gòu)的連(lián)續的字節流。

記(jì)錄結構

文件是有一係列記錄組成的結構。這隻適用於文本文件。

頁麵結構

也可以稱做塊結(jié)構。每(měi)一頁都伴隨一個(gè)頁號來傳輸(shū),從而以順(shùn)序的方式來完成傳輸。

頁麵(miàn)結構很少在實際中遇到。記錄(lù)結構也不是很(hěn)常見。對(duì)於文本文件使(shǐ)用ASCII文件(jiàn)類型可以獲得相同(tóng)的效果。

傳輸模(mó)式

該屬(shǔ)性可以取三個不同的值:

流(liú)模式

文件的以字節流(liú)的方(fāng)式傳輸。

塊模式

文(wén)件以一個塊連接一個塊(kuài)的方式傳輸,每個塊的(de)開頭都(dōu)有一個頭。

壓縮模式

一個(gè)簡單的(de)運程長(zhǎng)度壓縮編碼被應用,來壓(yā)縮連續的相同的字(zì)節。

實際中,一般隻有(yǒu)流模(mó)式被(bèi)使(shǐ)用。而(ér)壓縮一般通過使用各(gè)種其他的工具程序來獲得。

當一次傳輸被建立,客(kè)戶端一般指(zhǐ)定一個或多個前麵說明(míng)的屬性。若服務器端不能(néng)支持某(mǒu)個選項(xiàng),服務器將用一個錯誤信息來響應客戶端(duān),並不具(jù)有協商機製。

FTP提供了充足的命令來(lái)使用戶(hù)和遠程(chéng)建立連接(jiē)並訪問遠程文件(jiàn)係統(tǒng)。

1.1.2 命令格式

命令以NVT ASCII串的格式被傳輸。每個命令(lìng)以(yǐ)三(sān)個或四個大寫的NVT ASCII字符開始(shǐ),後麵帶有選項參(cān)數和一個CR/LF對來標識命令(lìng)結(jié)束

應答(dá)由三個NVT ASCII數(shù)字及一個選項(xiàng)消息(xī)組成。

一個長的(de)應答也許會有多個消(xiāo)息組成,第一(yī)個消息的(de)三個數字(zì)後帶有一個破折號,最後的消息(xī)不帶有(yǒu)破折號。中間的消(xiāo)息(xī)無須攜帶三個數字,但是如果帶了(le)三個數字(zì),則(zé)也(yě)需要(yào)破折(shé)號。

下麵是所有的(de)命(mìng)令的(de)列表(biǎo)。帶有星號的命令一(yī)般很少使用,所以往(wǎng)往在具體實現中不支持。

String Meaning

ABOR 放棄(qì)傳(chuán)輸

*ACCT 某些係統將帳號和用戶與文件係統相關聯

*ALLO 為即(jí)將傳送(sòng)的文件(jiàn)分配(pèi)空間。後麵攜帶(dài)的參數來確(què)定(dìng)字節數

*APPE 將(jiāng)文(wén)件附加到已經存在的(de)文(wén)件後麵

CDUP 在(zài)遠程係統上將當前(qián)目錄(lù)切換到上級父目錄

CWD 改變遠程係統的工作目錄

DELE 刪除遠程係統的文件

HELP 讀取服務器(qì)的幫助信息,如:支持的命令的列表(biǎo)

LIST 在一(yī)個新建立的數據連接上(shàng)發送當前工作(zuò)目錄下的(de)文件(jiàn)名(míng)列(liè)表

MKD 創建目錄(lù)

MODE 指定傳輸模式(shì),可攜帶的參數是:S、B或 C.

NLST 在一個新建立的數(shù)據連接上發送一個當(dāng)前目錄下的(de)“完全”的目(mù)錄列表

NOOP 空操(cāo)作,防止連接斷掉

PASS 提供(gòng)一個用戶登錄密碼,必(bì)須立即跟隨在USER命(mìng)令(lìng)後

*PASV 指定(dìng)服(fú)務器數據傳輸過程監(jiān)聽(tīng)等(děng)待客(kè)戶端的數據連接連接(jiē)建立請(qǐng)求

PORT 指定客戶端監聽(tīng)等待服務器端建立(lì)的(de)連(lián)接的端口號

PWD 顯示服務器端的當前工作目錄名

QUIT 退出(chū)登錄並(bìng)終止連接

*REIN 重新初始化,退出登(dēng)錄(lù)但是並不斷開連接,後麵(miàn)必須隨後(hòu)發出一個新的USER命令(lìng)

*REST 從服務器的一個標識處重新開始傳輸

RETR 從遠程係統取回一(yī)個(gè)文件(jiàn)

RMD 刪除一個目(mù)錄

*RNFR 指定要被命名的文(wén)件(jiàn)的老(lǎo)的路徑名,隨後必須是一個RNTO命令

*RNTO 指定要被命名的文件的新的路徑(jìng)名

*SITE 站點特有的服(fú)務(wù)器(qì)提供的服務

*SMNT 結(jié)構加載,提供一(yī)個(gè)文件係統結(jié)構的遠程係統路(lù)徑名

*STAT 狀態(tài)信息

STOR 上載一個(gè)文件到(dào)服務器上,若文件已經(jīng)存在則覆蓋(gài)

*STOU 上載一個文件(jiàn)到(dào)服務器上,不覆蓋已經存在(zài)的文件

STRU 指定文件結構,參數可以是F、R或P.

*SYST 報告遠程係統(tǒng)的操作係(xì)統類型

TYPE 指(zhǐ)定(dìng)文件類型,參數(shù)可以是A、E、I、L隻有TYPE A和TYPE I常用

控製連接(jiē)命令應答有如下形(xíng)式:

Type Description

1yz 主(zhǔ)動初步應答,在(zài)發送另一個命令(lìng)以前等(děng)待另一個應答

2yz 主動最後應答,最(zuì)後一(yī)個(gè)命(mìng)令成功結束

3yz 主動中間應答,必須再發送一個命令

4yz 暫時被動應答(dá),要(yào)求的動作當時不能完成,但可以(yǐ)重試

5yz 永久被(bèi)動應答,要(yào)求的動作(zuò)不能完成,不(bú)應該重試

"y"數字編碼進一步的信息

Digit Meaning

0 語(yǔ)法錯誤

1 信(xìn)息

2 連接狀(zhuàng)態

3 認證(zhèng)和記帳

4 保留(liú)

5 File s文件(jiàn)係統狀態

下麵是一(yī)些(xiē)典型的消息:

Number Meaning

125 數據連(lián)接打開,傳輸開始

200 命令OK

331 用戶名OK 需(xū)要輸入密(mì)碼

425 不(bú)能(néng)打開(kāi)數據連接

452 錯誤寫(xiě)文件

500 語法錯(cuò)誤-不可識別的命

具體(tǐ)的詳細(xì)情況(kuàng)可以參見RFC

wu-Ftpd的(de)官方權威站點地址(zhǐ)是:http://www.wu-ftpd.org/。

1.2 wu-Ftpd的安裝

當(dāng)前(qián),Linux環(huán)境下有許多ftp服(fú)務器(qì)軟件可供選擇,但是目前(qián)最常見(jiàn)的仍然是(shì)wu-Ftpd服務器。這裏主要討論(lùn)該軟件(jiàn)的安裝和配(pèi)置。

一般來說,在安裝了linux時,缺省都會自動安裝wu-ftpd服務(wù)器(qì),但是有(yǒu)時候為了某種需要也需要自己親(qīn)自重(chóng)新(xīn)安裝該服務器軟(ruǎn)件。安裝wu-Ftpd有兩(liǎng)方(fāng)式,一種是安裝rpm形式的發布包;一種是自己動手去編譯生成Ftp服務器。

rpm包可以在http://rpmfind.net/linux/RPM/WByName.html處下載得到,以rpm包方(fāng)式(shì)安裝非(fēi)常簡單(dān),隻(zhī)需要在按下麵的簡(jiǎn)單的幾個步驟(zhòu)就可以完成(chéng),假設下載得到的rpm包存放在/tmp目錄(lù)下:

#cd /tmp

#rpm -ivh wu-f

關鍵詞(cí):LINUX,FTP服務器

閱讀本文後(hòu)您有什麽感想? 已有 人給出評(píng)價!

  • 1 歡迎喜歡(huān)
  • 1 白癡
  • 1 拜托(tuō)
  • 1 哇
  • 3 加(jiā)油(yóu)
  • 1 鄙(bǐ)視