inetd(8) 有时也被称作 “Internet 超级服务器”, 因为它可以为多种服务管理连接。 当 inetd 收到连接时, 它能够确定连接所需的程序, 启动相应的进程, 并把 socket 交给它 (服务 socket 会作为程序的标准输入、 输出和错误输出描述符)。 使用 inetd 来运行那些负载不重的服务有助于降低系统负载, 因为它不需要为每个服务都启动独立的服务程序。
一般说来, inetd 主要用于启动其它服务程序, 但它也有能力直接处理某些简单的服务, 例如 chargen、auth, 以及 daytime。
对于 inetd 的配置, 是通过 /etc/inetd.conf 文件来完成的。
在修改了 /etc/inetd.conf 之后, 可以使用下面的命令来强制 inetd 重新读取配置文件:
现在来看一下不同的服务,以便加深理解。
telnet stream tcp ;nowait root /usr/sbin/tcpd in.telnetd
* 服务名: telnet
* 套接字类型: stream
* 协议类型: tcp
* Wait/Nowait[.max]: nowait
* 用户名[.组]: root
* 服务程序: /usr/sbin/tcpd
* 参数: in.telnetd
echo dgram udp wait root internal
* 服务名: echo
* 套接字类型: dgram
* 协议类型: udp
* Wait/Nowait[.max]: wait
* 用户名[.组]: root
* 服务程序: internal
只要在想要关闭的服务前面加上一个#,比如想要关闭23端囗,不被telnet使用
重新加载 inetd 配置文件后
# /etc/rc.d/inetd reload