Mi az / etc / services a Linux / Unix-ban?

A Linux szolgáltatásfájlok jól ismert portokat tárolnak

A UNIX operációs rendszerek az / etc / services szolgáltatásszolgáltatási fájlt tárolják. Információkat tárol a számos olyan szolgáltatásról, amelyet az ügyfélalkalmazások a számítógépen használhatnak. A fájlon belül a használt szolgáltatás neve, portszáma és protokollja, valamint az esetleges aliasok.

A portszámok meghatározott szolgáltatásokhoz vannak leképezve, ugyanúgy, mint a gazdafájl fájlok a Windows számítógépeken, egy gazdagép nevét egy IP-címre . Azonban a UNIX operációs rendszer szolgáltatásfájlja nem tartalmaz IP-címeket, hanem olyan információkat, mint a TCP vagy UDP szolgáltatás, és milyen közös nevek lehetnek.

Egy egyszerű szövegszerkesztő használható az / etc / services fájl szerkesztésére, mint például a Vim vagy a Kate.

Példa egy UNIX szolgáltatásfájlra

A UNIX rendszeren az / etc / services konfigurációs fájl kulcsfontosságú szerepet játszik abban, hogy a programok a getportbyname () sockets hívását a kódjukban meg lehessen érteni annak érdekében, hogy megértsék, melyik portot kell használniuk. Például egy POP3 e-mail démon egy getportbyname (POP3) -ot fog végrehajtani annak érdekében, hogy a 110-es számot megkapja, amelyen a POP3 fut.

Az ötlet az, hogy ha minden POP3 démon a getportbyname () függvényt használja, akkor függetlenül attól, hogy milyen POP3 démont futtatsz, mindig módosíthatod a port számát az / etc / services szerkesztésével.

Megjegyzés: Nem megbízható a szolgáltatásfájl használata annak érdekében, hogy kiderüljön, mely portszámok jelentik. Ha szeretné megtudni, hogy milyen portprogramokat használ, akkor inkább használja az lsof programot, hogy megtudja, pontosan melyik portra van kötve, mely folyamatokhoz. Ha a lsof futása nem megfelelő, akkor a portokat egy általánosabb referenciaként kell kutatni.

Minden szolgáltatásfájl ugyanazt a szintaxist követi:

name port / protocol aliases megjegyzések

Az adatbázis-bejegyzéshez azonban nem szükséges alias és megjegyzés, amint a szolgáltatási fájlban ez a példa is látható:

$ cat / etc / services # # Copyright 2008 Sun Microsystems, Inc. Minden jog fenntartva. # A felhasználás feltétele a licencfeltételek. # #ident "@ (#) services 1.34 08/11/19 SMI" # # Hálózati szolgáltatások, internetes stílus # tcpmux 1 / tcp echo 7 / tcp echo 7 / udp discard 9 / tcp mosogató null discard 9 / udp sink null systat 11 / tcp felhasználók nappali 13 / tcp nappali 13 / udp netstat 15 / tcp töltés 19 / tcp ttytst forrás töltő 19 / udp ttytst forrás ftp-adatok 20 / tcp ftp 21 / tcp ssh 22 / tcp # Biztonsági Shell telnet 23 / tcp smtp 25 / tcp levelezési idő 37 / tcp időszerver idő 37 / udp időszerver neve 42 / udp nameserver whois 43 / tcp nicname # általában sri-nic swat 901 / tcp # Samba Web Adm.Tool kiszolgáló 6481 / udp servicetag 6481 / tcp snmpd 161 / udp snmp # SMA snmp démon $