在最新的各大發(fā)行版中的安裝盤中都有vsftpd的軟件包,您用相應(yīng)發(fā)行版提供的軟件包管理工具就能安裝上;當(dāng)然您可以到各大發(fā)行版的ftp鏡像中找到vsftpd的軟件包;當(dāng)然也能用軟件包的管理工具在線安裝;vsftpd的軟件包本來不大,花不了多長(zhǎng)時(shí)間,兩分鐘就夠了吧。因?yàn)楸疚氖浅鯇W(xué)者教程,我嚴(yán)重推薦您用發(fā)行版提供的軟件來安裝,不推薦您自己來編譯源碼包的安裝方式;
如果您用的是fedora 或redhat 系統(tǒng),可以用下面的命令在線安裝;
[root@localhost ~]# yum install vsftpd
如果是debian 類系統(tǒng),可以用apt 來在線安裝;
[root@localhost ~]# apt-get install vsftpd
如果您是rpm的系統(tǒng),也可以找到vsftpd-xxxx.rpm 的包來通過rpm命令來安裝;
[root@localhost ~]# rpm -ivh vsftpd*.rpm
您可以下載源碼包來安裝
比如我們下載的是 vsftpd-2.0.3.tar.gz ;
[root@localhost ~]# tar zxvf vsftpd-2.0.3.tar.gz
[root@localhost ~]# cd vsftpd-2.0.3
[root@localhost ~]# make ;make install
[root@localhost ~]# cp vsftpd.conf /etc然后修改/etc/vsftpd.conf ,在配置文件的最后一行加入下面一行;
listen=yes
源碼包安裝的方法,如果您的系統(tǒng)是rpm包管理的系統(tǒng),可以刪除/etc/xinetd.d/vsftpd 這個(gè)文件;然后啟動(dòng)xinetd 服務(wù)器;
[root@localhost ~]# /etc/init.d/xinetd restart
停止 xinetd: [ 確定 ]
啟動(dòng) xinetd: [ 確定 ]vsftpd運(yùn)行有兩種模式,在rpm包管理的系重審統(tǒng),大多是由fedora/redhat 開發(fā)而來,對(duì)于這樣的系統(tǒng)有xinted服務(wù)器一說;對(duì)于非rpm包管理的系統(tǒng),一般沒有xinted這一說。為了保證本文檔的統(tǒng)一,我們都不要用xinetd模式,而用initd運(yùn)行模式來啟動(dòng)和管理服務(wù)器,也就是獨(dú)立運(yùn)行模式。
什么是xinetd模式和initd模式
像其它守護(hù)程序一樣,vsftpd提供了standalone和inetd(inetd或xinetd)兩種運(yùn)行模式。簡(jiǎn)單解釋一下, standalone一次性啟動(dòng),運(yùn)行期間一直駐留在內(nèi)存中,優(yōu)點(diǎn)是對(duì)接入信號(hào)反應(yīng)快,缺點(diǎn)是損耗了一定的系統(tǒng)資源,因此經(jīng)常應(yīng)用于對(duì)實(shí)時(shí)反應(yīng)要求較高的專業(yè)ftp服務(wù)器。inetd恰恰相反,由于只在外部連接發(fā)送請(qǐng)求時(shí)才調(diào)用ftp進(jìn)程,因此不適合應(yīng)用在同時(shí)連接數(shù)量較多的系統(tǒng)。此外,inetd模式不占用系統(tǒng)資源。除了反應(yīng)速度和占用資源兩方面的影響外,vsftpd還提供了一些額外的高級(jí)功能,如inetd模式支持per_ip(單一ip)限制,而 standalone模式則更有利于pam驗(yàn)證功能的應(yīng)用。
1.xinetd運(yùn)行模式
大多數(shù)較新的系統(tǒng)采用的是xinetd超級(jí)服務(wù)守護(hù)進(jìn)程。使用“vi /etc/xinetd.d/vsftpd” 看一下它的內(nèi)容,如下:
disable = no
socket_type = stream
wait = no
# 這表示設(shè)備是激活的,它正在使用標(biāo)準(zhǔn)的tcp sockets。
如果“/etc/vsftpd.conf”中的有選項(xiàng)為“l(fā)isten=yes”,注銷它
最后,重啟xinetd,命令如下:
$ /etc/rc.d/init.d/xinetd restart
需要注意的是,“/etc/xinetd.d”目錄中僅能開啟一個(gè)ftp服務(wù)。2.standalone模式
standalone模式便于實(shí)現(xiàn)pam驗(yàn)證功能。進(jìn)入這種模式首先要關(guān)閉xinetd下的vsftpd,設(shè)置
“disable = yes”,或者注銷掉“/etc/inetd.conf”中相應(yīng)的行。然后修改“/etc/vsftpd.con
f”中的選項(xiàng)為“l(fā)isten=yes”。
如果是standlone模式,那么它是作為單獨(dú)的一個(gè)服務(wù)啟動(dòng)的,不需要系統(tǒng)協(xié)作,不作為系統(tǒng)服務(wù),
如果要是成為xinetd模式,那么它的服務(wù)就要受系統(tǒng)服務(wù)的限制,比如創(chuàng)建一個(gè)新的服務(wù)進(jìn)程,但是也有缺點(diǎn),如果xinetd服務(wù)本身出了問題,那么相關(guān)的服務(wù)也是會(huì)受到影響的。
xinetd模式和standalone模式的區(qū)別
以xinetd模式運(yùn)行的服務(wù)表示該服務(wù)進(jìn)程并不以守護(hù)進(jìn)程執(zhí)行,以ftpd進(jìn)程為例吧,以xinetd模式運(yùn)行這個(gè)服務(wù),情況是這樣的,本身ftp服務(wù)是會(huì)監(jiān)聽21號(hào)端口的,但是以這種模式運(yùn)行這個(gè)服務(wù)的話,21號(hào)端口則由xinetd進(jìn)程來監(jiān)聽(此時(shí)ftpd服務(wù)并沒有運(yùn)行),如果你的網(wǎng)卡接收到有21號(hào)端口請(qǐng)求,則有xinetd進(jìn)程會(huì)去調(diào)用ftpd程序,將在21號(hào)端口接收到的請(qǐng)求數(shù)據(jù)移交給ftpd進(jìn)程去處理,處理完后ftpd進(jìn)程退出,而xinetd進(jìn)程繼續(xù)監(jiān)聽21號(hào)端口,這有點(diǎn)類似windows的svhost進(jìn)程;而以 standalone模式運(yùn)行的服務(wù)則是服務(wù)進(jìn)程,如ftpd以守護(hù)進(jìn)程在內(nèi)存中運(yùn)行,接收到21號(hào)端口的請(qǐng)求后由ftpd進(jìn)程fork出一個(gè)子進(jìn)程進(jìn)行處理,而原進(jìn)程繼續(xù)監(jiān)聽21號(hào)端口。