主流FTP服務(wù)器Wu-ftpd入門(mén)指南
Wu-ftpd是Internet上最流行的FTP守護(hù)程序。Wu-ftpd功能十分強(qiáng)大,可以構(gòu)建多種類(lèi)型FTP服務(wù)器。Wu-ftpd菜單可以幫助用戶輕松地實(shí)現(xiàn)對(duì)FTP服務(wù)器的配置:支持構(gòu)造安全方式的匿名FTP的訪問(wèn),可以控制同時(shí)訪問(wèn)的用戶的數(shù)量,限制可以允許訪問(wèn)的IP網(wǎng)段,并可以在一臺(tái)主機(jī)上設(shè)置多個(gè)虛擬目錄。Wu-ftpd有三種注冊(cè)方式:匿名FTP、實(shí)際用戶FTP以及guestFTP。匿名FTP使用用戶名“anonymous”和一個(gè)email類(lèi)型的口令進(jìn)行注冊(cè)。
Wu-ftpd發(fā)布較早。在最新版本(2.6.2)里,其已經(jīng)對(duì)最為人擔(dān)心的系統(tǒng)安全性問(wèn)題做了完善的修正,因此還是Ftp Server中的主流。下列是Wu-ftpd的一些功能:
- 可對(duì)不同網(wǎng)域?qū)嵭胁煌嫒?quán)限和可存取時(shí)段。
- 用戶在下載檔案的同時(shí),可自動(dòng)實(shí)行壓縮或解壓工作。
- 可記錄FTP Server使用情形。
- 可限定最多聯(lián)機(jī)人數(shù),以符合整體運(yùn)作效能。
- 顯示相關(guān)訊息,讓使用者了解接收狀態(tài)。
- 可將FTP Server暫停,便于系統(tǒng)維護(hù)。
- 支持虛擬FTP主機(jī)(Virtual FTP Servers)。
1、安裝Wu-ftpd服務(wù)器
安裝Wu-ftpd有兩種方式,一種是安裝RPM形式的發(fā)布包;另外一種方式是自己動(dòng)手去編譯生成。下面分別介紹這兩種安裝方式的步驟。
1.RPM包安裝方式
該安裝包可以在RPMfind上下載得到。以RPM包方式安裝非常簡(jiǎn)單,只要執(zhí)行下面簡(jiǎn)單的幾個(gè)步驟就可以完成:
//將下載得到的rpm包存放在/tmp目錄下 #cp wu-ftpd-2.6.2-8.i386.rpm /tmp //切換目錄 #cd /tmp //進(jìn)行安裝 #rpm -ivh wu-ftpd-2.6.2-8.i386.rpm
2.源代碼安裝方式
壓縮的源代碼可以在Wu-ftpd官網(wǎng)處得到。目前網(wǎng)上的最新版本為:wu-ftpd-2.6.2.tar,下面是安裝步驟:
//將壓縮的源代碼拷貝到/usr/src目錄下 # cp wu-ftpd.2.6.2.tar.gz /usr/src //對(duì)壓縮文檔進(jìn)行解壓縮 #tar xvfz wu-ftpd.2.6.2.tar.gz //切換目錄 #cd wu-ftpd-2.6.2 //配置 #./configure //編譯 #make #make install
2、啟動(dòng)Wu-ftpd服務(wù)器
在安裝好Wu-ftpd服務(wù)器后,就可以用默認(rèn)配置啟動(dòng)使用該服務(wù)器了。通常來(lái)說(shuō),啟動(dòng)該服務(wù)器有兩種方式:使用xinetd以及命令行啟動(dòng)。下面首先分別介紹這兩種啟動(dòng)方式,然后通過(guò)例子說(shuō)明使用該服務(wù)器的過(guò)程。
1.xinetd啟動(dòng)方式
使用該啟動(dòng)方式,只要在/etc/xinetd.d目錄下配置wu-ftpd文件即可,如下步驟所示:
#vi wu-ftpd //使用vi編輯wu-ftpd文件 //編輯內(nèi)容如下 # default: on /默認(rèn)/系統(tǒng)啟動(dòng)時(shí)同時(shí)啟動(dòng)該服務(wù)器 # description: The wu-ftpd FTP server serves FTP connections. It uses \ # normal, unencrypted usernames and passwords for authentication. service ftp { disable = no socket_type = stream wait = no user = root server = /usr/sbin/in.ftpd server_args = -l -a log_on_success += DURATION USERID log_on_failure += USERID nice = 10 } #service xinetd restart //重新啟動(dòng)xientd服務(wù),以使改動(dòng)生效
2.命令行方式啟動(dòng)
使用命令行啟動(dòng)該服務(wù)器非常簡(jiǎn)單,如下所示命令:
#/usr/sbin/ftpshut //首先關(guān)閉該服務(wù) #/usr/sbin/ftprestart //然后重新啟動(dòng)
接下來(lái),我們將通過(guò)具體的例子說(shuō)明Wu-ftpd服務(wù)器的使用方法。
#p#
3、使用Wu-ftpd服務(wù)器
本小節(jié)通過(guò)具體的例子來(lái)說(shuō)明如何使用Wu-ftpd服務(wù)器。
(1)使用匿名用戶登錄服務(wù)器
該步驟使用用戶名Anonymous進(jìn)行FTP登錄,密碼可以隨便輸入,一般情況下Wu-FTP服務(wù)器都會(huì)通過(guò),這也是大多數(shù)Wu-FTP服務(wù)器的默認(rèn)登錄方式。
#ftp 127.0.0.1 Connected to 127.0.0.1 (127.0.0.1). 220 aserver FTP server (Version wu-2.6.2) ready. Name (127.0.0.1:root): anonymous 331 Guest login ok, send your complete e-mail address as password. Password: 230 Guest login ok, access restrictions apply.
(2)瀏覽匿名用戶登錄到服務(wù)器的目錄
該步驟測(cè)試使用匿名用戶登錄Wu-FTP服務(wù)器后的瀏覽情況,即匿名用戶登錄后能夠看到的FTP服務(wù)器資源的視圖。在一般情況下,匿名用戶只具有非常有限的資源視圖,因而級(jí)別較低。如果需要提升權(quán)限的話,需要針對(duì)匿名用戶進(jìn)行配置。
ftp> ls 227 Entering Passive Mode (127,0,0,1,101,144) 150 Opening ASCII mode data connection for directory listing. total 40 d--x--x--x 2 root root 4096 Jun 13 2002 bin d--x--x--x 2 root root 4096 Jul 22 2002 etc drwxrwxrwx 10 14 50 4096 Oct 10 2003 incoming drwxr-xr-x 2 root root 4096 Jun 13 2002 lib drwxrwxrwx 2 root 50 4096 Nov 8 2002 pub 226 Transfer complete. ftp> cd pub 250 CWD command successful. ftp> ls 227 Entering Passive Mode (127,0,0,1,140,149) 150 Opening ASCII mode data connection for directory listing. total 18008 -rw-r--r-- 1 root root 9203662 Oct 7 2002 stack.ots.20021006.tgz 226 Transfer complete.
(3)測(cè)試建立目錄權(quán)限,操作失敗,匿名用戶沒(méi)有該權(quán)限
該步驟進(jìn)一步測(cè)試匿名用戶所具有的權(quán)限。通過(guò)此操作不難看到,在匿名用戶建立目錄時(shí),服務(wù)器返回失敗,進(jìn)一步證明了匿名用戶一般情況下只具有讀的權(quán)限,而不具有寫(xiě)的權(quán)限。
ftp> mkdir super 550 super: Permission denied on server. (Upload dirs) ftp> cd incoming 550 incoming: No such file or directory. ftp> cd .. 250 CWD command successful. ftp> ls 227 Entering Passive Mode (127,0,0,1,164,206) 150 Opening ASCII mode data connection for directory listing. total 40 d--x--x--x 2 root root 4096 Jun 13 2002 bin d--x--x--x 2 root root 4096 Jul 22 2002 etc drwxrwxrwx 10 14 50 4096 Oct 10 2003 incoming drwxr-xr-x 2 root root 4096 Jun 13 2002 lib drwxrwxrwx 2 root 50 4096 Nov 8 2002 pub 226 Transfer complete.
(4)進(jìn)入指定目錄,準(zhǔn)備測(cè)試下載文件功能
該步驟測(cè)試Wu-FTP服務(wù)器的下載文件功能。對(duì)于匿名用戶來(lái)說(shuō),最常見(jiàn)的一個(gè)功能就是下載文件,從而說(shuō)明FTP服務(wù)器的最大的功效就是文件和資源共享。
ftp> cd incoming 250 CWD command successful. ftp> dir 227 Entering Passive Mode (127,0,0,1,22,51) 150 Opening ASCII mode data connection for directory listing. total 112936 -rw-rw-rw- 1 14 50 47104 Aug 26 2002 1.rtf -rw-rw-rw- 1 14 50 4812 Aug 28 2002 LiveTri.zip drwxrwxrwx 3 4095 root 4096 Dec 14 2002 RA -rw-rw-rw- 1 14 50 672 Oct 30 2002 a -rw-r--r-- 1 root root 38754436 Oct 30 2002 linux-2.4.18.tar.gz drwxrwxrwx 2 root root 4096 Nov 26 2002 package drwxrwxrwx 2 4095 root 4096 Jul 29 2002 public_module -rw-rw-rw- 1 14 50 1968255 Oct 30 2002 rfc2616.pdf drwxrwxrwx 3 4095 root 4096 Aug 2 2002 sample_log -rw-r--r-- 1 root root 6506 Jul 28 2002 sendpacket.tar.gz drwxrwxr-x 11 510 510 4096 Oct 17 2002 stack -rw-rw-rw- 1 14 50 0 Jul 24 2002 tcpip drwxrwxrwx 4 4095 root 4096 Aug 23 2002 temp -rw-rw-rw- 1 14 50 0 Aug 22 2002 test.doc 226 Transfer complete. //如下操作說(shuō)明下載文件test.doc操作成功 ftp> get test.doc local: test.doc remote: test.doc 227 Entering Passive Mode (127,0,0,1,7,193) 150 Opening ASCII mode data connection for test.doc (0 bytes). 226 Transfer complete. //通過(guò)如下操作瀏覽下載到本地的文件,發(fā)現(xiàn)test.doc已經(jīng)下載在其中 ftp> !ls chargen cvspserver daytime-udp echo-udp ntalk qmail-pop3 rexec rsh sgi_fam telnet time wu-ftpd chargen-udp daytime echo finger pop3 qmail-smtp rlogin rsync talk test.doc time-udp ftp> put wu-ftpd local: wu-ftpd remote: wu-ftpd 227 Entering Passive Mode (127,0,0,1,202,89) 150 Opening ASCII mode data connection for wu-ftpd. 226 Transfer complete. 376 bytes sent in 0.00011 secs (3.3e+03 Kbytes/sec)
(5)測(cè)試刪除權(quán)限,操作失敗
最后一個(gè)步驟來(lái)測(cè)試匿名用戶對(duì)于Wu-FTP服務(wù)器中共享資源的刪除權(quán)限狀況。實(shí)驗(yàn)證明,匿名用戶一般不具有刪除權(quán)限,否則會(huì)成為巨大的安全隱患,共享的資源隨時(shí)都會(huì)有被刪除的危險(xiǎn),因而需要對(duì)該權(quán)限實(shí)行禁用。
ftp> delete wu-ftpd 553 wu-ftpd: Permission denied on server. (Delete) ftp> bye 221-You have transferred 361 bytes in 2 files. 221-Total traffic for this session was 1873 bytes in 2 transfers. 221 Thank you for using the FTP service on aserver.
關(guān)于Wu-ftpd的用法就先介紹到這里。如果對(duì)本文有任何問(wèn)題,歡迎進(jìn)入作者的博客進(jìn)行交流:李洋的博客。
【編輯推薦】