Was ist /etc/services unter Linux/Unix?
UNIX Betriebssysteme speichern, was man a. nennt Dienste-Datei unter /etc/services. Es speichert Informationen zu zahlreichen Diensten, die Clientanwendungen möglicherweise auf dem Computer verwenden. In der Datei sind der Dienstname, Port-Nummer, das verwendete Protokoll und alle anwendbaren Aliase.
Die Portnummern werden bestimmten Diensten zugeordnet, genau wie die Hostdatei auf Windows-Computern einen Hostnamen einem IP Adresse. Die Dienstdatei des UNIX-Betriebssystems enthält jedoch keine IP-Adressen, sondern stattdessen Informationen, z. B. ob der Dienst TCP oder UDP ist und welche gebräuchlichen Namen er verwenden könnte.
Beispiel für eine UNIX-Services-Datei

Unter UNIX besteht die Schlüsselrolle der Konfigurationsdatei /etc/services darin, dass Programme einen getportbyname()-Socket-Aufruf in ihrem Code ausführen können, um zu verstehen, welchen Port sie verwenden sollten. Ein POP3-E-Mail-Daemon fragt beispielsweise getportbyname (POP3) ab, um die Nummer 110 abzurufen, auf der POP3 ausgeführt wird.
Die Idee ist, dass Sie, wenn alle POP3-Daemons getportbyname() verwenden, unabhängig davon, welchen POP3-Daemon Sie ausführen, seine Portnummer jederzeit neu konfigurieren können, indem Sie /etc/services bearbeiten.
Es ist unzuverlässig, die Dienstedatei zu verwenden, um zu erkennen, was Portnummern bedeuten. Um herauszufinden, welche Ports Programme verwenden, sollten Sie stattdessen das Programm verwenden lsof um genau herauszufinden, welche Ports an welche Prozesse gebunden sind. Wenn das Ausführen von lsof nicht geeignet ist, sollten Sie die Ports in einer allgemeineren Referenz recherchieren.
Syntax
Alle Dienstdateien folgen dem gleichen Syntax von:
Name Port/Protokollaliase Kommentare
Ein Alias und ein Kommentar für jeden Datenbankeintrag sind jedoch nicht erforderlich, wie Sie in dieser Beispiel-Services-Datei sehen können:
$ cat /etc/services
#
# Copyright 2008 Sun Microsystems, Inc. Alle Rechte vorbehalten.
# Die Nutzung unterliegt den Lizenzbedingungen.
#
#ident "@(#)services 1.34 08.11.19 SMI"
#
# Netzwerkdienste, Internet-Stil
#
tcpmux 1/tcp
echo 7/tcp
echo 7/udp
verwerfen 9/tcp sinken null
verwerfen 9/udp sink null
sysstat 11/tcp-Benutzer
tagsüber 13/tcp
tagsüber 13/udp
netstat 15/tcp
Aufladen 19/tcp ttytst-Quelle
Chargen 19/udp ttytst-Quelle
FTP-Daten 20/tcp
ftp21/tcp
ssh 22/tcp # Sichere Shell
telnet 23/tcp
smtp 25/tcp-Mail
Zeit 37/tcp timserver
Zeit 37/udp timserver
Name 42/udp-Nameserver
whois 43/tcp Nickname # normalerweise zu sri-nic
swat 901/tcp # Samba-Web-Adm. Werkzeug
Service-Tag 6481/udp
Service-Tag 6481/tcp
snmpd 161/udp snmp # SMA snmp-Daemon
$
FAQ
-
Was ist Unix?
Die Unix-Betriebssystem ist eine Familie von Betriebssystemen. Android, macOS und Linux sind alle Unix-Varianten. Unix baut robuste Mehrbenutzerumgebungen, die gut für Desktops und Server sind.
-
Wie verschiebe ich eine Datei in Unix von einem Verzeichnis in ein anderes?
Verwenden Sie den Unix/Linux-Befehl mv über ein Terminalfenster, um Dateien zu verschieben und Ordner auf Ihrem Computer. Alternativ sollte Ihre Unix/Linux-Distribution einen Dateimanager enthalten. Häufig verwendete Dateimanager sind Nautilus, Dolphin, Thunar, PCManFM und Caja.
-
Was ist eine Unix-Shell?
Eine Unix-Shell ist eine Unix-Systemschnittstelle, die als Befehlszeileninterpreter fungiert. Die Unix-Shell empfängt Ihre Eingaben über die Tastatur und sendet diese Befehle und Programme dann zur Ausführung an das Betriebssystem.