ftp運行的兩種模式——xinetd運行模式和 standalone模式


像其它守護程序一樣,vsftpd提供了standalone和inetd(inetd或xinetd)兩種運行模式。簡單解釋一下, standalone一次性啟動,運行期間一直駐留在內存中,優點是對接入信號反應快,缺點是損耗了一定的系統資源,因此經常應用於對實時反應要求較高的 專業FTP服務器。inetd恰恰相反,由於只在外部連接發送請求時才調用FTP進程,因此不適合應用在同時連接數量較多的系統。此外,inetd模式不 占用系統資源。除了反應速度和占用資源兩方面的影響外,vsftpd還提供了一些額外的高級功能,如inetd模式支持per_IP(單一IP)限制,而 standalone模式則更有利於PAM驗證功能的應用。
1.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服務。
2.standalone模式
  standalone模式便於實現PAM驗證功能。進入這種模式首先要關閉xinetd下的vsftpd,設置
“disable = yes”,或者注銷掉“/etc/inetd.conf”中相應的行。然后修改“/etc/vsftpd.con
f”中的選項為“listen=YES”。
 
---------------------------------
The difference between "standalone mode" and "xinetd mode" is who will accept   the initial connection request. The "standalone mode" will accept the request   by itself, but "xinetd mode" will use xinetd to accept the request, fork a   server process, and redirect the connection to the new process.
 
如果是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號端口。


免責聲明!

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



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