table of contents
services(5) | File Formats 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 ...]
- 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>, Marco Curreli <marcocurreli@tiscali.it> e Giuseppe Sacco <eppesuig@debian.org>
Questa traduzione è documentazione libera; leggere la GNU General Public License Versione 3 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.
2 maggio 2024 | Linux man-pages (non rilasciato) |