Product SiteDocumentation Site

9.6. Der Superserver inetd

Inetd (häufig „Internet-Superserver“ genannt) ist ein Server der Server. Er führt selten genutzte Server nach Bedarf aus, so dass sie nicht ständig laufen müssen.
Die Datei /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.
Jede bedeutende Zeile der Datei /etc/inetd.conf beschreibt einen Server in sieben Feldern (getrennt durch Leerzeichen):
Das folgende Beispiel illustriert die häufigsten Fälle:

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
Das Programm tcpd wird in /etc/inetd.conf häufig benutzt. Es ermöglicht 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 erwähnenswert, 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.