Chinaunix首页 | 论坛 | 博客
  • 博客访问: 313803
  • 博文数量: 71
  • 博客积分: 1450
  • 博客等级: 上尉
  • 技术积分: 715
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-11 16:56
文章分类

全部博文(71)

文章存档

2010年(2)

2009年(12)

2008年(19)

2007年(38)

分类: LINUX

2007-04-19 16:30:38

3

上面的列表是xinetd可用的所有属性,然而,针对一个服务你并不需要指定上面所有的属性,其实必需的属性只有下面几个:

Xinetd 设定服务必须的属性

属性

适用范围

socket_type

所有服务

user

Non_internal service only 非内部服务

server

Non_internal service only 非内部服务

wait

所有服务

protocol

不在/etc/services中的所有RPC服务和所有其他服务

rpc_vision

所有RPC服务

rpc_number

不列在/etc/rpc中的任何RPC服务

port

不在/etc/services中的非RPC服务

 

4

对于大多数的服务而言,在针对一个服务的设定中只能出现一次,并只支持=操作符;然而,下面的六个属性可以支持多个操作符:

支持多操作符的属性

属性

支持范围

only_from

支持所有操作符

no_access

log_on_success

log_on_failure

passenv

env

不支持-=操作符

5

defaults项是实现为所有服务指定某些属性的默认值。这些默认值可被每个服务项取消或修改。下表列出可在defaults项中指定的属性。这个表也指明了具体服务项中可以修改哪些属性。

可用的defaults属性

属性

适用范围

log_on_success

可以用=操作符改写或用+ = - =操作符修改

log_on_failure

only_from

no_access

passenv

instances

可以用=操作符改写

log_type

disabled

注释掉的服务

enabled

指定启用的服务

 disabledenabled

前者的参数是禁用的服务列表,后者的参数是启用的服务列表。他们的共同点是格式相同(属性名 服务名列表,服务中间用空格分开,例如:disabled = in.tftpd in.rexecd);此外,它们都是作用于全局的。如果指定了disabled列表被指定,那么无论包含在列表中的服务是否有配置文件和如何设置,都将被禁用;如果enabled列表被指定,那么只有列表中的服务才可启动,如果enabled没有被指定,那么disabled指定的服务之外的所有服务都可以启动。

我 们首先看一个简单的例子。例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地址

IPaddress
点和十进制形式的标准IP地址,如192.168.0.1

Net_name
/etc/networks中的网络名

x.x.x.0 x.x.0.0

x.0.0.0 0.0.0.0
0作为通配符看待。如项88.3.92.0匹配从88.3.92.0到88.3.92.255的所有IP地址。项0.0.0.0匹配所有地址

x.x.x.{a,b,…}

x.x{a,b,…}

x.{a,b,…}
指定主机表。如172.19.32.{1,56,59}意味着含IP地址172,19.32.1,172.19.32.56和172.19.32.59的表

Ipaddress/netmask 
定义要匹配的网络或子网。如172.19.16.0/20匹配从172.19.16.0到172.19.31.255的所有地址




在看了这些基本属性之后,下面我们仔细讨论那些必需的属性,特定服务和一些配置实例。


必需的属性

对每种服务都必须指定某些属性。一些服务比其他服务需要更多属性,因为它们不被缺省定义(即不在/etc/services或/etc/rpc中)。表3列出了必需的属性。

表3 必需的属性

语 法
描 述

Socket_type
所有服务

Wait
所有服务

User
在/etc/services或/etc/rpc中列出的服务

Server
非内部服务

Port
不在/etc/services中的非RPC服务

Protocol
不在/etc/services中的所有RPC服务和所有其他服务

Rpc_version
所有RPC服务

Rpc_number
不列在/etc/rpc中的任何RPC服务
阅读(975) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~