<b>VSFTPD</b>是一款小巧易用FTP伺服器程式,vsftpd 在安全性、高性能及穩定性三個方面有上佳的表現。它提供的主要功能包括虛拟IP設定、虛拟使用者、Standalone、inetd操作模式、強大的單使用者設定能力及帶寬限流等。在安全方面,它從原理上修補了大多數Wu-FTP、ProFTP,乃至BSD-FTP的安裝缺陷,使用安全編碼技術解決了緩沖溢出問題,并能有效避免“globbing”類型的拒絕服務攻擊。目前正在使用vsftpd的官方網站有Red Hat、SuSE、Debian、GNU、GNOME、KDE、Gimp和OpenBSD等。它支援很多其他的 FTP 伺服器不支援的特征。
比如:
非常高的安全性需求
帶寬限制
良好的可伸縮性
建立虛拟使用者的可能性
IPv6支援
中等偏上的性能
配置設定虛拟 IP 的可能性
高速
目錄
ftp原理與vsftp安裝
1.ftp原理
FTP Transfer Protocol 件傳輸協定的縮寫,在RFC 959中具體說明。
FTP會話時包含了兩個通道,一個叫控制通道,一個叫資料通道。
<b>控制通道</b>:控制通道是和FTP伺服器進行溝通的通道,連接配接FTP,發送FTP指令都是通過控制通道來完成的, PI稱為控制連接配接
<b>資料通道</b>:資料通道是和FTP伺服器進行檔案傳輸或者清單的通道。
FTP協定中,控制連接配接均有用戶端發起,而資料連接配接有兩種工作方式:PORT方式和PASV方式,DTP稱為資料連接配接
<b>PORT</b><b>模式(</b><b>主動方式)</b>
FTP 用戶端首先和FTP Server的TCP 21端口建立連接配接,通過這個通道發送指令,用戶端需要接收資料的時候在這個通道上發送PORT指令。 PORT指令包含了用戶端用什麼端口(一個大于1024的端口)接收資料。在傳送資料的時候,伺服器端通過自己的TCP 20端口發送資料。 FTP server必須和用戶端建立一個新的連接配接用來傳送資料。
<b>PASV</b><b>模式(</b><b>被動方式)</b>
在建立控制通道的時候和PORT模式類似,當用戶端通過這個通道發送 PASV 指令的時候,FTP server打開一個位于1024和5000之間的随機端口并且通知用戶端在這個端口上傳送資料的請求,然後FTP server 将通過這個端口進行資料的傳送,這個時候FTP server不再需要建立一個新的和用戶端之間的連接配接傳送資料。
如果從C/S模型這個角度來說,<b>PORT</b><b>對于伺服器來說是OUTBOUND</b><b>,而PASV</b><b>模式對于伺服器是INBOUND</b>,這一點請特别注意,尤其是在使用防火牆的企業裡,這一點非常關鍵,如果設定錯了,那麼客戶将無法連接配接。
[root@localhost /]# <b>rpm -qa |grep vsftpd</b> 查詢是否安裝了vsftpd(提示無)
[root@localhost /]# <b>mkdir /mnt/cdrom</b> 建立挂載光驅目錄檔案
[root@localhost /]# <b>mount /dev/cdrom /mnt/cdrom/ </b>挂載光驅到剛建立目錄
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@localhost /]# <b>cd /mnt/cdrom/Server/</b>
[root@localhost Server]# <b>rpm -ivh vsftpd-2.0.5-12.el5.i386.rpm</b> 安裝vsftp RPM包
warning: vsftpd-2.0.5-12.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:vsftpd ########################################### [100%]
[root@localhost Server]# <b>rpm -qa |grep vsftpd</b>再查詢是否安裝了vsftpd
vsftpd-2.0.5-12.el5
[root@localhost ~]#<b> rpm -qi vsftpd</b> 查詢vsftpd詳細資訊
Name : vsftpd Relocations: (not relocatable)
Version : 2.0.5 Vendor: Red Hat, Inc.
Release : 12.el5 Build Date: 2007年12月13日 星期四 19時35分37秒
Install Date: 2009年12月26日 星期六 00時35分03秒 Build Host: ls20-bc1-14.build.redhat.com
Group : System Environment/Daemons Source RPM: vsftpd-2.0.5-12.el5.src.rpm
Size : 289673 License: GPL
Signature : DSA/SHA1, 2007年12月17日 星期一 23時43分34秒, Key ID 5326810137017186
Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL : http://vsftpd.beasts.org/
Summary : vsftpd - 非常安全 Ftp 守護程序
Description :
vsftpd 是一個非常安全 FTP 守護程序。它是完全從零開始編寫的。
[root@localhost ~]# <b>rpm -ql vsftpd </b> 列出vsftpd中包含檔案
/etc/logrotate.d/vsftpd.log vsftpd的日志檔案
/etc/pam.d/vsftpd PAM認證檔案
/etc/rc.d/init.d/vsftpd 啟動腳本
/etc/vsftpd vsftpd的配置檔案存放的目錄
/etc/vsftpd/ftpusers 禁止使用vsftpd的使用者清單檔案
/etc/vsftpd/user_list 禁止或允許使用vsftpd的使用者清單檔案
/etc/vsftpd/vsftpd.conf 主配置檔案
/etc/vsftpd/vsftpd_conf_migrate.sh vsftpd操作的一些變量和設定
/usr/sbin/vsftpd vsftpd的主程式
其他一些說明文檔和手冊檔案略!
/var/ftp 匿名使用者主目錄
/var/ftp/pub 匿名使用者的下載下傳目錄
[root@localhost /]#<b> service vsftpd start</b> 啟動vsftpd
為 vsftpd 啟動 vsftpd: [确定]
[root@localhost ~]# <b>chkconfig --level 3 vsftpd on</b>打開3級别随系統自動啟動vsftpd
本文轉自viong 51CTO部落格,原文連結:http://blog.51cto.com/viong/261291,如需轉載請自行聯系原作者