Hvad er /etc/services i Linux/Unix?

UNIX operativsystemer gemme det, der hedder en tjenester fil på /etc/services. Den gemmer oplysninger om adskillige tjenester, som klientapplikationer kan bruge på computeren. I filen er tjenestenavnet, portnummer, og den protokol, den bruger, og eventuelle relevante aliaser.

Portnumrene er knyttet til specifikke tjenester ligesom værtens fil på Windows-computere tilknytter et værtsnavn til en IP-adresse. UNIX-operativsystemets servicefil indeholder dog ikke IP-adresser, men i stedet oplysninger som om tjenesten er TCP eller UDP, og hvilke almindelige navne den kan gå under.

Eksempel på en UNIX Services-fil

tjenester fil

På UNIX er nøglerollen for konfigurationsfilen /etc/services, at programmer kan lave et getportbyname()-sockets-kald i deres kode for at forstå, hvilken port de skal bruge. For eksempel forespørger en POP3-e-mail-dæmon getportbyname (POP3) for at hente nummeret 110, som POP3 kører på.

Ideen er, at hvis alle POP3-dæmoner bruger getportbyname(), så uanset hvilken POP3-dæmon du kører, kan du altid omkonfigurere dens portnummer ved at redigere /etc/services.

Det er upålideligt at bruge servicefilen til at se, hvad portnumre betyder. For at finde ud af hvilke porte programmer bruger, bør du i stedet bruge programmet lsof at finde ud af præcis hvilke porte der er bundet til hvilke processer. Hvis det ikke er passende at køre lsof, bør du undersøge portene i en mere generisk reference.

Syntaks

Alle servicefiler følger det samme syntaks af:

navn port/protokol alias kommentarer

Et alias og en kommentar for hver databasepost er dog ikke nødvendig, som du kan se i dette eksempel på servicefil:

$ kat /etc/services
#
# Copyright 2008 Sun Microsystems, Inc. Alle rettigheder forbeholdes.
# Brug er underlagt licensbetingelser.
#
#ident "@(#)tjenester 1.34 08/11/19 SMI"
#
# Netværkstjenester, internetstil
#
tcpmux 1/tcp
ekko 7/tcp
ekko 7/udp
kasser 9/tcp vask null
kassere 9/udp vask null
systat 11/tcp-brugere
dagtid 13/tcp
dagtid 13/udp
netstat 15/tcp
chargen 19/tcp ttytst kilde
chargen 19/udp ttytst kilde
ftp-data 20/tcp
ftp 21/tcp
ssh 22/tcp # Secure Shell
telnet 23/tcp
smtp 25/tcp mail
tid 37/tcp timserver
tid 37/udp timserver
navn 42/udp navneserver
whois 43/tcp kaldenavn # normalt til sri-nic
swat 901/tcp # Samba Web Adm. Værktøj
servicetag 6481/udp
servicetag 6481/tcp
snmpd 161/udp snmp # SMA snmp-dæmon
$

FAQ

  • Hvad er Unix?

    Det Unix styresystem er en familie af operativsystemer. Android, macOS og Linux er alle Unix-varianter. Unix bygger robuste flerbrugermiljøer, der er gode til desktops og servere.

  • Hvordan flytter jeg en fil fra en mappe til en anden i Unix?

    Brug Unix/Linux mv-kommandoen via et terminalvindue til at flytte filer og mapper omkring din computer. Alternativt bør din Unix/Linux-distribution komme med en filhåndtering. Almindelig brugte filhåndteringer inkluderer Nautilus, Dolphin, Thunar, PCManFM og Caja.

  • Hvad er en Unix-skal?

    En Unix-skal er en Unix-systemgrænseflade, der fungerer som en kommandolinjefortolker. Unix-skallen modtager dit input via tastaturet og sender derefter disse kommandoer og programmer til operativsystemet for at udføre dem.