inetd
inetd (de l'anglais internet service daemon) est un démon Unix qui permet de gérer les connexions à des services réseau.
Fonctionnement
Au démarrage, inetd écoute un ensemble de ports configurés. Quand une demande de connexion TCP ou un datagramme UDP est reçue, inetd lance l'application configurée pour ce port.
inetd est utilisé pour minimiser le nombre de processus qui correspondent à des démons peu fréquemment utilisés et économise des ressources par rapport à l'alternative qui consiste à lancer un démon indépendant pour chaque service. Il introduit cependant une latence due au démarrage du processus serveur.
Configuration
Pour activer un service inetd il suffit d'ajouter une ligne au fichiers /etc/inetd.conf dont la forme générale est:
service type-socket protocole propriétaire chemin-absolu argument
Par exemple pour activer le serveur ftpd (partage de fichiers via FTP) :
ftpd stream tcp nobody /usr/bind/ftpd ftpd -s
Remplacement d'inetd
Durant les précédentes années, à cause de la limitation de sécurité due à la conception originelle de inetd, celui-ci a été remplacé par xinetd, rlinetd, ucspi-tcp, et d'autres dans de nombreux systèmes. Les distributions de linux particulièrement ont de nombreuses options, et Mac OS X (à partir de Mac OS X v10.2) utilise xinetd. Après les versions 10.4 de Mac OS X, Apple a fusionné ces fonctions dans launchd.
Les services fournis par inetd peuvent être omis entièrement. Cela est courant pour les appareils dédiés à une seule fonction. Par exemple, un serveur HTTP peut être configuré pour faire tourner httpd seul sans autre port ouvert.
systemd remplace les fonctions d'inetd, et étend l'activation de socket après l'IP messaging.
Notes et références
Voir aussi
- Xinetd, une réécriture plus sécurisée de inetd.