linux下FTP服務器配置.doc_第1頁
linux下FTP服務器配置.doc_第2頁
linux下FTP服務器配置.doc_第3頁
linux下FTP服務器配置.doc_第4頁
linux下FTP服務器配置.doc_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1.1 什么是FTP:文件傳輸協(xié)議原理 1.1.1 命令選擇 1.1.2 命令格式 1.2 wu-Ftpd的安裝 1.3 讓FTP服務器運轉(zhuǎn)起來 1.4 配置文件的設置 1.4.1 /etc/ftpaccess的設置 1.4.2 /etc/ftpusers和/etc/ftphosts的設置 1.4.3 /etc/ftpconversions設置 1.4.1 wu-ftp的相關程序 1.5 開設只能FTP的帳戶 1.6 設置虛擬FTP主機 什么是FTP:文件傳輸協(xié)議原理 互聯(lián)網(wǎng)文件傳輸協(xié)議(File Transfer Protocol ,FTP) 標準是在RFC959說明的。該協(xié)議定義了一個從遠程計算機系統(tǒng)和本地計算機系統(tǒng)之間傳輸文件的一個標準。一般來說,傳輸文件的用戶需要先經(jīng)過認證以后才能登錄網(wǎng)站,然后方能訪問在遠程服務器的文件。而大多數(shù)的FTP服務器往往提供一個GUEST的公共帳戶來允許沒有遠程服務器的用戶可以訪問該FTP服務器。 一個FTP會話通常包括五個軟件元素的交互。 用戶接口 提供了一個用戶接口并使用客戶端協(xié)議解釋器的服務 客戶 PI 客戶協(xié)議解釋器,其項遠程服務器協(xié)議機發(fā)送命令并且驅(qū)動客戶數(shù)據(jù)傳輸過程 服務器PI 服務器協(xié)議解釋器,響應客戶協(xié)議機發(fā)出的命令并驅(qū)動服務器端數(shù)據(jù)傳輸過程 客戶 DTP 客戶數(shù)據(jù)傳輸過程,其負責完成和服務器數(shù)據(jù)傳輸過程及客戶端本地文件系統(tǒng)的通信 服務DTP 服務器數(shù)據(jù)傳輸過程,其負責完成和客戶數(shù)據(jù)傳輸過程及服務器端文件系統(tǒng)的通信 在RFC 959中,一般使用用戶這個名詞來指代客戶。RFC 959定義了客戶PI和服務器PI交互的方式和規(guī)范。用戶接口與PI和DTP交互的機理都并不是協(xié)議標準的一部分。PI和DTP往往通常是在同一個程序模塊中實現(xiàn)的。 在FTP會話中,一共會存在有兩個獨立的網(wǎng)絡連接,一個是由兩端的PI使用的,另一個是由兩端的DTP使用的。PI之間的連接一般被稱作控制連接(control connection),DTP之間的連接被稱做數(shù)據(jù)連接(data connection) 使用TCP服務的控制和數(shù)據(jù)連接 通常情況下,F(xiàn)TO服務器監(jiān)聽端口號21來等待控制連接建立請求。而數(shù)據(jù)連接端口號的選擇依賴于控制連接上命令。通常是客戶發(fā)送一個控制消息來指定客戶監(jiān)聽并等待服務器端發(fā)送數(shù)據(jù)連接建立請求的端口號。 對數(shù)據(jù)傳輸和控制命令傳輸來使用不同的獨立連接有如下優(yōu)點:兩個連接可以選擇不同的合適服務質(zhì)量,如:對控制連接來說高需要更小的延遲時間,對數(shù)據(jù)連接來說需要更大的數(shù)據(jù)吞吐量;而且可以避免實現(xiàn)數(shù)據(jù)流中的命令的通明性及逃逸。 當傳輸建立時,總是由客戶端首先發(fā)起。然而客戶和服務器都可能是數(shù)據(jù)發(fā)送者。除了傳輸用戶請求下載文件,數(shù)據(jù)傳輸過程同樣在客戶端請求列服務器端目錄結(jié)構(gòu)時建立。 1.1.1 命令選擇 當一個傳輸建立時,一般通常需要指定四個方面的屬性: 文件類型 該屬性指定如何將文件的數(shù)據(jù)匹配成適于傳輸?shù)母袷剑还灿兴姆N可能的選擇: ASCII文件類型 在發(fā)送端,文件從本地文本文件格式轉(zhuǎn)換為 NVT ASCII格式,每行結(jié)束有一個CR/LF對來標識。 在接收端,再被轉(zhuǎn)換為本地的文本格式。 這說明了為什么Unix主機之間傳輸文本文件為何傳輸?shù)臄?shù)據(jù)量要大于文件的實際大小。若傳輸一段端或傳輸兩端都不使用ASCII文本編碼,則是應該由數(shù)據(jù)傳輸過程來實現(xiàn)本地編碼和NVT ASCII 編碼之間的轉(zhuǎn)換。 EBCDIC文件類型 類似于ASCII,區(qū)別僅僅上使用EBCDIC字符編碼 圖象 (或二進制)文件類型 文件以本地傳輸內(nèi)容傳輸,在遠端以同本地完全相同的內(nèi)容存儲。 本地文件系統(tǒng) 用在字節(jié)大小不是8位的環(huán)境下。沒字節(jié)位數(shù)由發(fā)送者指定。 在實際應用中,只有ASCII和圖象格式使用的較多。 格式控制 該屬性是和將文本文件最后傳送到打印設備相關的,其中有多種方式來實現(xiàn)將垂直格式信息編碼到文件中,包括指示一個新頁開始的方式。有如下方式可供選擇: 無須打印格式控制,這是缺省值 Telnet打印控制,在telnet協(xié)議中定義的控制字符包含在數(shù)據(jù)流中。. Fortran打印控制, 該屬性在實際中很少使用。 結(jié)構(gòu) 文件可以擁有內(nèi)部結(jié)構(gòu),在傳輸中該結(jié)構(gòu)被保留。由數(shù)據(jù)傳輸過程來負責在傳輸中的結(jié)構(gòu)及本地結(jié)構(gòu)之間相互匹配,有三種可能性: 文件結(jié)構(gòu) 這實際上意味著文件被看作沒有內(nèi)部結(jié)構(gòu)的連續(xù)的字節(jié)流。 記錄結(jié)構(gòu) 文件是有一系列記錄組成的結(jié)構(gòu)。這只適用于文本文件。 頁面結(jié)構(gòu) 也可以稱做塊結(jié)構(gòu)。每一頁都伴隨一個頁號來傳輸,從而以順序的方式來完成傳輸。 頁面結(jié)構(gòu)很少在實際中遇到。記錄結(jié)構(gòu)也不是很常見。對于文本文件使用ASCII文件類型可以獲得相同的效果。 傳輸模式 該屬性可以取三個不同的值: 流模式 文件的以字節(jié)流的方式傳輸。 塊模式 文件以一個塊連接一個塊的方式傳輸,每個塊的開頭都有一個頭。 壓縮模式 一個簡單的運程長度壓縮編碼被應用,來壓縮連續(xù)的相同的字節(jié)。 實際中,一般只有流模式被使用。而壓縮一般通過使用各種其他的工具程序來獲得。 當一次傳輸被建立,客戶端一般指定一個或多個前面說明的屬性。若服務器端不能支持某個選項,服務器將用一個錯誤信息來響應客戶端,并不具有協(xié)商機制。 FTP提供了充足的命令來使用戶和遠程建立連接并訪問遠程文件系統(tǒng)。 1.1.2 命令格式 命令以NVT ASCII串的格式被傳輸。每個命令以三個或四個大寫的NVT ASCII字符開始,后面帶有選項參數(shù)和一個CR/LF對來標識命令結(jié)束 應答由三個NVT ASCII數(shù)字及一個選項消息組成。 一個長的應答也許會有多個消息組成,第一個消息的三個數(shù)字后帶有一個破折號,最后的消息不帶有破折號。中間的消息無須攜帶三個數(shù)字,但是如果帶了三個數(shù)字,則也需要破折號。 下面是所有的命令的列表。帶有星號的命令一般很少使用,所以往往在具體實現(xiàn)中不支持。 String Meaning ABOR 放棄傳輸 *ACCT 某些系統(tǒng)將帳號和用戶與文件系統(tǒng)相關聯(lián) *ALLO 為即將傳送的文件分配空間。后面攜帶的參數(shù)來確定字節(jié)數(shù) *APPE 將文件附加到已經(jīng)存在的文件后面 CDUP 在遠程系統(tǒng)上將當前目錄切換到上級父目錄 CWD 改變遠程系統(tǒng)的工作目錄 DELE 刪除遠程系統(tǒng)的文件 HELP 讀取服務器的幫助信息,如:支持的命令的列表 LIST 在一個新建立的數(shù)據(jù)連接上發(fā)送當前工作目錄下的文件名列表 MKD 創(chuàng)建目錄 MODE 指定傳輸模式,可攜帶的參數(shù)是:S、B或 C. NLST 在一個新建立的數(shù)據(jù)連接上發(fā)送一個當前目錄下的“完全”的目錄列表 NOOP 空操作,防止連接斷掉 PASS 提供一個用戶登錄密碼,必須立即跟隨在USER命令后 *PASV 指定服務器數(shù)據(jù)傳輸過程監(jiān)聽等待客戶端的數(shù)據(jù)連接連接建立請求 PORT 指定客戶端監(jiān)聽等待服務器端建立的連接的端口號 PWD 顯示服務器端的當前工作目錄名 QUIT 退出登錄并終止連接 *REIN 重新初始化,退出登錄但是并不斷開連接,后面必須隨后發(fā)出一個新的USER命令 *REST 從服務器的一個標識處重新開始傳輸 RETR 從遠程系統(tǒng)取回一個文件 RMD 刪除一個目錄 *RNFR 指定要被命名的文件的老的路徑名,隨后必須是一個RNTO命令 *RNTO 指定要被命名的文件的新的路徑名 *SITE 站點特有的服務器提供的服務 *SMNT 結(jié)構(gòu)加載,提供一個文件系統(tǒng)結(jié)構(gòu)的遠程系統(tǒng)路徑名 *STAT 狀態(tài)信息 STOR 上載一個文件到服務器上,若文件已經(jīng)存在則覆蓋 *STOU 上載一個文件到服務器上,不覆蓋已經(jīng)存在的文件 STRU 指定文件結(jié)構(gòu),參數(shù)可以是F、R或P. *SYST 報告遠程系統(tǒng)的操作系統(tǒng)類型 TYPE 指定文件類型,參數(shù)可以是A、E、I、L只有TYPE A和TYPE I常用 控制連接命令應答有如下形式: Type Description 1yz 主動初步應答,在發(fā)送另一個命令以前等待另一個應答 2yz 主動最后應答,最后一個命令成功結(jié)束 3yz 主動中間應答,必須再發(fā)送一個命令 4yz 暫時被動應答,要求的動作當時不能完成,但可以重試 5yz 永久被動應答,要求的動作不能完成,不應該重試 y數(shù)字編碼進一步的信息 Digit Meaning 0 語法錯誤 1 信息 2 連接狀態(tài) 3 認證和記帳 4 保留 5 File s文件系統(tǒng)狀態(tài) 下面是一些典型的消息: Number Meaning 125 數(shù)據(jù)連接打開,傳輸開始 200 命令OK 331 用戶名OK 需要輸入密碼 425 不能打開數(shù)據(jù)連接 452 錯誤寫文件 500 語法錯誤-不可識別的命 具體的詳細情況可以參見RFC wu-Ftpd的官方權(quán)威站點地址是:/。 1.2 wu-Ftpd的安裝 當前,Linux環(huán)境下有許多ftp服務器軟件可供選擇,但是目前最常見的仍然是wu-Ftpd服務器。這里主要討論該軟件的安裝和配置。 一般來說,在安裝了linux時,缺省都會自動安裝wu-ftpd服務器,但是有時候為了某種需要也需要自己親自重新安裝該服務器軟件。安裝wu-Ftpd有兩方式,一種是安裝rpm形式的發(fā)布包;一種是自己動手去編譯生成Ftp服務器。 rpm包可以在/linux/RPM/WByName.html處下載得到,以rpm包方式安裝非常簡單,只需要在按下面的簡單的幾個步驟就可以完成,假設下載得到的rpm包存放在/tmp目錄下: #cd /tmp #rpm -ivh wu-ftpd-1.6.0-9.i386.rpm 壓縮的源代碼可以在/pub/wu-ftpd/出得到。這里我們以最新的1.6.0為例說明如何編譯安裝wu-ftpd。 1、解開源代碼 1) 將壓縮的源代碼拷貝到/usr/src下 #cp wu-ftpd.1.6.0.tar.gz /usr/src 2) 對壓縮文檔進行解壓縮: #tar xvfz wu-ftpd.1.6.0.tar.gz #cd wu-ftpd-1.6.0 2、敲入命令 ./build xxx ,可以在這里指定一個C語言編譯器:./build CC=yyy xxx yyy 指用來替代 cc 的其他的編譯器。對于linux環(huán)境下的gcc編譯器,命令應該為:./build CC=gcc xxx #build CC=gcc lnx xxx可以取下面的值: gen : 通用make(當移植到心得系統(tǒng)時需要拷貝它) aix : IBM AIX aux : AU/X bdi : BSD/OS bsd : BSD dec : DEC Unix 3.X du4 : DEC Unix 4.X or later dyn : Dynix fbs : FreeBSD 1.0 or later hiu : Hitachi Unix hpx : HP-UX lnx : Linux (tested on 1.0.30) nbs : NetBSD 1.X nx2 : NeXTstep 1.x nx3 : NeXTstep 3.x osf : OSF/1 osx : Mac OS X ptx : ? sco : SCO Unix 3.2v4.2/SCO OpenServer 5 sgi : SGI Irix 4.0.5a sny : Sony NewsOS sol : SunOS 5.x / Solaris 1.x s41 : SunOS 4.1.x ult : Ultrix 4.x uxw : UnixWare 1.1 or later clean : Clean up object files and such to reduce disk space after building. install: Install ftpd Copying Makefiles. Linking src/config.h Making support library. gcc -O3 -fomit-frame-pointer -fno-strength-reduce -pipe -c strcasestr.c gcc -O3 -fomit-frame-pointer -fno-strength-reduce -pipe -c authuser.c gcc -O3 -fomit-frame-pointer -fno-strength-reduce -pipe -c snprintf.c rm -f libsupport.a ar cq libsupport.a strcasestr.o authuser.o snprintf.o ranlib libsupport.a : : : : : : : : : 編譯成功以后將生成如下幾個可執(zhí)行文件: ftpd FTP服務器程序 ftpshut 用于關閉FTP守護進程的程序 ftpcount 記數(shù)程序,顯示目前ftp登錄的人數(shù) ftpwho 查看當前FTP服務器的連線情況,類似與系統(tǒng)的who命令,只不過是查看ftp登錄的用戶 ckconfig 檢查FTP的設置是否正確 ftprestart 重新啟動ftp服務器 privatepw 改變wu_ftpd組訪問文件信息 3、若只是升級到一個新的版本,應該首先備份系統(tǒng)所有的舊的配置文件。否則這些配置文件將被覆蓋。為了適應自己的需求,應當編輯樣本配置文件來滿足自己的要求,具體配置文件的需求參見后面的內(nèi)容。 4、以超級用戶身份敲入命令./build install #build install installing binaries. install -c -o bin -g bin -m 110 bin/ftpd /usr/sbin/in.ftpd install -c -o bin -g bin -m 111 bin/ftpshut /usr/bin/ftpshut install -c -o bin -g bin -m 111 bin/ftprestart /usr/bin/ftprestart install -c -o bin -g bin -m 111 bin/ftpcount /usr/bin/ftpcount install -c -o bin -g bin -m 111 bin/ftpwho /usr/bin/ftpwho install -c -o bin -g bin -m 111 bin/privatepw /usr/bin/privatepw installing manpages. install -c -o bin -g bin -m 444 doc/ftpcount.1 /usr/man/man1/ftpcount.1 install -c -o bin -g bin -m 444 doc/ftpwho.1 /usr/man/man1/ftpwho.1 install -c -o bin -g bin -m 444 doc/ftpaccess.5 /usr/man/man5/ftpaccess.5 install -c -o bin -g bin -m 444 doc/ftpconversions.5 /usr/man/man5/ftpconversio5 install -c -o bin -g bin -m 444 doc/ftphosts.5 /usr/man/man5/ftphosts.5 install -c -o bin -g bin -m 444 doc/xferlog.5 /usr/man/man5/xferlog.5 install -c -o bin -g bin -m 444 doc/ftpd.8 /usr/man/man8/ftpd.8 5、編輯 /etc/inetd.conf 文件,指向新的ftpd守護進程,大多數(shù)情況下,這一步是不必的,因為在build install時,會將新的守護進程拷貝覆蓋老的守護進程。若希望使用ftpd的增強的擴展功能,應該在這行最后加上-a選項。 ftpd守護進程一般可以攜帶如下參數(shù),也可以不帶任何參數(shù): -d debug參數(shù),當ftpd守護進程出現(xiàn)錯誤時,會將錯誤信息寫入到系統(tǒng)記錄文件/usr/adm/syslog中 -l 記錄每次ftp會話信息到/usr/adm/messages中 -t 設置當FTP客戶端多久無操作就自動斷線,這個參數(shù)后面指定等待的時間,如 -t 600 表示若客戶 端若連續(xù)10分鐘沒有動作就自動斷線,缺省值是15分鐘 -a 使用ftpaccess配置文件內(nèi)容對ftpd進行更詳細復雜的設置 -A 不使用ftpaccess配置文件的設置,缺省值是-A -i 當客戶端有上載文件的動作時,就記錄在文件xferlog中 -L 使用戶連接ftp服務器期間使用的所有命令都被記錄到/usr/adm/messages中 6、拷貝tar、gzip、gunzip、compress、uncompress等文件到 ftp/bin中,拷貝ls為ftp/bin/ls。 7、若是第一次安裝,使用ckconfig程序查找ftpd的各種配置文件存放目錄:ftpconversions、ftpusers、 和ftpgroups。在doc/examples目錄下有樣本文件。ckconfig是一個可執(zhí)行程序,確保修復該程序檢測到的任何問題。 1.3 讓FTP服務器運轉(zhuǎn)起來 一般來說,只要正確地編譯安裝了wu-ftpd,該服務器就可以正常運行。用戶可以通過FTP命令從各種系統(tǒng)上連接該服務器。 1.4 配置文件的設置 1.4.1 /etc/ftpaccess的設置 這個配置文件是FTP服務器最重要的配置文件,這個文件的設置決定了FTP是否可以正常工作及許多訪問權(quán)限的設置。如下面的例子所示: class all real,guest,anonymous * limit all 10 Any /etc/msgs/msg.dead readme README* login readme README* cwd=* message /welcome.msg login message .message cwd=* compress yes all tar yes all log commands real log transfers anonymous,real inbound,outbound shutdown /etc/shutmsg email userhostname 下面是設置文件各個指示(directive)的詳細說明: 指示: loginfails n 密碼輸入n次就自動斷開連接 指示:autogroup 組名 類別 . 若一個匿名用戶屬于任何一個參數(shù)類別的類,則FTP服務器將實施setegid()調(diào)用使其屬于這個組名定義的組,這樣做是為了實現(xiàn)某些特定類別的匿名用戶可以訪問一些只允許本組及擁有者可以訪問的文件。組名必須是/etc/group內(nèi)定義的有效組。 指示: class 類名 類別(real、guest、anonumous) IP地址 這個指示是設定FTP服務器用戶的類別。 FTP服務器的用戶可以分為以下三種類別: real 在該FTP服務器上擁有合法帳戶的用戶; guest 另外定義某些特定組的用戶; anonymous 匿名用戶; 舉例說明: class outworld real,guest,anonymous * 定義一個名為outworld的類,該類包含三種類型的用戶:real,guest,anonymous。該類在后面的指示中使用。其中*是類定義中的IP地址部分,表示網(wǎng)絡上的所用主機。也就是說明允許任何主機連接FTP服務器。若希望對訪問FTP的主機進行一定的權(quán)限設置,可以這樣做: class friend real,guest,anonymous *. 201.101.13.* 指定義一個friend類,該類從*. 及201.101.13.*訪問FTP服務器時有特定的權(quán)限設定。 指示: limit 類別 人數(shù) 時間 文件名 該指示設定在某個類在某個時間內(nèi)允許連接FTP服務器的人數(shù)的限制,并指定當連接人數(shù)超過限制,后面的用戶連接時顯示給用戶的消息信息。 舉例說明: limit local 20 Any /tmp/message/msg.toomany 上面的例子限定local這個類中的擁護同一時間只能有20人同時上網(wǎng)連接這臺FTP服務器,若超過20人則顯示/tmp/message/msg.toomany的文件的內(nèi)容 limit outworld 100 MoTu|Any 2200-0800 /tmp/message/msg.limit 這個例子限制outworld這個類的用戶只能在周一周二或每天的晚上10點到第二天早上的8點之間訪問該FTP服務器,而且同時連線的人數(shù)不可以超過100人,若超過100人,則顯示/tmp/message/msg.limit的文件的內(nèi)容 /tmp/message/msg.limit的內(nèi)容為: 對不起!本服務器只允許匿名用戶在周一周二全天及其他每天晚上10點到第二天早上的8點之間訪問,當前時間為%T;而且只允許同時有%M個匿名用戶訪問,當前有%N個用戶在訪問該服務器。請在合適的時間訪問本FTP服務器,謝謝! 這里的%M是一個變量,代表同時允許連接的人數(shù)的上限,F(xiàn)TP服務器可以用前面設置的值自動替代該變量,其他允許的變量包括: %T 本地當前時間; %F CWD所在分區(qū)剩余空間,以KB為單位。但該變量不是所有系統(tǒng)都支持。 %C 當前工作目錄; %E 定義在/etc/ftpaccess文件中的系統(tǒng)管理員的E-mail地址; %R 遠端主機名; %L 本地主機名; %U 登錄時所給的用戶名; %N 這個類別當前連接的用戶數(shù)目; 利用這些參數(shù),可以編輯一個詳細的說明文件,這樣可以讓用戶清楚當前服務器資源使用情況。 指示: readme 說明文件 指令 當用戶執(zhí)行指定的指令時,系統(tǒng)就會自動顯示所設置的說明文件; 舉例說明: readme README* login 當用戶執(zhí)行登錄動作時,只要以README開頭的文件內(nèi)容就會顯示給用戶。 readme README* cwd=* 表示用戶切換目錄時(cwd),只要以README開頭的文件內(nèi)容就會顯示給用戶。 通常README*應該是該目錄下文件的說明,讓登錄的用戶可以清楚地知道目錄中存放了那些文件; 指示: message 文件名 指令 使當用戶執(zhí)行特定的指令時,系統(tǒng)就將指定的文件內(nèi)容顯示給用戶; 舉例說明: message /msg.welcome login 指定當用戶登錄時,將自動顯示/tmp/message/msg.welcome的內(nèi)容給用戶,注意這里的/msg.welcome指ftp根目錄下的msg.welcome文件,即/home/ftp/msg.welcome。 message /welcome cwd=* 指定當用戶切換另一個目錄時,只要目錄中有msg.welcome文件,就顯示給用戶 指示: compress (yes/no) 類別 設置哪個類別的用戶可以使用壓縮功能; 舉例: compress yes local outworld 允許local 和outworld兩個類別的 用戶使用壓縮功能 指示: tar (yes/no) 類別 指定哪個類別的用戶可以使用tar功能; 指示: passwd-check (none/trivial/rfc822) (enforce/warn) 設定當用戶以匿名方式登錄服務器時密碼的方式: none 表示不對密碼進行驗證,任何密碼都可以登錄; trival 表示只要密碼中包含就可以登錄; rfc822 表示密碼一定要符合rfc822中規(guī)定的E-mail格式才能登錄。如: enforce 表示輸入的密碼不符合指定格式就不允許登錄; warn 表示輸入的密碼不符合指定格式顯示警告信息,但仍然允許登錄; 指示: log commands 類別(read/guest/anonumous) 設定那些用戶登錄時,所使用的操作會被記錄在文件/usr/adm/xferlog中。 指示: log transfer 類別(read/guest/anonumous) (inbound/outbound) 設定指定的用戶類別在上載還是下載時的相關信息被記錄到/usr/adm/xferlog中。 舉例說明: log transfer anonymous,real inbound,outbound 當anonymous或real用戶登錄后,上載和下載的操作會被記錄在文件/usr/adm/xferlog中。 指示: shutdown 文件名 FTP服務器關閉的時間可以后面的文件名中指定的文件中指定,設定的時間一到,便無法登錄FTP服務器了,只有將這個文件刪除才能恢復FTP服務器。文件的格式可以由命令ftpshut來建立。 指示: delete (yes/no) 類別(real/anonymous/guest) 設定是否允許指定用戶使用delete命令。 舉例說明: delete no guest,anonymous 設定大概內(nèi)登錄的用戶為guest或anonymous上不允許執(zhí)行delete命令。 指示: overwrite (yes/no) 類別(real/anonymous/guest) 設定是否允許指定用戶使用overwrite指令。 指示: reame (yes/no) 類別(real/anonymous/guest) 設定是否允許指定用戶使用readme指令。 指示: chmod (yes/no) 類別(real/anonymous/guest) 設定是否允許指定用戶使用chmod指令。 指示: umask (yes/no) 類別(real/anonymous/guest) 設定是否允許指定用戶使用umask指令。 指示: upload absolute|relative class=. - dirs|nodirs 定義允許用來上載的目錄。若允許上載,所有新上載的文件的所有者及組由和定義 ,訪問權(quán)限將為。對于覆蓋老文件的上載文件將保持原來的所有者及訪問權(quán)限信息。文件上載的權(quán)限信息由最大匹配目錄項定義,如: upload /var/ftp * no upload /var/ftp /incoming yes ftp daemon 0666 upload /var/ftp /incoming/gifs yes jlc guest 0600 nodirs would only allow uploads into /incoming and /incom- : 將只允許/incoming和/incom-ing/gifs目錄上載。上載到/incoming目錄下的文件將屬于ftp/daemon,訪問權(quán)限為0666;而上載到/incoming/gifs下的文件將屬于jlc/guest,訪問權(quán)限為0600。應該注意的是 必須匹配ftp用戶的passwd文件中的主目錄。 dirs和nodirs選項用來設定是否允許在該目錄下創(chuàng)建新的子目錄。但是缺省是允許創(chuàng)建子目錄的。 設定新創(chuàng)建的目錄的訪問權(quán)限,缺省為0777。 上載指示只能施用于用戶主目錄(chroot()的參數(shù))等同于的用戶,可以為*來表示匹配任何主目錄。 和也可能指定為*,在這種情況下,任何上載的文件或創(chuàng)建的目錄的所有者都等于起父目錄的所有者。 選項absolute|relative指定是是絕對路徑還是相對于chroot()參數(shù)指定的目錄的相對路徑。缺省是絕對路徑。也可以指定任意多個class=來進行進一步限定。若指定了任何目錄,則該上載指示只影響這些組的用戶。 指示: alias 目錄別名 目錄路徑 給指定目錄設置一個別名,當切換目錄時可以使用別名。 舉例說明: alias xwin /pub/linux/xwindows 為/pub/linux/xwindows設置別名xwin,登錄以后只要輸入命令cd xwin就可以進入該目錄。 指示: cdpath 目錄 該功能和系統(tǒng)的PATH環(huán)境變量設置類似,當cd /etc時,F(xiàn)TP首先查看當前目錄下是否有etc子目錄,無則看是否有別名,若沒有則根據(jù)該指示設定的路徑查詢。 舉例說明: cdpath /pub/linux cdpath /pub cdpath / 搜索順序為:/pub/linux /pub / 指示: path-filter 類別(real/anonymous/guest) 目錄 設定上載文件名限制。 舉例說明: path-filter anonymous /etc/pathmsg-A-Za-z0-9_.*$.- path-filter guest /etc/pathmsg-A-Za-z0-9_.*$.- 設置限制anonymous和guest用戶上載的文件名只能包含A-Z、a-z、0-9和._-,名字以.和-開頭的文件不能上載到服務器上。 指示: guestgroup . guestuser . realgroup . realuser . 對于guestgroup指示,若一個真實(real)用戶屬于任何一個所指定的組,則其FTP會話都被FTP服務器以匿名的方式進行處理。也就是說,chroot()被調(diào)用,用戶不再允許發(fā)出USER和 PASS 命令。必須是有效的組。 這里用戶的home目錄必須被爭取的設置,要確實和匿名用戶一致,/etc/passwd中的相關項的home目錄被分割為兩個部分,第一部分是chroot()調(diào)用的根目錄參數(shù),第二個是用戶相對于根目錄的主目錄,兩部分之間以/./分隔,如: guest1:100:92:Guest Account:/ftp/./incoming:/etc/ftponly 當guest1成功登錄進入,F(xiàn)TP服務器將調(diào)用chroot(/ftp)然后調(diào)用chdir(/incoming)。則guest1就如同匿名用戶一樣只能訪問/ftp下面的容(對于guest1來說,它就是/)。 可以是組名或數(shù)字ID。若使用數(shù)字ID,需要在數(shù)字前面加上一個%。使用*表示所有組。 guestuser和guestgroup指示類似,只不過是限定一個單一用戶罷了。 realuser和realgroup有同樣的語法,但是和guestuser及guestgroup起相反的作用,其是允許某個組的用戶或某個用戶以真實身份訪問FTP服務器。如: guestuser * realgroup admin 指定所有的非匿名用戶登錄進入服務器以后,都被做為匿名用戶處理,但是admin組的用戶是例外,登錄以后以真實身份存在。 指示: guestgroup 功能 設定guest組的功能。 舉例說明: guestgroup ftponly 指示: nice 設定FTP服務器守護進程的調(diào)度優(yōu)先級。 指示: defumask 若遠程用戶屬于class,則守護進程創(chuàng)建的文件的umask為umask。若沒有指定class則將umask作為缺省的umask. 指示: tcpwindow 設置數(shù)據(jù)連接的TCP窗口大小,若不明白含義,一般不要去設置它。 指示:keepalive 設置TCP socket的SO_KEEPALIVE參數(shù)選項。 指示:timeout accept timeout connect timeout data timeout idle timeout maxidle timeout RFC931 設置各種超時時鐘,這些參數(shù)必須在對TCP協(xié)議非常熟悉的情況下才應該去設定,一般不要改動這些值,具體含義參見man ftpaccess。 指示: file-limit 限制某個組的任何一個用戶允許上載的文件的數(shù)量,若沒有指定class,則該限制施用于所有沒有限定的組。raw指示這個限制包括所有的傳輸,而不僅僅是數(shù)據(jù)文件。 指示:byte-limit 限制某個類的任何一個用戶允許傳輸?shù)臄?shù)據(jù)總量。 指示: limit-time *|anonymous|guest 限定一個對話允許的持續(xù)時間,缺省無限制。真實用戶沒有該限制。 指示:guestserver 控制哪個站點允許進行匿名連接,若沒有指定hostname,則拒絕所有匿名連接。 指示: noretrieve absolute|relative class= . - . 設定拒絕那些類訪問哪些特定文件。例如: noretrieve /etc/passwd core 指定任何訪問者都不可以訪問文件/etc目錄下的passwd文件和所有的名為core的文件。 指示:allow-retrieve absolute|relative class=. - . 允許訪問這些文件。 指示:private 當一個用戶登錄進入,指示SITE GROUP和 and SITE GPASS用來指定一個增強的訪問組和相應的密碼。若輸入的組名和密碼有效的話,該用戶將變?yōu)樵摻M的成員,具有該組的訪問權(quán)限。 指示:greeting full|brief|terse greeting text 允許控制在遠程用戶登陸進來以后,給用戶多少greet信息及信息內(nèi)容。 指示:banner 和message類似,不過banner消息是在用戶輸入用戶名和密碼以前顯示給用戶的。 指示: hostname 定義FTP服務器缺省的主機名。 指示: email 定義FTP維護者的emai地址。 指示: log security (anonymous|guest|real) 使記錄違背安全規(guī)則如:(noretrieve, .notar, .)的命令。 指示:log syslog log syslog+xferlog 重定向記錄消息到系統(tǒng)記錄文件syslog,缺省只記錄到xferlog。 指示:daemonaddress 若該值沒有被設置,則服務器則監(jiān)聽所有的接入請求,否則,服務器只接受來自定義的連接請求。這個設置一般不要設置,設置以后會阻止使用虛擬主機或其他一些以后擴展的功能。 指示: virtual 打開虛擬FTP服務器的支持。是虛擬服務器的IP地址。第二個參數(shù)指定如root目錄,bannner文件,log文件等的路徑。 指示:virtual 設置在greeting消息中顯示的主機名字或電子郵件。 指示:virtual allow . virtual deny . 一般真實和guest用戶不允許登陸進入虛擬主機,該兩個指示用來重新對允許和拒絕訪問的虛擬主機的用戶進行細化定義。 指示:virtual private 通常,拒絕匿名用戶登陸進入虛擬主機。 指示: defaultserver deny . defaultserver allow . 對允許訪問缺?。ǚ翘摂M)FTP服務器的用戶進行定義。 指示:defaultserver private 拒絕匿名用戶訪問缺省FTP服務器。 指示: deny ip地址/域名 說明文件 設定限制哪個IP地址或域名的用戶不允許登錄到服務器。 舉例說明: deny 201.101.15* *.hacker,com /tmp/message/deny.msg 限制IP地址為201.101.15*及域名為*.hacker,com的機器不允許登錄服務器 1.4.2 /etc/ftpusers和/etc/ftphosts的設置 /etc/ftpusers是用來設定系統(tǒng)上的某些用戶不允許使用FTP傳送文件,/etc/ftphosts是用來設定某些主機不允許連接本FTP服務器的。這樣做的目的都是為了安全考慮。 /etc/ftpusers使用的范例如下: root bin daemon adm lp sync shutdown halt mail news uucp operator games nobody 限制某些用戶登入FTP服務器是出于系統(tǒng)安全的原因,例如要避免超級用戶登入系統(tǒng)。并且禁止某些和一些命令名相同的用戶進入FTP服務器。 /etc/ftphosts的示例如下: # Example host access file # # Everything after a # is treated as comment, # empty lines are ignored #allow . # Only allow host(s) matching to log in as . #deny . # Always deny host(s) matching to log in as . allow ideal *. /8 deny fred *. /24 這里只允許ideal從域名以為后綴的主機及/的主機登錄進入FTP服務器;禁止fred從*.和/24登錄進入FTP服務器。這里的username若為anonymous或ftp都指匿名用戶。 1.4.3 /etc/ftpconversions設置 該文件用來設定當用戶下載文件時應該做那些操作,例如壓縮、解壓縮等。文件內(nèi)容如下所示: :.Z: : :/bin/compress -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS : : :.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS :.gz: : :/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP : : :.gz:/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP : : :.tar:/bin/tar -c -f - %s:T_REG|T_DIR:O_TAR:TAR : : :.tar.Z:/bin/tar -c -Z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+COMPRESS : : :.tar.gz:/bin/tar -c -z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+GZIP : : :.crc:/bin/cksum %s:T_REG:CKSUM : : :.md5:/bin/md5sum %s:T_REG:MD5SUM 文件設置說明: :.Z: : :/bin/compress -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS 表示對所有以.Z結(jié)尾的文件使用/bin/compress -d -c的方式解壓縮。 : : :.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS 表示將傳送的文件壓縮為.Z格式。 :.gz: : :/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP 表示將所有以.gz的文件用/bin/gzip -cd解壓縮。 : : :.gz:/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP 表示將傳送的文件壓縮為.gz格式

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論