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

UNIX sisteme de operare depozitează ceea ce se numește a fisierul de servicii la /etc/services. Stochează informații despre numeroase servicii pe care aplicațiile client le-ar putea folosi pe computer. În fișier se află numele serviciului, numarul portului, și protocolul pe care îl folosește și orice alias aplicabil.

Numerele de port sunt mapate la anumite servicii la fel ca fișierul gazdei de pe computerele Windows mapează un nume de gazdă la un adresa IP. Cu toate acestea, fișierul de servicii al sistemului de operare UNIX nu include adrese IP, ci informații precum dacă serviciul este TCP sau UDP și ce nume obișnuite ar putea avea.

Exemplu de fișier de servicii UNIX

fisierul de servicii

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

Ideea este că, dacă toți demonii POP3 folosesc getportbyname(), atunci indiferent de demonul POP3 pe care îl executați, puteți oricând să-i reconfigurați numărul de port prin editarea /etc/services.

Nu este de încredere să folosiți fișierul de servicii pentru a discerne ce înseamnă numerele de port. Pentru a afla ce porturi folosesc programele, ar trebui să utilizați programul lsof pentru a afla exact ce porturi sunt legate de ce procese. Dacă rularea lsof nu este adecvată, atunci ar trebui să cercetați porturile într-o referință mai generică.

Sintaxă

Toate fișierele de servicii urmează la fel sintaxă de:

nume port/protocol alias comentarii

Cu toate acestea, un alias și un comentariu pentru fiecare intrare în baza de date nu sunt necesare, așa 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 de licență.
#
#ident „@(#)services 1.34 08/11/19 SMI”
#
# Servicii de rețea, stil Internet
#
tcpmux 1/tcp
echo 7/tcp
echo 7/udp
aruncați 9/tcp sink null
arunca 9/udp sink null
utilizatorii systat 11/tcp
ziua 13/tcp
ziua 13/udp
netstat 15/tcp
sursa chargen 19/tcp ttytst
sursa chargen 19/udp ttytst
ftp-date 20/tcp
ftp 21/tcp
ssh 22/tcp # Secure Shell
telnet 23/tcp
smtp 25/tcp mail
timp 37/tcp timserver
time 37/udp timserver
nume 42/udp server de nume
whois 43/tcp nicname # de obicei la sri-nic
swat 901/tcp # Samba Web Adm. Instrument
servicetag 6481/udp
servicetag 6481/tcp
snmpd 161/udp snmp # daemon SMA snmp
$

FAQ

  • Ce este Unix?

    The Sistem de operare Unix este o familie de sisteme de operare. Android, macOS și Linux sunt toate variante Unix. Unix creează medii robuste, multi-utilizator, care sunt bune pentru desktop-uri și servere.

  • Cum mut un fișier dintr-un director în altul în Unix?

    Utilizați comanda Unix/Linux mv printr-o fereastră Terminal pentru a muta fișiere și foldere din jurul computerului dvs. Alternativ, distribuția dvs. Unix/Linux ar trebui să vină cu un manager de fișiere. Managerii de fișiere folosiți în mod obișnuit includ Nautilus, Dolphin, Thunar, PCManFM și Caja.

  • Ce este un shell Unix?

    Un shell Unix este o interfață de sistem Unix care acționează ca un interpret de linie de comandă. Shell-ul Unix primește intrarea dvs. prin intermediul tastaturii și apoi trimite acele comenzi și programe către sistemul de operare pentru a le executa.