Čo je / etc / services v systéme Linux / Unix?

Súbory služieb Linux ukladajú známe porty

Operačné systémy UNIX ukladajú to, čo sa nazýva súbor služieb v / etc / services. Ukladá informácie o početných službách, ktoré klientské aplikácie môžu používať v počítači. V súbore je názov služby, číslo portu a protokol, ktorý používa, a všetky príslušné aliasy.

Čísla portov sú mapované na špecifické služby, podobne ako súbor hostiteľov v počítačoch so systémom Windows, mapujú názov hostiteľa na adresu IP . Súbor služieb operačného systému UNIX však neobsahuje adresy IP, ale namiesto toho informácie o tom, či je služba TCP alebo UDP a aké bežné názvy by mohli prechádzať.

Jednoduchý textový editor sa dá použiť na úpravu súboru / etc / services, ako napríklad Vim alebo Kate.

Príklad súboru služby UNIX

V systéme UNIX je kľúčová úloha konfiguračného súboru / etc / services tak, aby programy mohli vo svojom kóde zavolať sockets getportbyname (), aby pochopili, aký port by mali používať. Napríklad e-mailový démon POP3 by urobil prístupové meno (POP3), aby získal číslo 110, na ktorom beží POP3.

Myšlienkou je, že ak všetci používatelia POP3 používajú getportbyname (), potom bez ohľadu na to, čo spustite démon POP3, môžete vždy upraviť číslo portu úpravou / etc / services.

Poznámka: Je nespoľahlivé používať súbor služieb, aby ste zistili, aké čísla portov znamenajú. Ak chcete zistiť, aké porty používajú, namiesto toho by ste mali použiť program lsof, aby ste zistili, ktoré porty sú viazané na ktoré procesy. Ak bežiaci lsof nie je vhodný, potom by ste mali skúmať prístavy v generickejších referenciách.

Všetky súbory služieb sa riadia rovnakou syntaxou :

názov portu / protokol aliasy komentáre

Avšak alias a komentár pre každú databázu nie je potrebný, ako vidíte v tomto príklade súboru služieb:

$ cat / etc / services # # Copyright 2008 Sun Microsystems, Inc. Všetky práva vyhradené. # Použitie podlieha licenčným podmienkam. # #ident "@ (#) služby 1.34 08.11.19 SMI" # # Sieťové služby, internetový štýl # tcpmux 1 / tcp echo 7 / tcp echo 7 / udp discard 9 / tcp sink null discard 9 / udp sink null systat 11 / tcp deň 13 / tcp deň 13 / udp netstat 15 / tcp chargen 19 / tcp ttytst zdroj chargen 19 / udp ttytst zdroj ftp-data 20 / tcp ftp 21 / tcp ssh 22 / tcp # Secure Shell telnet 23 / tcp smtp 25 / tcp mail time 37 / tcp Časovač 37 / udp názov časovača 42 / udp nameserver whois 43 / tcp nicname # zvyčajne sri-nic swat 901 / tcp # Samba Web Adm.Tool servicetag 6481 / udp servicetag 6481 / tcp snmpd 161 / udp snmp # SMA snmp démona $