/etc/inetd.conf listet diese Server und ihre üblichen Ports auf. Der Befehl inetd wartet an allen diesen Ports auf Anfragen; wenn er eine Verbindung zu einem dieser Ports entdeckt, führt er das entsprechende Serverprogramm aus.
/etc/inetd.conf beschreibt einen Server in sieben Feldern (getrennt durch Leerzeichen):
/etc/services enthalten ist, zugeordnet ist).
stream für eine TCP-Verbindung, dgram für UDP-Datagramme.
tcp oder udp.
wait oder nowait, um inetd mitzuteilen, ob er auf das Ende des gestarteten Prozesses warten soll, bevor er eine andere Verbindung annimmt, oder nicht. Für TCP-Verbindungen, die einen Kanal leicht mehrfach nutzen können, können Sie normalerweise nowait verwenden. Für Programme, die über UDP antworten, sollten Sie nowait nur dann verwenden, wenn der Server in der Lage ist, mehrere Verbindungen parallel zu verwalten. Sie können an dieses Feld einen Punkt anhängen, gefolgt von der Höchstzahl der Verbindungen, die pro Minute erlaubt ist (der Standardgrenzwert ist 256).
argv[0] in C).
Beispiel 9.1. Auszug aus /etc/inetd.conf
talk dgram udp wait nobody.tty /usr/sbin/in.talkd in.talkd finger stream tcp nowait nobody /usr/sbin/tcpd in.fingerd ident stream tcp nowait nobody /usr/sbin/identd identd -i
tcpd wird in /etc/inetd.conf häufig benutzt. Es ermöglicht es, ankommende Verbindungen durch die Verwendung von Zugangskontrollregeln einzuschränken, die auf der Handbuchseite hosts_access(5) dokumentiert sind, und die in den Dateien /etc/hosts.allow und /etc/hosts.deny konfiguriert sind. Sobald feststeht, dass die Verbindung autorisiert ist, führt tcpd den eigentlich zuständigen Server aus (wie /usr/bin/in.fingerd in unserem Beispiel). Es ist wichtig anzumerken, dass tcpd auf den Namen zurückgreift, mit welchem es aufgerufen wurde (das ist das erste Argument, argv[0]), um das tatsächlich auszuführende Programm zu ermitteln. Sie sollten deshalb die Parameterliste nicht mit tcpd beginnen, sondern mit dem Programm, zu dem umgeleitet werden soll.