Product SiteDocumentation Site

9.6. El superservidor inetd

Inetd (frecuentemente llamado «superservidor de internet») es un servidor de servidores. Ejecuta a pedido servidores rara vez utilizados para que no tengan que ejecutar continuamente.
El archivo /etc/inetd.conf enumera estos servidores y sus puertos usuales. El programa inetd escucha en todos estos puertos y cuando detecta una conexión a uno de ellos ejecuta el programa servidor correspondiente.
Cada línea significativa del archivo /etc/inetd.conf describe un servidor con siete campos (separados con espacios):
El siguiente ejemplo muestra algunos casos de uso después de la instalación talkd, nullidentd (ident-server), y fingerd:

Ejemplo 9.1. Extracto de /etc/inetd.conf

#:BSD: Shell, login, exec and talk are BSD protocols.
talk   dgram   udp     wait    nobody.tty   /usr/sbin/in.talkd      in.talkd
ntalk  dgram   udp     wait    nobody.tty   /usr/sbin/in.ntalkd     in.ntalkd

#:INFO: Info services
ident  stream  tcp     nowait  nobody       /usr/sbin/nullidentd    nullidentd
finger stream  tcp     nowait  nobody       /usr/sbin/tcpd          /usr/sbin/in.fingerd
Frecuentemente se utiliza el programa tcpd en el archivo /etc/inetd.conf. Permite limitar las conexiones entrantes aplicando reglas de control de acceso, documentadas en la página del manual hosts_access(5), y que puede configurar en los archivos /etc/hosts.allow y /etc/hosts.deny. Una vez que determinado que la conexión está autorizada, tcpd ejecuta el servidor real (en el ejemplo: in.fingerd). Vale la pena aclarar que tcpd necesita el nombre con el que se le invoca (que es el primer parámetro: argv[0]) para identificar el programa real a ejecutar. No debería iniciar la lista de parámetros con tcpd sino con el programa subyacente.