xinetd 是什么

来源:互联网 发布:linux bc 缩写 编辑:程序博客网 时间:2024/04/30 23:34

节选自:http://blog.sina.com.cn/s/blog_5f5716580100nleu.html

一大堆服务的管理程序。
比如:telnet,ftp等。如果每个服务一个守护进程,太占用资源。
所以就用xinetd统一监听端口,有人用了再把服务启起来。

inetd是一个daemon程序,所有结尾带d的程序都是daemon程序,也就是守护程序
守护程序分为2种处理模式:
第一个是stand alone状态的,表示该程序始终监听,一直处于运行状态,例如httpd
第二个是super daemon,它始终处于sleep状态,直到有人唤醒它,xinetd就是一个super daemon,但它的使命是将一个请求转给其他服务,也就是服务的管理者

xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器,常用来管理多种轻量级Internet服务。
xinetd提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。

1) /etc/xinetd.conf

xinetd的配置文件是/etc/xinetd.conf,但是它只包括几个默认值及 /etc/xinetd.d目录中的配置文件。如果要启用或禁用某项xinetd服务,编辑位于/etc/xinetd.d目录中的配置文件。例如,disable属性被设为yes,表示该项服务已禁用;disable属性被设为no,表示该项服务已启用。
/etc/xinetd.conf有许多选项,下面是RHEL 4.0的/etc/xinetd.conf。

# Simple configuration file for xinetd

# Some defaults, and include /etc/xinetd.d/

defaults

{

instances             = 60

log_type               = SYSLOG authpriv

log_on_success       = HOST PID

log_on_failure       = HOST

cps                   = 25 30

}

includedir /etc/xinetd.d

— instances = 60:表示最大连接进程数为60个。

— log_type = SYSLOG authpriv:表示使用syslog进行服务登记。

— log_on_success= HOST PID:表示设置成功后记录客户机的IP地址的进程ID。

— log_on_failure = HOST:表示设置失败后记录客户机的IP地址。

— cps = 25 30:表示每秒25个入站连接,如果超过限制,则等待30秒。主要用于对付拒绝服务攻击。

— includedir /etc/xinetd.d:表示告诉xinetd要包含的文件或目录是/etc/xinetd.d。

2) /etc/xinetd.d/*

下面以/etc/xinetd.d/中的一个文件(rsync)为例。

service rsync

{

disable = yes

socket_type      = stream

wait              = no

user              = root

server           = /usr/bin/rsync

log_on_failure += USERID

}

下面说明每一行选项的含义。

— disable = yes:表示禁用这个服务。

— socket_type = stream:表示服务的数据包类型为stream。

— wait = no:表示不需等待,即服务将以多线程的方式运行。

— user = root:表示执行此服务进程的用户是root。

— server = /usr/bin/rsync:启动脚本的位置。

— log_on_failure += USERID:表示设置失败时,UID添加到系统登记表。

 

xinetd的一个重要功能是它能够控制从属服务可以利用的资源量,通过它的以上设置可以达到这个目的,有助于防止某个xinetd服务占用大量资源,从而导致“拒绝服务”情况的出现。

原创粉丝点击