天天看點

Linux服務之FTP

使用linux搭建FTP伺服器不僅功能較windows多,而且在安全性上也是值得放心的。那麼如何用linux搭建FTP伺服器呢?别着急,耐心看完本文,相信你掌握使用linux作業系統搭建FTP伺服器的。用linux搭建FTP伺服器的方法很多,本文以linux自帶的vsftpd來搭建FTP。vsftpd是一個安全、高速、穩定的FTP伺服器。

Linux服務之FTP

一:安裝、啟動vsftpd

·vsftpd的安裝很簡單,按如下步驟依次完成

首先檢查系統是否已安裝了vsftpd,若沒有,放入第二張CD光牒并挂載光驅,完成後進入/mnt/cdrom/RedHat/RPMS目錄。接着查找以vs開頭的檔案,找到後用rpm -ivh 安裝該軟體,安裝完成後再使用rpm -qa | grep  vsftpd 檢視是否安裝正确。确認無誤後進入根目錄,解除安裝光驅,彈出CD光牒。

Linux服務之FTP

提示:我的系統由于使用系統最小化安裝,在安裝過程中出現

[root@dianxin fly]# rpm -ivh vsftpd-1.1.3-8.i386.rpm

warning: vsftpd-1.1.3-8.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e

error: Failed dependencies:

libcap.so.1 is needed by vsftpd-1.1.3-8

經查資料,系統發現少了libcap.so.1包。插入第一張CD光牒并安裝libcap包後,vsftpd安裝成功。

·安裝完成後使用service  vsftpd start啟動vsftpd,這樣FTP伺服器便搭建完成。但此時還不能通路FTP伺服器,因為伺服器預設情況下關閉了防火牆,此時我們還需使用service iptables stop指令關閉防火牆,這樣用戶端才可以通路FTP伺服器。

·用戶端測試

Linux服務之FTP

二:配置vsftpd

雖然vsftpd已經搭建完成,客戶機可以通路FTP伺服器資源了,但功能實在少的可憐。隻有vsftpd的預設功能。此時你一定在想,系統預設功能有哪些呢?呵呵,我把預設的功能列出來

·vsftp預設功能

1>允許匿名使用者和本地使用者登陸。

2>匿名使用者使用的登陸名為ftp或anonymous,密碼為空;匿名使用者不能離開匿名伺服器沒目錄/var/ftp,且隻能下載下傳不能上傳。

3>本地使用者的登入名為本地使用者名,密碼為此本地使用者的密碼;本地使用者可以離開自家目錄切換至有權通路的其他目錄,并在權限允許的情況下進行下載下傳/上傳

4>寫在檔案/etc/vsftpd.ftpusers中的本地使用者禁止登陸。

·給匿名使用者上傳權限

vsftpd的預設功能已經可以滿足小型FTP伺服器的需求了,不過有時我們需要用戶端使用匿名帳戶登陸FTP伺服器,而且要求用戶端可以上傳檔案到伺服器。而預設情況下匿名使用者不允許上傳檔案,此時我們需要修改vsftpd配置檔案了

用VI打開/etc/vsftpd/vsftpd.conf(vsftpd的配置檔案,FTP的功能強大不強大,主要看在配置檔案中的配置),将anon_upload_enable=YES、anon_mkdir_write_enable=YES兩個指令前的“#”号删除,并在檔案中添加anon_other_write_enable=YES、anon_world_readeable_only=NO兩條指令。wq儲存後在用戶端使用匿名帳戶登陸伺服器才有上傳權限。

其中

anon_uplood_enable=YES表示匿名帳戶可以上傳檔案

anon_mkdir_write_enable=YES表示匿名帳戶可以建立目錄

anon_other_write_enable=YES表示匿名帳戶可以為檔案、檔案夾進行更名以及删除。

在完成上述三個指令後,便可使用匿名使用者對伺服器上傳檔案了。但這樣配置後卻又不能使用FTP下載下傳檔案了,是以加入anon_world_readeable_only=NO,使匿名使用者即可上傳檔案又可下載下傳檔案。

Linux服務之FTP

檔案修改完成後重新啟動vsftpd服務,使修改生效。這樣客戶機才可以使用匿名使用者上傳下載下傳檔案。

Linux服務之FTP

·權限的設定

1>控制允許/不允許通路的主機

在vsftpd.conf檔案最後一行有一條指令:TCP_wrappers=YES,表示vsftpd伺服器與TCP wrappers相結合,進行主機的通路控制。這樣客戶機在通路vsftpd伺服器時,伺服器會檢查/etc/hosts.allow和/etc/hosts.deny中的設定以決定請求連接配接的主機是否允許連接配接到伺服器。這兩個檔案可以起到簡易防火牆的功能。

具體設定如下:

想要拒絕某個IP通路此伺服器,可以在/etc/hosts.deny檔案中加入vsftpd:192.168.0.18:deny

all:all:allow

想要允許某個IP段通路此伺服器,可以在/etc/hosts.allow檔案中加入

vsftpd:192.168.0:allow

all:all:deny

Linux服務之FTP

2>通路速度的限制

在vsftpd.conf檔案最後一行加入anon_max_rate=    (機關B),這樣匿名使用者在下載下傳或上傳檔案是最大速度為設定的值。同理想要對本地使用者進行設定,隻要加入local_max_rate=    (機關B)即可完成對本地使用者的速度限制。

Linux服務之FTP

3>線程數的限制

在vsftpd.conf檔案中加入max_per_ip=   (0表示不限制),可以防止一些人使用多線程下載下傳資源,占用伺服器的帶寬、資源。這樣當客戶機使用的線程數超過伺服器的最大限制時,将出現如圖界面。

4>最大客戶連接配接限制

在vsftpd.conf檔案中加入max_clients=   (0表示不限制),可以防止因客戶連接配接數過多而導緻伺服器記憶體占滿,當機。當客戶機數超過伺服器所設定的最大值時,用戶端出現如圖界面

Linux服務之FTP

以上4步輸入的指令的截圖

Linux服務之FTP

·其他功能

1>設定日志記錄

有了日志記錄,在伺服器上可以就檢視哪些IP通路了FTP伺服器,下載下傳、上傳了哪些資源等等,一目了然。vsftpd伺服器預設情況下已經開啟了日志記錄功能,但我們必須對它進行更好的設定。

打開vsftpd.conf檔案,删除hferlog_filt=/var/log/vsftpd.log前的“#”号。

Linux服務之FTP

這樣在重新開機vsftpd服務後便可在/var/log/vsftpd.log檔案中檢視日志記錄了。

Linux服務之FTP

2>設定使用者登陸的主目錄

預設情況下用匿名使用者登陸FTP伺服器後會進入/var/ftp目錄,而本地使用者登陸伺服器後進入/home下的使用者主目錄中。我們可以vsftpd.conf檔案中加入local_root=/web,這樣在使用本地使用者登陸FTP伺服器後自動進入/web目錄中。

Linux服務之FTP
Linux服務之FTP

通過以上設定,我們已經完成了vsftpd伺服器的搭建,當然vsftpd還有許多功能,隻是不常用罷了!如果想了解vsftpd更多功能,點我吧

繼續閱讀