Product SiteDocumentation Site

9.6. El superservidor inetd

Inetd (sovint anomenat “superservidor d'internet”) és un servidor de servidors. Executa sota demanda servidors poc usats, de manera que aquests no han d'executar-se de manera contínua.
El fitxer /etc/inetd.conf llista aquests servidors i els seus ports habituals. L'ordre inetd escolta en tots aquests ports; quan detecta una connexió a qualsevol port d'aquest tipus, executa el corresponent programa de servidor.
Cada línia significativa del fitxer /etc/inetd.conf descriu un servidor a través de set camps (separats per espais):
El següent exemple il·lustra alguns casos d'ús després d'instal·lar talkd, nullidentd (ident-server), i fingerd:

Exemple 9.1. Extracte 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
El programa tcpd s'utilitza amb freqüència al fitxer /etc/inetd.conf. Permet limitar les connexions entrants aplicant les regles de control d'accés, documentades a la pàgina del manual hosts_access(5) i que estan configurades als fitxers /etc/hosts.allow i /etc/hosts.deny. Un cop s'ha determinat que la connexió està autoritzada, tcpd executa el servidor real (com ara in.fingerd en el nostre exemple). Cal assenyalar que tcpd es basa en el nom sota el qual s'ha invocat (és a dir, el primer paràmetre argv[0] per identificar el programa real a executar. Per tant no hauríeu d'iniciar la llista de paràmetres amb tcpd sinó amb el programa que s'ha de cridar.