ArchLinux配置vsftp服務器


采用vsftpd配置archlinux為ftp服務器。

什么是xinetd模式和initd模式

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

xinetd運行模式

大多數較新的系統采用的是xinetd超級服務守護進程。使用“vi /etc/xinetd.d/vsftpd” 看一下它的內容,如下:

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

如果“/etc/vsftpd.conf”中的有選項為“listen=YES”,注銷它

最后,重啟xinetd,命令如下:

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

需要注意的是,“/etc/xinetd.d”目錄中僅能開啟一個FTP服務。

standalone模式

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

 “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 未執行請求的的命令,名稱不正確。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM