用于 TCP/IP 的 inetd.conf 文件格式

用途

定义 inetd 守护程序如何处理因特网服务请求。

描述

/etc/inetd.conf 文件是 inetd 守护程序的缺省配置文件。 此文件使您能够指定缺省情况下要启动的守护程序,并提供与每个守护程序期望的功能样式相对应的参数。 此文件是网络支持设施中 TCP/IP 的一部分。

若修改 /etc/inetd.conf 了配置文件,请执行 `refresh -s inetd ` 或 `InetdPID-1 kill inetd` 命令,以通知 inetd 守护进程其配置文件已发生变更。 该 inetd.conf 文件指定了默认启动的守护进程,并为每个守护进程提供了决定其运行模式的参数。

下列守护程序由 inetd 守护程序控制:

ftpdrlogind rexecdrshd talkdtelnetduucpd 守护程序在缺省情况下启动。 tftpd fingerdcomsat 守护程序缺省情况下不启动,除非它们在 /etc/inetd.conf 文件中没有被注释掉。

服务请求

inetd 守护程序在内部支持下列因特网服务请求,这些请求通常用于调试:

描述
ECHO 返回数据包给客户主机。
DISCARD 废弃接收的数据包。
字符 废弃接收的数据包并发送预定义的或随机的数据。
DAYTIME 以用户可读的格式发送当前数据。
时间 以用户可读的格式发送当前日期和时间。

inetd 守护进程仅在以下三种情况下读取其配置文件: inetd 守护进程启动时、 inetd 守护进程收到 SIGHUP 信号时,或输入SRC refresh -s inetd 命令时。 inetd 配置文件中的每一行都定义了如何仅处理一个因特网服务请求。

每一行都具有以下格式:

ServiceName  SocketType  ProtocolName Wait/NoWait  UserName ServerPath ServerArgs

这些字段必须用空格或制表符分隔,并且具有以下含义:

描述
ServiceName 包含 etc/services 文件中定义的因特网服务的名称。 对于由 inetd 守护程序在内部提供的服务,此名称必须是服务的正式名称。 即,名称必须与 /etc/services 文件中描述服务的行上的第一个条目相同。
SocketType 包含用于服务的套接字类型的名称。 SocketType 参数的可能值为:
stream
指定将流套接字用于该服务。
dgram
指定将数据报套接字用于服务
sunrpc_tcp
指定通过流连接将 Sun 远程过程调用 (RPC) 套接字用于此服务。
sunrpc_udp
指定通过数据报连接将 Sun RPC 套接字用于该服务。
ProtocolName 包含 /etc/protocols 文件中定义的因特网协议的名称。 例如,对于使用TCP/IP的服务, 使用tcp值;对于使用用户数据包协议 User Datagram Protocol (UDP)的服务, 使用udp值。
Wait/NoWait/SRC 包含 waitnowaitSRC 指令 (用于数据报套接字) 和 nowait 指令 (用于流套接字)。 该字段决定 Wait/NoWait/SRC inetd守护进程是否在继续监听套接字之前等待数据报服务器释放该套接字。 SRC 指令的工作方式类似于等待,但它不会派生和等待子代死亡,而是在子系统上执行 startsrc 并存储有关服务启动的信息。 从 inetd.conf 文件中除去服务并重新启动 inetd 时,该服务将向该服务发出 stopsrc 以将其停止。 如果在 waitnowait之后指定了 | DEBUG[=level] ,那么将为此服务打开 SO_DEBUG 套接字调试标志。 如果指定了 level ,那么跟踪级别将设置为指定的级别; 否则级别将设置为 normallevel 的有效值为 minnormaldetail
UserName 指定 inetd 守护程序应该用来启动服务器的用户名。 此变量允许授予服务器的许可权小于 root 用户的许可权。
ServerPath 指定 inetd 守护程序应该执行以提供服务的服务器的完整路径名。 对于 inetd 守护程序在内部提供的服务,此字段应该是内部的。
ServerArgs 指定 inetd 守护程序应该用来执行服务器的命令行参数。 参数的最大数目为 5。 第一个参数指定所使用的服务器的名称。 如果 SocketType 参数是 sunrpc_tcpsunrpc_udp,那么第二个自变量指定程序名,第三个自变量指定程序的版本。 对于 inetd 守护程序在内部提供的服务,此字段应该为空。

示例

以下是 inetd 守护程序的 /etc/inetd.conf 文件中的示例条目:

  • 使用 ftpd 守护程序为 ftp 请求提供服务
  • talkd 守护程序用于 ntalk 请求
  • telnetd 守护程序用于 Telnet 请求,为用于此服务的套接字设置 SO_DEBUG 标志,并将这些套接字的跟踪级别设置为正常。
  • 在内部提供时间请求。
    ftp;stream tcp nowait root /usr/sbin/ftpd ftpd
    ntalk dgram udp wait root /usr/sbin/talkd talkd
    telnet stream tcp6 nowait|DEBUG root /usr/sbin/telnetd telnetd -a
    time stream tcp nowait root internal
    time dgram udp wait  root internal

文件

描述
etc/services 定义用于因特网服务的套接字和协议。
/etc/protocols 定义本地主机上使用的因特网协议。