Co je / etc / services v Linuxu / Unixu?

Soubory služby Linux uchovává známé porty

Operační systémy UNIX ukládají do souboru / etc / services tzv. Soubor služeb. Uloží informace o četných službách, které klientské aplikace mohou v počítači používat. Soubor obsahuje název služby, číslo portu a protokol, který používá, a všechny použitelné aliasy.

Čísla portů jsou mapována na konkrétní služby podobně jako soubor hostitelů v počítačích Windows mapují název hostitele na adresu IP . Soubor služeb operačního systému UNIX však neobsahuje adresy IP, ale místo toho informace o tom, zda je služba TCP nebo UDP a jaké běžné názvy by mohly projít.

Jednoduchý textový editor lze použít k úpravě souboru / etc / services, jako je Vim nebo Kate.

Příklad souboru služby UNIX

V systému UNIX je klíčovou rolí konfiguračního souboru / etc / services tak, aby programy mohly dělat volání socketů getportbyname () ve svém kódu, aby pochopili, jaký port by měli používat. Například e-mailový démon POP3 by udělal getportbyname (POP3), aby získal číslo 110, na kterém běží POP3.

Myšlenka je, že pokud všechny démony POP3 používají getportbyname (), pak bez ohledu na to, jaký démon POP3 spustíte, můžete vždy změnit číslo portu úpravou / etc / services.

Poznámka: Je nespolehlivé používat soubor služeb, aby zjistil, co znamenají čísla portů. Chcete-li zjistit, jaké porty používají programy, měli byste místo toho použít program lsof, abyste zjistili, které porty jsou vázány na které procesy. Pokud běžící lsof není vhodné, pak byste měli zkoumat porty v obecnějším odkazu.

Všechny soubory služeb se řídí stejnou syntaxou :

názvy portů / protokolů aliasy komentáře

Alias ​​a komentář pro každou položku databáze však není nutný, jak vidíte v tomto příkladu soubor služeb:

$ cat / etc / services # # Copyright 2008 Sun Microsystems, Inc. Všechna práva vyhrazena. # Použití je podmíněno licenčními podmínkami. # #ident "@ (#) služby 1.34 08/11/19 SMI" # # Síťové služby, styl internetu # tcpmux 1 / tcp echo 7 / tcp echo 7 / udp discard 9 / tcp sink null discard 9 / udp sink null systat 11 / tcp denní 13 / tcp denní 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ázev serveru 42 / udp nameserver whois 43 / tcp nicname # obvykle na sri-nic swat 901 / tcp # Samba Web Adm.Tool servicetag 6481 / udp servicetag 6481 / tcp snmpd 161 / udp snmp # SMA snmp démona $