http://mosquito.blog.51cto.com/2973374/1078683
######################################
- # /etc/services:
- # $Id: services,v 1.40 2004/09/23 05:45:18 notting Exp $
- # service-name port/protocol [aliases ...] [# comment]
- tcpmux 1/tcp # TCP port service multiplexer
- tcpmux 1/udp # TCP port service multiplexer
- rje 5/tcp # Remote Job Entry
- rje 5/udp # Remote Job Entry
- echo 7/tcp
- echo 7/udp
- discard 9/tcp sink null
- discard 9/udp sink null
- ………
- 服务名 端口/协议 别名 #注释
- # grep -i 'disable' /etc/xinetd.d/* //查看Xinetd服务状态
- defaults
- {
- # The next two items are intended to be a quick access place to
- # temporarily enable or disable services. //启动、停止服务
- # enabled =
- # disabled =
- # Define general logging characteristics. //日志选项
- log_type = SYSLOG daemon info //日志的记录级别(共7级)
- log_on_failure = HOST //发生错误时记录主机信息
- log_on_success = PID HOST DURATION EXIT //成功登陆时记录的信息
- # Define access restriction defaults //访问控制
- # no_access = //禁止访问
- # only_from = //仅允许访问
- # max_load = 0 //用一个浮点数作为负载系数,当1分钟内负载达到时,该服务将停
- 止处理后续连接,只有Linux、Solaris、FreeBSD支持。
- cps = 50 10 //每秒超过50个连接,等待10s。
- instances = 50 //同一个服务的最大被连接数
- per_source = 10 //同一客户端的最大连接数
- # Address and networking defaults //网络设置
- # bind = //绑定主机ip地址
- # mdns = yes //支持组播DNS(multicast DNS),目前只有Mac OS X和linux支持。
- v6only = no //仅允许IPv6
- # setup environmental attributes //环境属性设置
- # passenv = //xinetd环境中的环境变量表,该表在激活时传递给服务。
- groups = yes //设定组名
- umask = 002 //设定文件权限掩码
- # Generally, banners are not used. This sets up their global defaults //设置登录显示的信息
- # banner = //建立连接时就显示该文件信息。
- # banner_fail = //连接失败时,显示文件内的信息。
- # banner_success = //连接成功时,显示文件内的信息。
- }
- includedir /etc/xinetd.d
- service <service_name>
- {
- <attribute> <assign_op> <value> <value> ...
- }
Attribute属性
|
explain说明
|
一般选项:服务启动、启动参数
|
|
Disable
|
设定值:[yes|no] 预设:disable = yes
要启动服务,将此参数设置为disable = no
|
Id
|
设定值:[服务名称]
对于多个同名的服务,可用id来取代服务名。如/etc/xinetd.d/time-stream
|
Server
|
设定值:[program]
启动服务的进程。如server = /usr/bin/rsync
|
server_args
|
设定值:[服务启动参数]
设置服务启动时需要的参数。如rsync:server_args = --daemon
最终服务启动方式:/usr/bin/rsync --daemon
|
user
|
设定值:[使用者账号]
如果xinetd以 root身份管理,这个选项可以指定其他用户。daemon会以指定的用户启动服务。
|
mdns
|
设定值:[yes/no] 预设:yes
支持组播DNS(multicast DNS),目前只有Mac OS X和linux支持。查询主机发送一个组播DNS查询数据包,局域网内被查询的主机响应。(与ARP类似)
|
group
|
和user意思相同!
|
banner
|
设定值:[文件路径]
建立连接时,显示该文件中预设信息。
|
banner_success
|
设定值:[文件路径]
建立连接成功时,显示该文件中预设信息。
|
banner_fail
|
设定值:[文件路径]
建立连接失败时,显示该文件中预设信息。
|
一般选项:封包处理方式
|
|
socket_type
|
设定值:[stream|dgram|raw] 与封包有关
Stream — TCP数据包
dgram — UDP数据包
raw — 服务需要直接访问IP
|
protocol
|
参考/etc/protocols中的通讯协议,一般使用tcp、udp。
|
wait
|
设定服务的Multi-threaded或single-threaded运行方式。
一般设定为wait = no,允许为每个连接创建一个daemon。
Udp — yes Tcp — no
|
instances
|
服务可接受的最大连接数。
|
per_source
|
每个IP的最大连接数。
|
cps
|
避免短时间内大量的访问请求导致系统过于繁忙,可以设置这个选项。
数字1:一秒内能够接受的最多新连接
数字2:若超过数字1,暂时关闭该服务的秒数。
|
max_load
|
设定值:浮点数[0 2.5 4.5等]
用一个浮点数作为负载系数,当1分钟内负载达到时,该服务将停止处理后续连接,只有Linux、Solaris、FreeBSD支持。Xinetd编译需要-with-loadavg参数
|
Flags
|
设定值:
[INTERCEPT,NORETRY,IDONLY,NAMEINARGS,NODELAY,KEEPALIVE,
NOLIBWRAP,SENSOR,IPv4,IPv6,LABELED,REUSE] 可以使用多个参数
SENSOR:作用是使用一个SENSOR代替当前服务。
需要注意的几个问题:
1. 该服务是管理员不想提供的服务;
2. 服务不能检查的扫描动作;
3. 记录向该服务访问的客户地址,并记录到作用于全局的no_access列表中,使得请求过该服务的IP在deny_time过期之前一直都拒绝访问;
4. xinetd认为该服务server属性是INTERNAL;
5. 使用该标记的socket_type为stream,需要设置wait为no。
|
一般选项:日志记录选项
|
|
log_type
|
运行服务时,记录的日志信息。默认日志记录等级是info。
|
Log_on_success
log_on_failure
|
『成功登录』或『失败登录』后记录的内容:
PID:服务进程号;
HOST:远程主机IP
USERID:客户登录的账号
EXIT:断开连接时记录的项目
DURATION:用户使用服务的时间
|
高级选项:网络端口、联机机制等
|
|
Env
|
设定值:[变量名称=变量内容]
设定一个环境变量,在服务被激活时追加到服务环境变量中。
|
Passenv
|
设定值:[变量1=值1 变量2=值2 变量3=值3]
用空格分开的xinetd环境中的环境变量表,该表在激活时传递给服务程序。
|
Port
|
设置服务监听的端口,注意port与/etc/services内的记录要相同。
|
Redirect
|
将客户端对服务的请求转发到另外一台服务器上去。
|
Includedir
|
将外部配置导入当前的配置文件。
|
Nice
|
设定值:[-20至19]
设定服务运行的优先级。
|
安全控制
|
|
bind
|
绑定主机的一个ip 地址,只为它提供服务。多ip 地址时有用。
|
interface
|
同上
|
only_from
|
只允许某些ip访问服务。
|
no_access
|
拒绝某些主机访问服务。
|
access_times
|
设定值:[00:00-12:00, HH:MM-HH:MM]
设置服务可访问的时间段。
|
umask
|
设定值:[000, 777, 022]
设定文件权限掩码
|
属性
|
适用范围
|
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服务
|
属性
|
适用范围
|
only_from
|
支持所有操作符
|
no_access
|
|
log_on_success
|
|
log_on_failure
|
|
passenv
|
|
env
|
不支持-=操作符
|
属性
|
适用范围
|
log_on_success
|
可以用=操作符改写,或用+=或-=操作符修改
|
log_on_failure
|
|
only_from
|
|
no_access
|
|
passenv
|
|
instances
|
可以用=操作符改写
|
log_type
|
|
disabled
|
注销的服务
|
enabled
|
指定启用的服务
|
- service telnet
- {
- #——————————增加———
- disable = yes #启动
- bind = 127.0.0.1 #绑定服务在127.0.0.1这个ip上
- only_from = 127.0.0.0/8 #允许登陆
- no_access = 127.0.0.{100,200} #限制登陆
- instances = UNLIMITED #不限制服务最大连接数
- #——————————增加———
- flags = REUSE
- socket_type = stream
- wait = no
- user = root
- server = /usr/sbin/in.telnetd
- log_on_failure += USERID
- disable = yes
- }
- service telnet
- {
- #——————————增加———
- disable = yes #启动
- bind = 192.168.0.250 #绑定服务在192.168.1.100这个ip上
- only_from = 192.168.0.0/24 #允许访问
- only_from += .edu.cn #允许访问
- access_times = 01:00-9:00 20:00-23:59 #提供telnet服务的时间
- instances = 10 #服务仅提供10个链接
- #——————————增加———
- flags = REUSE
- socket_type = stream
- wait = no
- user = root
- server = /usr/sbin/in.telnetd
- log_on_failure += USERID
- disable = yes
- }
- Deny_time = <forever | never | minutes>
- 直到xinetd重启 | 仅记录日志 | 拒绝X分钟
- Flags=SENSOR //记录访问服务的IP地址,添加到作用于全局的no_access列表中,
- 使得请求过该服务的IP在deny_time过期之前一直都拒绝访问。
- #yum install rsh-server //服务端
- #yum install rsh //客户端,提供rsh、rlogin、rcp命令
- #yum install telnet-server //telnet用于测试
- #yum install telnet
- #chkconfig rlogin on
- #chkconfig rsh on
- #chkconfig telnet on
- #vim /etc/xinetd.d/rlogin
- service login
- {
- disable = no
- socket_type = stream
- wait = no
- user = root
- log_on_success += USERID
- log_on_failure += USERID
- server = /usr/sbin/in.rlogind
- flags = SENSOR
- deny_time = forever
- }
- #cat /tmp/test.c
- #include <stdio.h>
- main()
- {
- printf ("hello world\n");
- return 0;
- }
- #gcc /tmp/test.c -o /tmp/test
- #cp telnet test
- #vim test
- service test_server
- {
- disable = no
- flags = REUSE
- socket_type = stream
- wait = no
- user = root
- server = /tmp/test
- log_on_failure += USERID
- port =9015
- }
- #service xinetd restart
- #telnet 192.168.0.250 9015
本文出自 “大蚊子linux” 博客,请务必保留此出处http://mosquito.blog.51cto.com/2973374/1078683