【转】 ftp运行的两种模式——xinetd运行模式和 standalone模式

ftp运行的两种模式——xinetd运行模式和 standalone模式

原文链接 http://blog.chinaunix.net/uid-22889411-id-59432.html

像其它守护程序一样,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号端口。
如有错误,敬请指正。

时间: 2024-10-07 04:50:45

【转】 ftp运行的两种模式——xinetd运行模式和 standalone模式的相关文章

C# 禁止windows程序重复运行的两种基本方法

一般的如果运行一个软件.让他处于运行状态,然后我们再去打开这个程序时就会提示我们“程序已启动或者不能重复启动此程序”,比如QQ对战平台 ,就限制一台机子启动两个QQ对战平台,那么他在C#中是如何实现的呢? 一般有两种方法,我是用的是第一种 方法1: 在项目的第一个窗体的启动事件中 如form1_load() 中添加如下语句=================================这是什么分割线==================================== #region 判断系

给予ftp服务的两种登录方式

ftp(简单文件传输协议),是一种应用广泛的网络文件传输协议和服务,占用20和21号端口,主要用于资源的上传和下载. 在linux对于ftp同widows一样具有很多的种类,这里主要介绍vsfptd 的两种登录方法(本地登录和虚拟登录)极其一些主要的配置 首先用yum安装vsftpd 启动ftp服务 :service vsfptd restart 把其加入到开机项 /etc/vsftpd/vsftpd.conf为ftp的主要配置文件 禁止匿名登录用本地创建的账号登录ftp 服务器 虚拟环境登录f

tomcat后台运行的两种方法

我们使用tomcat 启动一个新的项目,会出现一个窗口.如果有人需要使用这台电脑的时候,就很容易关掉tomcat 导致程序停止运行.为避免这种错误把tomcat设置为后台运行. 下面两种方法实现tomcat 后台运行: 一.修改tomcat里面的配置 1.找到tomcat下bin/setclasspath.bat文件,右键EditPlus打开. 2.在文件中找到 set_RUNJAVA="%JRE_HOME\bin\java", 并修改为set_RUNJAVA="%JRE_H

Python基础:Python运行的两种基本方式

完成Python的安装之后,我们可以开始编写Python代码以及运行Python程序了.我们来看一下运行Python具体有哪几种方式 1.REPL 所谓REPL即read.eva.print.loop(读取.计算.打印.循环),实现REPL运行方式有以下两种: ①IDLE ②Windows命令提示符 打开Windows命令提示符 如图,输入python开始编写python代码,当想要退出时按ctrl+z,然后回车,再次进入时继续输入python 2.运行脚本 REPL方式的优点是简单明了,但是它

HTML5定稿了,终于有一种编程语言开发的程序可以在Android和IOS两种设备上运行了

2007 年 W3C (万维网联盟)立项 HTML5,直至 2014 年 10 月底,这个长达八年的规范终于正式封稿. 过去这些年,HTML5 颠覆了 PC 互联网的格局,优化了移动互联网的体验,接下来,HTML5 将颠覆原生 App 世界.这听起来有点危言耸听,但若认真分析 HTML5 的发展史,你会发现,这个世界的发展趋势确实就是这样. 熟知历史才能预知未来,先让我们来看看 HTML5 为什么诞生.这 8 年是怎么过来的. 一. HTML5 的诞生 自 W3C 于 1999 年发布 HTML

linux下ftp搭建的两种方式(个人笔记)

1. 搭建FTP服务器 FTP是文件传输协议,正是由于这种协议使得主机间可以共享文件. FTP 使用TCP生成一个虚拟连接用于控制信息,然后再生成一个单独的TCP 连接用于数据传输. vsftpd是一款在Linux发行版中最主流的FTP服务器程序:特点是小巧轻快,安全易用:能让其自身特点得发发挥和掌握. 目前在开源操作系统中常用的FTP服务器程序主要有vsftpd.ProFTPD.PureFTPd和wuftpd等,这么多FTP服务器程序,关键在于自己熟练哪一个就使用哪一个.今天我们来研究一下VS

C++实现程序单实例运行的两种方式

简介 在我们编写程序的时候,经常会注意到的一个问题就是如何能够让程序只运行一个实例,确保不会让同一个程序多次运行,从而产生诸多相同进程,给我们的带来不便呢?那么常用的有以下四种方法,第一种方法是通过扫描进程列表比对进程名来检测,第二种方法是通过枚举程序窗口的方式,第三种方法是采用共享全局变量来实现,第四种方法是通过创建互斥体来实现. 那么在这些方法中,第一种和第二种方法是有缺陷的,扫描进程列表比对进程名容易对相同进程名字的不同程序产生误报,枚举窗口不适用于无窗口程序且与扫描进程列表的方法也有相同

两种高效的事件处理模型:Reactor模式和Proactor模式

随着IO多路复用技术的出现,出现了很多事件处理模式.同步I/O模型通常由Reactor模式实现,而异步I/O模型则由Proactor模式实现. Reactor模式: Reator类图如上所示,Reactor模式又叫反应器或反应堆,即实现注册描述符(Handle)及事件的处理器(EventHandler),当有事件发生的时候,事件多路分发器(Event Demultiplexer)做出反应,调用事件具体的处理函数(ConcreteEventHandler::handle_event()). Rea

web项目嵌入Jetty运行的两种方式(Jetty插件和自制Jetty服务器)

在开发Java web项目时候,可以在项目中嵌入Jetty服务的方式来运行web程序. 由于最近开发web项目,自己使用的是比较旧的eclipse不支持导入tomcat来运行项目,于是就学习了下使用项目中Jetty来运行项目. 采用Jetty Plugin 在pom文件中引入Jetty Plugin配置即可: <properties>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>