Provided by:
manpages-it_0.3.4-5_all 
NOME
inetd - internet “super-server”
SINTASSI
inetd [-d] [-q lunghezzacoda] [file_di_configurazione]
DESCRIZIONE
Inetd deve essere eseguito al momento dell’avvio da /etc/rc.local (vedi
rc(8)). Una volta avviato, si mette in attesa di connessioni su certi
socket internet. Quando avviene una connessione su uno dei suoi socket,
decide a quale servizio corrisponde e invoca un programma per fornirlo.
Quando il programma è terminato, continua ad ascoltare il socket (eccetto
in alcuni casi che saranno descritti qui sotto). Essenzialmente, inetd
permette di eseguire un demone per invocarne molti altri, riducendo il
carico del sistema.
Le opzioni disponibili per inetd:
-d Attiva la diagnostica.
-q lunghezzacoda
Imposta la dimensione della coda di ascolto del socket al valore
specificato. Il valore predefinito è 128.
Quando viene eseguito, inetd legge le sue informazioni di configurazione
da un file il cui nome, di solito, è /etc/inetd.conf. Ci deve essere una
voce per ogni campo del file di configurazione, e ogni voce deve essere
separata da un tabulatore o da uno spazio. I commenti sono denotati da
un ‘‘#’’ all’inizio della riga. I campi del file di configurazione sono:
nome del servizio
tipo di socket
protocollo
wait/nowait[.massimo]
utente[.gruppo]
programma server
argomenti del programma server
Per specificare un servizio basato su Sun-RPC, la voce deve contenere
questi campi.
nome del servizio/versione
tipo di socket
rpc/protocollo
wait/nowait[.massimo]
utente[.gruppo]
programma server
argomenti del programma server
La voce nome del servizio è il nome di un servizio valido, fra quelli che
si trovano nel file /etc/services. Per i servizi “interni” (spiegati
sotto), il nome del servizio deve essere il nome ufficiale del servizio
(che è la prima voce in /etc/services). Quando è usato per specificare
un servizio basato su Sun-RPC, questo campo è il nome di un servizio RCP
valido fra quelli in /etc/rpc. La parte sulla destra dello “/” è il
numero di versione RPC. Questo può essere semplicemente un unico numero
o una gamma di versioni. Una gamma di versioni è delimitata da una
versione bassa e una alta - “rusers/1-3”.
Il tipo di socket deve essere uno di questi : “stream”, “dgram”, “raw”,
“rdm” o “seqpacket”, a seconda che il socket sia un flusso di dati, un
datagramma, raw, un messaggio inoltrato affidabile, o una sequenza di
pacchetti di socket.
Il protocollo deve essere un protocollo valido fra quelli elencati in
/etc/protocols. Ad esempio può essere “tcp” o “udp”. I servizi basati
su Rpc sono specificati nei tipi di servizio “rpc/tcp” o “rpc/udp”.
La voce wait/nowait (attendi/non attendere) è applicabile solo ai socket
di tipo datagramma (gli altri socket devono avere la voce impostata a
“nowait” in questo spazio). Se un server di datagrammi si connette a un
suo pari, liberando il socket in modo che inetd possa ricevere ulteriori
messaggi sul socket, si parla di server “multi-threaded”, e deve usare la
voce “nowait”. I server di datagrammi che elaborano tutti i datagrammi
in arrivo su un socket e eventualmente vanno in time out, sono chiamati
“single-threaded” e devono usare la voce “wait”. Comsat(8) (biff(1)) e
talkd(8) sono esempi dell’ultimo tipo di server di datagrammi. Tftpd(8)
è un’eccezione: è un server che stabilisce pseudo-connessioni e deve
essere elencato come “wait” per evitare conflitti; il server legge il
primo pacchetto, crea un nuovo socket e quindi si divide ed esce per
permettere a inetd di controllare se ci sono nuove richieste di servizio
onde chiamare nuovi server. Il suffisso opzionale “massimo” (separato da
“wait” o “nowait” da un punto) specifica il numero massimo di istanze di
server che possono essere invocate da inetd nell’intervallo di 60
secondi. Quando omesso, il valore predefinito di “massimo” è 40.
La voce utente deve contenere il nome dell’utente nelle vesti del quale
il server deve girare. Questo permette di dare al server permessi
inferiori a quelli di root. Un nome opzionale di gruppo può essere
specificato aggiungendo un punto al nome dell’utente, seguito dal nome
del gruppo. Questo permette di fare girare il server con un id di gruppo
(primario) diverso da quello specificato nel file delle password. Se si
specifica un gruppo e l’utente non è root, saranno impostati anche i
gruppi supplementari associati con quell’utente.
La voce programma server deve contenere il percorso del programma che
deve essere eseguito da inetd quando arriva una richiesta su quel socket.
Se inetd fornisce quel servizio internamente, questa voce deve essere
“internal”.
La voce argomenti del programma server deve essere esattamente come sono
normalmente gli argomenti, iniziando con argv[0], che è il nome del
programma. Se il programma è fornito internamente, la parola “internal”
deve prendere posto in questa voce.
Inetd fornisce molti servizi “banali” internamente, usando routine
interne. Questi servizi sono “echo”, “discard”, “chargen” (generatore di
caratteri), “daytime” (orario in forma leggibile) e “time” (orario
leggibile dalla macchina, nella forma del numero di secondi dalla
mezzanotte del primo gennaio 1900). Tutti questi servizi sono basati su
tcp. Per dettagli su questi servizi, si consulti l’appropriato RFC sul
(NIC) Network Information Center.
Inetd rilegge il suo file di configurazione quando riceve un segnale di
hangup, SIGHUP. Servizi possono essere aggiunti, cancellati o modificati
quando il file di configurazione viene riletto. Inetd crea un file
/etc/inetd.pid che contiene il suo identificatore di processo.
VEDERE ANCHE
comsat(8), fingerd(8), ftpd(8), rexecd(8), rlogind(8), rshd(8),
telnetd(8), tftpd(8)
STORIA
Il comando inetd è apparso i 4.3BSD. Il supporto per i servizi basati su
Sun-RPC si rifà a quello fornito da SunOS 4.1.