Redhat 7.x 中xinetd完全指南( 三 )



Redirect
该属性语法为redirect=Ipaddress;port 。它把TCP服务重定向到另一个系统 。如果使用该属性,就忽略server属性

Bind
把一项服务绑定到一个特定端口 。语法是bind=Ipaddress 。这样有多个接口(物理的或逻辑的)的主机允许某个接口但不是其他接口上的特定服务(或端口)

Log_on_success
指定成功时登记的信息 。可能值是

PID:进程的PID 。如果一个新进程没被分叉,PID设置为0 。

HOST:客户机主机IP地址

USERID:通过RFC1413高用捕获客户机用户的UID 。只可用于多线程流服务 。

EXIT:登记进程终止和状态

DURATION:登记会话持续期

缺省时不登记任何信息 。该属性支持所有操作符

Log_on_failure
指定失败时登记的信息 。总是登记表明错误性质的消息 。可能值是ATTEMPT:记录一次失败的尝试 。所有其他值隐含为这个值 。

HOST:客户机主机IP地址

USERID:通过RFC1413调用捕获客户机用户的UID 。只

可用于多线程流服务 。

RECORD:记录附加的客户机信息如本地用户,远程用户

和终端的类型 。缺省时不登记任何信息 。该属性支持所有操作符 。

Disabled
只可用于defaults项(参看本小节后面的defaults项),指定被关闭的服务列表,是用空格分开的不可用服务列表来表示的 。它和在/etc/xinetd.conf文件中注释掉该服务项有相同的效果 。


我们首先看一个简单的例子 。例1是配置文件/etc/xinetd.conf的一个范例 。这两种服务的定义看上去像/etc/inetd.conf的原因是因为它们是用itox工具从/etc/inetd.conf转换得来的,只把/etc/inetd.conf项对应转换成适当的xinetd语法 。这样,这些属性(在大括号中的=号的左边)意义是非常直接的,其相关值(在大括号中的=号的右边)也是如此 。

例1 文件/etc/xinetd.conf中的一部分

Serice;ftp

{

Socket_type=stream

protocol=tcp

wait=no

user=root

server=root

Server_args=;-;1 -;a

}

Service;telnet

{

Socket_type=stream

protocol=tcp

wait=tcp

user=root

server=/usr/sbin/in.telnetd
}


创建/etc/xinetd.conf文件最容易的方法是用itox工具(该例假定当前工作目录是xinetd的编译目录):

#;xinetd/itox -daemon_dir;/usr/sbin /etc/xinetd.conf 。itox的参数-daemon_dir;/usr/sbin指定服务程序的目录位置,如果实现了TCP_Wrappers,从/etc/inetd.conf中是不能确定它的,转换完成以后,就开始增加属性和值,以限制访问并增加登记,最后要手工修改/etc/xinetd.conf以充分利用xinetd的特性;否则,如果只把/etc/inetd.conf转换为/etc/xinetd.conf,;xinetd的行为就和inetd一样了 。

表1详述了在/etc/xinetd.conf中最常使用的一些属性和值 。当然还有许多其他属性,详细配置选项可以在安装xinetd以后通过man;xinetd.conf来得到 。在本小节后面的“配置实例”中,将用一些例子阐明其中的许多属性 。

表2中给出only_from和no_access表的语法,定义了指定主机名,IP地址和网络的语法 。注意表2中最后一项netmask的语法和之前看到的有所不同 。它没有采用传统的十进制或十六进制netmask的表示方法,而是采用一个整数表示从netmask(用二进制表示)的最高位(最左端)开始起每位都为1的位数 。因此,给定例子的netmask值设置为20,意味着其最左端的20位都设置为1,而余下12位设置为0,或

11111111 ;11111111 11110000 00000000

它是十进制netmask255.255.240.0的二进制表示 。

表2;/etc/xinetd.conf的访问控制表的语法

语法
描述

hostname
可解析的主机名 。使用和这个主机名相关的所有IP地址

推荐阅读