Scroll to navigation

SERVICES(5) Linux Programmer's Manual SERVICES(5)

NOME

services - Elenco dei servizi di rete internet

DESCRIZIONE

services è un normale file ASCII che fornisce una mappa tra i nomi comprensibili dei servizi internet e i nomi delle porte e i tipi di protocolli loro assegnati. Ogni programma di rete dovrebbe leggere questo file per sapere il numero della porta (e il protocollo) del suo servizio. Le routine della libreria C getservent(3), getservbyname(3), getservbyport(3), setservent(3) e endservent(3) supportano l'interrogazione di questo file da parte dei programmi.

I numeri di porta sono assegnati da IANA (Internet Assigned Numbers Authority), e la loro politica attuale assegna entrambi i protocolli TCP e UDP quando si assegna un numero di porta. Perciò, molte voci avranno due voci, anche per i servizi solo TCP.

I numeri di porta inferiori a 1024 (le cosiddette porte 'low numbered') possono essere usate solo da root (si veda bind(2), tcp(7), e udp(7)). Questo accade perché i client che si connettono a una porta low numbered possano fare affidamento sul fatto che il servizio in esecuzione sulla porta sia l'implementazione standard, e non un servizio malevolo avviato da un utente della macchina. I numeri di porta noti specificati dall'IANA sono normalmente localizzati in questo spazio esclusivo per root.

La presenza di una voce per un servizio nel file services non significa necessariamente che il servizio sia attualmente in esecuzione sulla macchina. Si veda inetd.conf(5) per la configurazione dei servizi Internet offerti. Si noti che non tutti i servizi di rete sono avviati da inetd(8), e dunque questi non appariranno in inetd.conf(5). In particolare, i server per news (NNTP) e mail (SMTP) spesso sono inizializzati dagli script di avvio del sistema.

La posizione del file services è definita da _PATH_SERVICES in <netdb.h>. Questa è di solito impostata a /etc/services.

Ogni riga descrive un servizio, ed ha il seguente formato:

nome-servizio   porta/protocollo   [alias ...]
è il nome amichevole con il quale il servizio è conosciuto e cercato dai programmi. È sensibile alle maiuscole-minuscole. Spesso i programmi client prendono il nome dal nome-servizio.
è il numero della porta (in decimale) da usare per questo servizio.
è il tipo di protocollo da usare. Questo campo deve corrispondere ad una voce nel file protocols(5). Valori tipici includono tcp e udp.
è una lista opzionale separata da spazi o tab di altri nomi per questo servizio (ma si veda la sezione BUG sotto). Ancora, i nomi sono sensibili alle maiuscole-minuscole.

Sia spazi che tab possono essere usati per separare i campi.

I commenti inizianoon il carattere # e continuano fino alla fine della riga. Le righe vuote non vengono considerate.

Il nome-servizio dovrebbe cominciare nella prima colonna del file, in quanto gli spazi iniziali non vengono tolti. nome-servizio può essere composto da qualunque carattere stampabile ad esclusione di spazi e tab, comunque dovrebbe essere usata una scelta conservativa di caratteri per minimizzare i problemi di interoperabilità. Per esempio: a-z, 0-9 e trattino (-) sono una scelta sensata.

Nel file non dovrebbero essere presenti righe che non corrispondano a questo formato (attualmente esse sono scartate silenziosamente da getservent(3), getservbyname(3), e getservbyport(3). In ogni caso non si dovrebbe far affidamento su questo comportamento).

Questo file potrebbe essere distribuito su una rete che usa un servizio di naming valido per tutta la rete come Yellow Pages/NIS o BIND/Hesiod.

Un file services d'esempio potrebbe essere così:

netstat         15/tcp
qotd            17/tcp          quote
msp             18/tcp          # message send protocol
msp             18/udp          # message send protocol
chargen         19/tcp          ttytst source
chargen         19/udp          ttytst source
ftp             21/tcp
# 22 - non assegnato
telnet          23/tcp

FILE

/etc/services
L'elenco dei servizi di rete internet
<netdb.h>
Definizione di _PATH_SERVICES

VEDERE ANCHE

listen(2), endservent(3), getservbyname(3), getservbyport(3), getservent(3), setservent(3), inetd.conf(5), protocols(5), inetd(8)

Assigned Numbers RFC, il più recente è il documento RFC 1700, anche noto come STD0002.

COLOPHON

Questa pagina fa parte del rilascio 3.10 del progetto man-pages di Linux. Si può trovare una descrizione del progetto, e informazioni su come riportare bachi, presso http://www.kernel.org/doc/man-pages/. Per la traduzione in italiano si può fare riferimento a http://www.pluto.it/ildp/collaborare/

23 settembre 2008 Linux