Product SiteDocumentation Site

9.6. Il super-server inetd

Inetd (spesso chiamato «Internet super-server») è un server di server. Esegue a richiesta i server usati raramente, in modo che debbano essere eseguiti continuamente.
Il file /etc/inetd.conf elenca questi server con le rispettive porte. Il comando inetd rimane in ascolto, quando rileva una connessione verso una qualsiasi di queste porte, esegue il programma server corrispondente.
Ogni riga significativa del file /etc/inetd.conf descrive un server attraverso sette campi (separati da spazi):
L'esempio seguente illustra i casi più comuni:

Esempio 9.1. Estratto dal file /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
Il programma tcpd viene frequentemente utilizzato nel file /etc/inetd.conf. Consente di limitare le connessioni in entrata mediante l'applicazione di regole di controllo degli accessi, documentate nella pagina di manuale hosts_access(5), e che sono configurate nei file /etc/hosts.allow e /etc/hosts.deny. Una volta determinato che la connessione è autorizzata, tcpd esegue il server reale (come in.fingerd nel nostro esempio). È bene notare che tcpd si basa sul nome con cui è stato invocato (cioè il primo argomento, argv[0]) per identificare l'effettivo programma da eseguire. Perciò non si dovrebbe iniziare la lista degli argomenti con tcpd ma con il programma a cui fare da wrapper.