服务器开机显示b6,inetd “超级服务器”

对于 inetd 的配置, 是通过 /etc/inetd.conf 文件来完成的。

在修改了 /etc/inetd.conf 之后, 可以使用下面的命令来强制 inetd 重新读取配置文件:

例 27-1. 重新加载 inetd 配置文件# /etc/rc.d/inetd reload

配置文件中的每一行都是一个独立的服务程序。 在这个文件中, 前面有 “#” 的内容被认为是注释。 /etc/inetd.conf 文件的格式如下:service-name

socket-type

protocol

{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]

user[:group][/login-class]

server-program

server-program-arguments

下面是针对 IPv4 的 服务的例子:ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l

service-name指明各个服务的服务名。其服务名必须与/etc/services中列出的一致。 这将决定inetd会监听哪个port。 一旦有新的服务需要添加,必须先在/etc/services里面添加。socket-type可以是stream、dgram、raw或者 seqpacket。 stream 用于基于连接的 TCP 服务;而 dgram 则用于使用协议

说明

tcp, tcp4

TCP IPv4

udp, udp4

UDP IPv4

tcp6

TCP IPv6

udp6

UDP IPv6

tcp46

Both TCP IPv4 and v6

udp46

Both UDP IPv4 and v6

{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]wait|nowait 指明从inetd 里头调用的服务是否可以自己处理socket. dgramsocket类型必须使用wait, 而stream socket daemons, 由于通常使用多线程方式,应当使用 nowait. wait 通常把多个 socket 丢给单个服务进程, 而 nowait 则 会为每个新的 socket 生成一个子进程。

max-child 选项能够配置 inetd 能为本服务派生出的最大子进程数量。 如果某特定服务需要限定最高10个实例, 把/10 放到nowait后头就可以了。 指定 /0 表示不限制子进程的数量。

除了 max-child 之外,还有两个选项可以限制来自同一位置到特定服务的最大连接数。 max-connections-per-ip-per-minute 可以限制特定 IP 地址每分钟的总连接数, 例如, 限制任何 IP 地址每分钟最多连接十次。 max-child-per-ip 则可以限制为某一 IP 地址在任何时候所启动的子进程数量。这些选项对于防止针对服务器有意或无意的资源耗竭和拒绝服务 (DoS) 攻击十分有用。

这个字段中, 必须指定 wait 或 nowait 两者之一。 而 max-child、 max-connections-per-ip-per-minute 和 max-child-per-ip 则是可选项。

流式多线程服务, 并且不配置任何 max-child、 max-connections-per-ip-per-minute 或 max-child-per-ip 限制时, 其配置为: nowait。

同一个服务, 但希望将服务启动的数量限制为十个时, 则是: nowait/10。

同样配置, 限制每个 IP 地址每分钟最多连接二十次, 而同时启动的子进程最多十个,应写作: nowait/10/20。

下面是 服务的默认配置:finger stream tcp nowait/3/10 nobody /usr/libexec/fingerd fingerd -s

最后这个例子中, 将子进程数限制为 100 个, 而任意 IP 最多同时建立 5 个连接: nowait/100/0/5。user该开关指定服务将以什么用户身份运行。一般而言,服务运行身份是 root。基于安全目的,可以看到有些服务以 daemon身份,或者是最小特权的 nobody身份运行。server-program当连接到来时,执行服务程序的全路径。如果服务是由 inetd内置提供的,以internal代替。server-program-arguments当server-program调用到时,该开关 的值通过argv[0]通过传递给服务而工作。 如果命令行为:mydaemon -d,则 mydaemon -d为server-program-arguments 开关的值。同样的,如果服务是由inetd 内置提供的,这里还是 internal。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值