services(5)

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

POPIS
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/protokol [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ě.

protokol
    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

SOUBORY

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

<netdb.h>
    Definice konstanty _PATH_SERVICES

DALŠÍ INFORMACE
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).

PŘEKLAD
Překlad této příručky do češtiny vytvořili Pavel Heimlich <tropikhajma@gmail.com>

Tento překlad je bezplatná dokumentace; Přečtěte si GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) nebo novější ohledně podmínek autorských práv. Neexistuje ŽÁDNÁ ODPOVĚDNOST.

Pokud narazíte na nějaké chyby v překladu této příručky, pošlete e-mail na adresu translation-team-cs@lists.sourceforge.net.