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 ...]

dove:

nome-servizio
    è 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.

porta
    è il numero della porta (in decimale) da usare per questo servizio.

protocollo
    è il tipo di protocollo da usare. Questo campo deve corrispondere ad una voce nel file protocols(5). Valori tipici includono tcp e udp.

aliases
    è una lista opzionale separata da spazi o tab di altri nomi per questo servizio. Ancora, i nomi sono sensibili alle maiuscole-minuscole.

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

I commenti iniziano con 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.

TRADUZIONE
La traduzione italiana di questa pagina di manuale è stata creata da Giovanni Bortolozzo <borto@dei.unipd.it>, Alessandro Rubini <rubini@linux.it>, Ottavio G. Rizzo <rizzo@pluto.linux.it>, Giulio Daprelà <giulio@pluto.it>, Elisabetta Galli <lab@kkk.it> e Marco Curreli <marcocurreli@tiscali.it>

Questa traduzione è documentazione libera; leggere la GNU General Public License Versione 3 (https://www.gnu.org/licenses/gpl-3.0.html) o successiva per le condizioni di copyright. Non ci assumiamo alcuna responsabilità.

Per segnalare errori nella traduzione di questa pagina di manuale inviare un messaggio a pluto-ildp@lists.pluto.it.