Wu-ftpd是Internet上最流行的FTP守護程序。Wu-ftpd功能十分強大,能夠構建多種類型FTP服務器。Wu-ftpd菜單能夠幫助用戶輕鬆地實現對FTP服務器的配置:支持構造安全方式的匿名FTP的訪問,能夠控制同時訪問的用戶的數量,限制能夠容許訪問的IP網段,並能夠在一臺主機上設置多個虛擬目錄。Wu-ftpd有三種註冊方式:匿名FTP、實際用戶FTP以及guestFTP。匿名FTP使用用戶名「anonymous」和一個email類型的口令進行註冊。php
Wu-ftpd發佈較早。在最新版本(2.6.2)裏,其已經對最爲人擔憂的系統安全性問題作了完善的修正,所以仍是Ftp Server中的主流。下列是Wu-ftpd的一些功能:html
安裝Wu-ftpd有兩種方式,一種是安裝RPM形式的發佈包;另一種方式是本身動手去編譯生成。下面分別介紹這兩種安裝方式的步驟。linux
1.RPM包安裝方式安全
該安裝包能夠在RPMfind上下載獲得。以RPM包方式安裝很是簡單,只要執行下面簡單的幾個步驟就能夠完成:服務器
//將下載獲得的rpm包存放在/tmp目錄下 #cp wu-ftpd-2.6.2-8.i386.rpm /tmp //切換目錄 #cd /tmp //進行安裝 #rpm -ivh wu-ftpd-2.6.2-8.i386.rpm
2.源代碼安裝方式session
壓縮的源代碼能夠在Wu-ftpd官網處獲得。目前網上的最新版本爲:wu-ftpd-2.6.2.tar,下面是安裝步驟:app
//將壓縮的源代碼拷貝到/usr/src目錄下 # cp wu-ftpd.2.6.2.tar.gz /usr/src //對壓縮文檔進行解壓縮 #tar xvfz wu-ftpd.2.6.2.tar.gz //切換目錄 #cd wu-ftpd-2.6.2 //配置 #./configure //編譯 #make #make install
在安裝好Wu-ftpd服務器後,就能夠用默認配置啓動使用該服務器了。一般來講,啓動該服務器有兩種方式:使用xinetd以及命令行啓動。下面首先分別介紹這兩種啓動方式,而後經過例子說明使用該服務器的過程。socket
1.xinetd啓動方式tcp
使用該啓動方式,只要在/etc/xinetd.d目錄下配置wu-ftpd文件便可,以下步驟所示:ide
#vi wu-ftpd //使用vi編輯wu-ftpd文件 //編輯內容以下 # default: on /默認/系統啓動時同時啓動該服務器 # 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 //從新啓動xientd服務,以使改動生效
2.命令行方式啓動
使用命令行啓動該服務器很是簡單,以下所示命令:
#/usr/sbin/ftpshut //首先關閉該服務 #/usr/sbin/ftprestart //而後從新啓動
接下來,咱們將經過具體的例子說明Wu-ftpd服務器的使用方法。
本小節經過具體的例子來講明如何使用Wu-ftpd服務器。
(1)使用匿名用戶登陸服務器
該步驟使用用戶名Anonymous進行FTP登陸,密碼能夠隨便輸入,通常狀況下Wu-FTP服務器都會經過,這也是大多數Wu-FTP服務器的默認登陸方式。
#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)瀏覽匿名用戶登陸到服務器的目錄
該步驟測試使用匿名用戶登陸Wu-FTP服務器後的瀏覽狀況,即匿名用戶登陸後可以看到的FTP服務器資源的視圖。在通常狀況下,匿名用戶只具備很是有限的資源視圖,於是級別較低。若是須要提高權限的話,須要針對匿名用戶進行配置。
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)測試創建目錄權限,操做失敗,匿名用戶沒有該權限
該步驟進一步測試匿名用戶所具備的權限。經過此操做不難看到,在匿名用戶創建目錄時,服務器返回失敗,進一步證實了匿名用戶通常狀況下只具備讀的權限,而不具備寫的權限。
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)進入指定目錄,準備測試下載文件功能
該步驟測試Wu-FTP服務器的下載文件功能。對於匿名用戶來講,最多見的一個功能就是下載文件,從而說明FTP服務器的最大的功效就是文件和資源共享。
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. //以下操做說明下載文件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. //經過以下操做瀏覽下載到本地的文件,發現test.doc已經下載在其中 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)測試刪除權限,操做失敗
最後一個步驟來測試匿名用戶對於Wu-FTP服務器中共享資源的刪除權限情況。實驗證實,匿名用戶通常不具備刪除權限,不然會成爲巨大的安全隱患,共享的資源隨時都會有被刪除的危險,於是須要對該權限實行禁用。
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.