简析Suse Linux的xinetd服务

 

简析Suse  Linux的xinetd服务

简析Suse  Linuxxinetd服务 

 摘 要  从4个方面介绍了suse linux操作系统下xinetd服务的使用。 
 关键词  xinetd服务 Suse  Linux 
 Analysis of the xinetd service of Suse Linux 
  
Li Chao Qiao Liang Yang Wa 
 (First-authors address: Meteorological Information Center of Heilongjiang Province) 
  Abstract  Introduced the use of xinetd services based on Suse linux operating system. 
  Keywords  xinetd service;Suse  Linux
  
引言  
   xinetd服务是Unix操作系统一项比较特殊的服务,因为它本身可以负责其他一些网络服务的启动、停止、记录。Xinetd的全称是 eXtended InterNET services daemon,经常用来管理多种轻量级Internet 务,如telnet、 talk、 pop3、 imap 等,有时也用来管理Apache ftp服务。Xinetd 可以在LinuxFreeBSDSolaris等多种Unix操作系统上使用。下面就以Suse Linux 为例,分析一下xinetd服务的特点。本文所使用的 Suse Linux系统版本是Suse Enterprise Server 9,内核版本号是2 6 5-7 97-smpXinetd有点像windows操作系统中的Internet服务管理器,但是比windows的 Internet服务管理器管理的服务更多,而且功能更强大。Xinetd可以为管理的进程记录日志,还可以结合tcp_wrapper对管理的服务进行 安全保护。 
  1 xinetd的启动  
  xinetd程序位于/etc/init d目录下,程序的名称是xinetd。启动方 式有两种:一种是改变工作目录至/etc/init d目录下,在shell提示符后键入 /xinetd start;另外一种是键入xinetd的绝对路径以及程序名和启动参数,/etc/init d/xinetd start。如果为了实现开机自启动,可以参照以下方式创建启动链接。Xinetd服务在Suse Linux 中运行级别3中运行,所以在/etc/rc d/rc3 d中创建启动链接。可以使用chkconfig -l命令察看xientd服务在哪个运行级别中运行。 
# cd /etc/rc d/rc3 d 
# ln  -s  /etc/init d/xinetd  S19xinetd 
# ln  -s /etc/init d/xinetd  K03xinetd 
  2 xinetd的配置  
  xinetd的配置文件为/etc/xinetd conf,配置行如下: 
defaults 
{ 
log_type        = FILE  /var/log/xinetd log  
log_on_success  = HOST EXIT DURATION 
log_on_failure  = HOST ATTEMPT 
#        only_from       = localhost 
instances       = 30 
cps             = 50 10 
} 
  log_type的含义是指定服务log记录方式,File的含义是以普通文件记录日志,日志的文件名为xinetd log,位于/var/log目录下。 
  Log_on_success  
  指定当一个服务启动、退出期间那些信息被记录。 
  Host 记录远程主机IP地址。 
  Exit 记录一个服务推出的信息。 
  Duration 记录一个服务持续的时间。 
  Log_on_failure 
  指定当一个服务不能启动时哪些信息被记录。 
  Host 记录远程主机IP地址。 
  Attempt 记录一次失败的尝试。 
I  nstances指定对于一个服务最多同时可以活动的进程数目,默认是没有限制。这个参数的数值可以是一个具体的整数,也可以是unlimited,没有限制。 
Cps 限定连接的比率,需要有两个值。第一个值是每秒钟可以处理的连接数目,如果系统每秒钟建立的连接数目超过这个值,那么这项服务就会停止。第二个数值指定当 服务停止后,多长时间间隔后,这项服务重新启动。第一个值50表示对于一项服务,每秒最多可以建立50个连接,如果每秒钟建立的连接数超过50,那么这项 服务就会停止。第二个值表示服务在停止后 ,间隔10 秒后启动。 
includedir  /etc/xinetd d 
  指定一个目录,这个目录下的所有文件都被看作xinetd的配置文件,但是排出以“ ”开头的文件,或者以“~”结尾的文件。 
  3 具体服务的配置  
  由xinetd服务启动与管理的服务,其对应的配置文件存放在/etc/xinetd d目录下,下面就以telnet服务和vsftp服务为例,分析一下xinetd如何启动和管理这些服务。 
  telnet服务对应的文件名是telnet,位于/etc/xinetd d目录下,文件内容如下: 
service telnet 
{ 
socket_type     = stream 
protocol        = tcp 
wait            = no 
user            = root 
server          = /usr/sbin/in telnetd 
disable         = no  
} 
   Socket_type表示服务的数据包类型,其中,Stream表示服务的数据包类型。Protocol表示服务的协议, tcp表示的是服务的协议是TCP协议。Wait的值有两个,其中,no表示服务是多线程的,yes表示服务是单线程的。Server的值是启动服务的程 序。Disable的值为两个,no 表示这项服务由xinetd启动,yes表示这项服务不由xinetd启动。这个配置文件就能goy保证xinetd服务启动时,就把telnet服务启 动。 
  Vsftp服务对应的文件名是vsftp,位于/etc/xinetd d目录下,内容如下: 
service ftp 
{ 
        socket_type             = stream 
        protocol                = tcp 
        wait                    = no 
        user                    = root 
        server                  = /usr/sbin/vsftpd 
        disable                 = yes  
} 
   在vsftp配置文件中,disable选项的值是yes,表示vsftp服务不由xientd启动。Vsftp服务有两种启动模式,一种是 standlone模式,一种是xinetd模式。简单解释一下, standalone一次性启动,运行期间一直驻留在内存中,优点是对接入信号反应快,缺点是损耗了一定的系统资源,因此,经常应用于对实时反应要求较高 的专业FTP服务器。xinetd恰恰相反,由于只在外部连接发送请求时才调用FTP进程,因此,不适合应用在同时连接数量较多的系统。此 外,xinetd模式不占用系统资源。除了反应速度和占用资源两方面的影响外,vsftpd还提供了一些额外的高级功能,如xinetd模式支持 per_IP(单一IP)限制,而 standalone模式则更有利于PAM验证功能的应用。 
  如果需要采用standalone模式启 动,只需要在/etc/vsftpd conf加入一行listen=yes即可。Vsftp服务只能采用一种模式启动,如果采用standalone模 式启动,那么xinetd模式启动就需要禁用,所以在/etc/xinetd d 中的vsftp文件中的disable的值是yes。如果是no,在系统启动后,vsftp服务就会无法启动。 
Xinetd对于由xinetd启动的服务,其服务的活动记录在日志文件xinetd log中,位于/var/log目录下。 
  4 结语  
   Linux操作系统是作为现在主流的服务系统,因为其内核精简,运行稳定而在很多方面获得应用。Xinetd服务是Linux操作系统一项重要的服务, 对于系统很多服务都有启动、停止、管理的作用。随着Linux操作系统的使用,对xinetd这项服务的各种特性理解会越来越深。

 

你可能感兴趣的:(简析Suse Linux的xinetd服务)