ArchLinux配置vsftp服務器

採用vsftpd配置archlinux爲ftp服務器。html

什麼是xinetd模式和initd模式linux

像其它守護程序同樣,vsftpd提供了standalone和inetd(inetd或xinetd)兩種運行模式。簡單解釋一下, standalone一次性啓動,運行期間一直駐留在內存中,優勢是對接入信號反應快,缺點是損耗了必定的系統資源,所以常常應用於對實時反應要求較高的專業FTP服務器。inetd偏偏相反,因爲只在外部鏈接發送請求時才調用FTP進程,所以不適合應用在同時鏈接數量較多的系統。此外,inetd模式不佔用系統資源。除了反應速度和佔用資源兩方面的影響外,vsftpd還提供了一些額外的高級功能,如inetd模式支持per_IP(單一IP)限制,而 standalone模式則更有利於PAM驗證功能的應用。vim

xinetd運行模式windows

大多數較新的系統採用的是xinetd超級服務守護進程。使用「vi /etc/xinetd.d/vsftpd」 看一下它的內容,以下:服務器

disable = no socket_type = stream wait = no # 這表示設備是激活的,它正在使用標準的TCP Sockets。

若是「/etc/vsftpd.conf」中的有選項爲「listen=YES」,註銷它socket

最後,重啓xinetd,命令以下:測試

$ /etc/rc.d/init.d/xinetd restart

須要注意的是,「/etc/xinetd.d」目錄中僅能開啓一個FTP服務。spa

standalone模式.net

 standalone模式便於實現PAM驗證功能。進入這種模式首先要關閉xinetd下的vsftpd,設置rest

 「disable = yes」,或者註銷掉「/etc/inetd.conf」中相應的行。而後修改「/etc/vsftpd.conf」中的選項爲「listen=YES」若是是standlone模式,那麼它是做爲單獨的一個服務啓動的,不須要系統協做,不做爲系統服務,若是要是成爲xinetd模式,那麼它的服務就要受系統服務的限制,好比建立一個新的服務進程,可是也有缺點,若是xinetd服務自己出了問題,那麼相關的服務也是會受到影響的。

xinetd模式和standalone模式的區別

以xinetd模式運行的服務表示該服務進程並不以守護進程執行,以FTPD進程爲例吧,以xinetd模式運行這個服務,狀況是這樣的,自己FTP服務是會監聽21號端口的,可是以這種模式運行這個服務的話,21號端口則由xinetd進程來監聽(此時FTPD服務並無運行),若是你的網卡接收到有21號端口請求,則有xinetd進程會去調用FTPD程序,將在21號端口接收到的請求數據移交給FTPD進程去處理,處理完後FTPD進程退出,而xinetd進程繼續監聽21號端口,這有點相似windows的svhost進程;而以 standalone模式運行的服務則是服務進程,如ftpd以守護進程在內存中運行,接收到21號端口的請求後由FTPD進程fork出一個子進程進行處理,而原進程繼續監聽21號端口。

 

安裝vsftpd

sudo pacman -S vsftpd

 

配置/etc/vsftpd.conf

sudo vim /etc/vsftpd.conf

容許匿名登錄

anonymous_enable=YES

vsftp匿名用戶爲ftp,其根目錄爲/srv/ftp

 

客戶端登錄測試

 

響應:    227 Entering Passive Mode (10,0,2,15,104,175).
命令:    LIST
錯誤:    20 秒後無活動,鏈接超時
錯誤:    讀取目錄列表失敗

 

數據端口沒法讀取。

今天看到有人說是內核與seccomp兼容問題,看看如何解決。

 

解決方案: 在vsftpd.conf中添加

seccomp_sandbox=NO

至此解決了vsftd.conf的問題。

 個人vsftpd.conf

vsftpd配置詳解

 

 

FTP 數字代碼的意義 

110 從新啓動標記應答。 
120 服務在多久時間內 ready 。 
125 數據鏈路端口開啓,準備傳送。 
150 文件狀態正常,開啓數據鏈接端口。 
200 命令執行成功。 
202 命令執行失敗。 
211 系統狀態或是系統求助響應。 
212 目錄的狀態。 
213 文件的狀態。 
214 求助的訊息。 
215 名稱系統類型。 
220 新的聯機服務 ready 。 
221 服務的控制鏈接端口關閉,能夠註銷。 
225 數據連結開啓,但無傳輸動做。 
226 關閉數據鏈接端口,請求的文件操做成功。 
227 進入 passive mode 。 
230 使用者登入。 
250 請求的文件操做完成。 
257 顯示目前的路徑名稱。 
331 用戶名稱正確,須要密碼。 
332 登入時須要帳號信息。 
350 請求的操做須要進一部的命令。 
421 沒法提供服務,關閉控制連結。 
425 沒法開啓數據鏈路。 
426 關閉聯機,終止傳輸。 
450 請求的操做未執行。 
451 命令終止 : 有本地的錯誤。 
452 未執行命令 : 磁盤空間不足。 
500 格式錯誤,沒法識別命令。 
501 參數語法錯誤。 
502 命令執行失敗。 
503 命令順序錯誤。 
504 命令所接的參數不正確。 
530 未登入。   

532 儲存文件須要帳戶登入。 

550 未執行請求的操做。

551 請求的命令終止,類型未知。 
552 請求的文件終止,儲存位溢出.

553 未執行請求的的命令,名稱不正確。

相關文章
相關標籤/搜索