Ce este / etc / services în Linux / Unix?

Fișierele de servicii Linux stochează porturi bine cunoscute

Sistemele de operare UNIX stochează ceea ce se numește un fișier de servicii la / etc / services. Stochează informații despre numeroasele servicii pe care aplicațiile client le-ar putea utiliza pe computer. În fișier se află numele serviciului, numărul portului și protocolul pe care îl utilizează și orice alias-uri aplicabile.

Numerele de porturi sunt mapate la anumite servicii asemănătoare fișierelor gazdă de pe computerele Windows, mapând un nume de gazdă la o adresă IP . Cu toate acestea, fișierele de servicii ale sistemului de operare UNIX nu includ adresele IP, ci mai degrabă informații cum ar fi dacă serviciul este TCP sau UDP și ce nume comune ar putea să treacă.

Un editor simplu de text poate fi folosit pentru a edita fișierul / etc / services, cum ar fi Vim sau Kate.

Exemplu de fișier de servicii UNIX

Pe UNIX, rolul-cheie al fișierului de configurare / etc / services este ca programele să poată face apelul sockets getportbyname () în codul lor pentru a înțelege ce port ar trebui să utilizeze. De exemplu, un daemon de e-mail POP3 ar face un getportbyname (POP3) pentru a prelua numărul 110 pe care rulează POP3.

Ideea este că dacă toți daemonii POP3 folosesc getportbyname (), atunci indiferent ce daemon POP3 executați, puteți oricând să vă reconfigurați numărul de port prin editarea / etc / services.

Notă: Este incorect să utilizați fișierul de servicii pentru a afla care sunt numerele porturilor. Dacă doriți să aflați ce programe de port sunt utilizate, ar trebui să utilizați în schimb programul lsof pentru a afla exact ce porturi sunt legate de procese. În cazul în care rulează lsof nu este adecvat, atunci ar trebui să cercetați porturile într-o referință mai generică.

Toate fișierele de servicii urmăresc aceeași sintaxă a:

numele portului / alias al protocolului comentarii

Cu toate acestea, un alias și un comentariu pentru fiecare intrare de bază de date nu este necesar, după cum puteți vedea în acest exemplu de fișier de servicii:

$ cat / etc / services # # Copyright 2008 Sun Microsystems, Inc. Toate drepturile rezervate. # Utilizarea este supusă termenilor licenței. # #ident "@ (#) servicii 1.34 08/11/19 SMI" # # Servicii de rețea, stil Internet # tcpmux 1 / tcp echo 7 / tcp echo 7 / udp discard 9 / tcp sink null discard 9 / udp sink null systat 11 / tcp utilizator 13 / tcp daytime 13 / udp netstat 15 / tcp chargen 19 / tcp ttytst sursă chargen 19 / udp ttytst sursă ftp-data 20 / tcp ftp 21 / tcp ssh 22 / tcp # Secure Shell telnet 23 / tcp smtp 25 / tcp timpul de mail 37 / tcp timpul serverului 37 / udp timserver nume 42 / udp nameserver whois 43 / tcp nicame # de obicei la sri-nic swat 901 / tcp # Samba Web Adm.Tool servicetag 6481 / udp servicetag 6481 / tcp snmpd 161 / udp snmp # SMA snmp daemon $