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/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
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)
TIRÁŽ
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/.