Arch manual pages

SERVICES(5) Linux - příručka programátora SERVICES(5)

services - databáze služeb sítě Internet

services je čitelný textový soubor poskytující převod mezi názvy služeb a jim příslušných čísel portů a protokolů. Každý síťový program by měl z tohoto souboru získat číslo portu a typ protokolu. Knihovna jazyka C poskytuje funkce getservent(3), getservbyname(3), getservbyport(3), setservent(3), a endservent(3), které slouží k obsluze této databáze.

Čísla portů jsou přiřazována organizací IANA (Internet Assigned Numbers Authority), jejich současná strategie je přiřazovat jak TCP tak i UDP protokoly pro čísla portů. Proto má většina záznamů dva záznamy i pro služby provozované pouze nad TCP protokolem.

Porty s čísly menšími než 1024 mohou být přiřazeny pouze superuživatelem (viz bind(2), tcp(7) a udp(7)). To je proto, aby klienti, kteří se připojují na tyto porty mohli důvěřovat, že zde běží standardní aplikace a ne nějaký prográmek nějakého uživatele. Standardní čísla portů specifikovaná IANA jsou normálně umístěna v této oblasti.

Výskyt dané služby v databázi služeb ještě neznamená, že služba na tomto počítači momentálně běží, viz inetd.conf(5), kde je uvedeno více o konfiguraci internetových služeb. Mějte však na paměti, že ne všechny síťové služby musí být startovány pomocí inetd(8), a proto se nemusí vyskytovat v inetd.conf(5). Např. news (NNTP) a mail (SMTP) servery jsou často inicializovány ve startovacích skriptech.

Umístění souboru services je definováno konstantou _PATH_SERVICES v <netdb.h>. Obvykle je nastaveno na /etc/services.

Každý řádek obsahuje jeden záznam ve tvaru:

service-name   port/protocol   [aliases ...]
kde:
service-name
je název služby pod kterým je známa a vyhledávána. Velikost písma je rozhodující. Často je klient pojmenován stejně jako služba samotná.
port
je číslo portu v desítkové soustavě.
protocol
je typ použitého protokolu. Toto políčko by mělo vyhovovat záznamu ze souboru protocols(5). Obvyklé hodnoty jsou tcp a udp.
aliases
toto je volitelný seznam přezdívek oddělený mezerou nebo tabulátorem. Opět zde rozhoduje velikost písmen.

Jednotlivá pole jsou oddělena mezerami nebo tabulátorem.

Komentáře začínají znakem # a pokračují až do konce řádku. Prázdné řádky jsou vynechány.

service-name by mělo začínat na začátku řádku, protože mezery na začátku nejsou odstraňovány. service-names mohou být jakékoliv tisknutelné znaky kromě mezery a tabulátoru, ale z důvodu kompatibility se doporučuje použít pouze znaky a-z, 0-9, a pomlčka (-).

Řádky, které nevyhovují tomuto formátu, by se zde neměly vyskytovat. (V současné době jsou funkcemi getservent(3), getservbyname(3), a getservbyport(3) tiše ignorovány, ale na to by se nemělo spoléhat.)

Tento soubor může být distribuován po síti přes jmenné služby jako Yellow Pages/NIS nebo BIND/Hesiod.

Jednoduchý soubor services může vypadat nějak takto:


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 - unassigned
telnet          23/tcp

/etc/services
databáze služeb sítě Internet
<netdb.h>
Definice konstanty _PATH_SERVICES

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

Assigned Numbers RFC, nejnovější RFC 1700, (také známo pod STD0002)

Tato stránka je součástí projektu Linux man-pages. Popis projektu a informace o hlášení chyb najdete na http://www.kernel.org/doc/man-pages/.
2008-09-23 Linux