Provided by:
manpages-de_0.5-4.1ubuntu1_all 
BEZEICHNUNG
services - Internet network Diensteliste
BESCHREIBUNG
services ist eine einfache ASCII-Datei zur Umsetzung einfach lesbarer
Namen für Internet-Dienste in die zugrundeliegenden zugehörigen
Portnummern und Protokolltypen. Jedes Netzwerkprogramm sollte sich
seine Portnummer (und das Protokoll) aus dieser Datei holen. Die C
Bibliotheksroutinen getservent(3), getservbyname(3), getservbyport(3),
setservent(3), und endservent(3) dienen dem Auslesen dieser Datei aus
einem Programm heraus.
Portnummern werden von der IANA (Internet Assigned Numbers Authority)
vergeben. Deren derzeitige Politik ist es, jeder Portnummer sowohl das
TCP als auch das UDP Protokoll zuzuordnen. Daher werden die meisten
Eintragungen zweifach vorhanden sein, selbst bei reinen TCP-Diensten.
Portnummern unterhalb 1024 (so genannte "niedrige Portnummern") können
nur vom Systemverwalter (root) eingebunden werden (siehe auch bind(2),
tcp(7) und udp(7).) Das deshalb, damit Clients, die sich über niedrige
Ports mit dem System verbinden, sicher sein können, dass an diesem Port
ein Standard-Dienst läuft und nicht irgend eine "wilde" Implementierung
eines Benutzers. Von der IANA veröffentlichte Portnummern (well-known
port numbers) liegen normalerweise in diesem, nur root zugänglichen
Bereich.
Das Vorhandensein eines Eintrags für einen Dienst in die services -
Datei bedeutet noch nicht, dass dieser Dienst derzeit auch zur
Verfügung steht. Siehe inetd.conf(5) zur Konfiguration der angebotenen
Internet-Dienste. Beachten Sie jedoch, dass nicht alle Netzwerk-
Dienste von inetd(8), gestartet werden, also auch nicht in
inetd.conf(5). auftauchen. Insbesondere News (NNTP) und Mail (SMTP)
Server werden häufig von Skripts während des Hochfahren des Systems
gestartet.
Wo die services - Datei zu finden ist, steht in _PATH_SERVICES in
/usr/include/netdb.h. Das ist üblicherweise /etc/services.
Jede Zeile beschreibt einen Dienst und hat folgende Form:
Dienst-Name Port/Protokoll [Aliase ...]
Dabei bedeuten:
Dienst-Name
Die leicht lesbare Bezeichnung für den Dienst, unter der er
bekannt ist und mit der er gefunden wird. Groß /
Kleinschreibung werden beachtet. Häufig hat das Client-
Programm den gleichen Namen wie Dienst-Name.
Port ist die dezimale Portnummer, die für diesen Dienst vorgesehen
ist.
Protokoll ist die Art des zu verwendenden Protokolls. Dieses Feld
sollte einem Eintrag in der protocols(5) - Datei gleichen.
Typische Werte sind tcp und udp.
Aliase ist eine optionale Liste weiterer Namen für diesen Dienst.
Als Trennzeichen dienen Leerzeichen oder Tabulatoren.
(Beachten Sie aber den Hinweis unter BUGS) Auch hier wird
zwischen Großschrift und Kleinschrift unterschieden.
Zum Trennen der Felder können Leer- oder Tabulatorzeichen verwendet
werden.
Kommentare beginnen mit dem Zeichen # und erstrecken sich bis ans
Zeilenende. Leerzeilen werden ignoriert.
Der Dienst-Name sollte in der ersten Spalte beginnen, da führende
Leerzeichen nicht entfernt werden. Dienst-Namen können aus allen
druckbaren Zeichen außer Leer- und Tabulatorzeichen bestehen. Jedoch
sollte die Auswahl konservativ erfolgen, um Probleme zu vermeiden, die
bei der Verbindung unterschiedlicher Systeme auftreten können.
Sinnvoll wäre z.B. die Verwendung von a-z, 0-9 und Bindestrich (-) .
Anders aufgebaute Zeilen sollten nicht in der Datei stehen. (Derzeit
werden solche von getservent(3), getservbyname(3) und getservbyport(3)
stillschweigend übergangen. Darauf sollte man sich aber nicht
verlassen.)
Aus Gründen der Verträglichkeit mit alten Systemen kann der
Schrägstrich (/) zwischen Port und Protokoll auch durch ein Komma (,)
ersetzt werden. Von der Verwendung des Kommas wird aber bei modernen
Installationen abgeraten.
Diese Datei kann netzwerkweit genutzt werden, wenn netzwerkweite
Namensdienste wie Yellow Pages/NIS oder BIND/Hesiod eingesetzt werden.
Eine Beispiel - services könnte so aussehen:
netstat 15/tcp
qotd 17/tcp quote
msp 18/tcp # message send protocol
msp 18/udp # message send protocol
chargen 19/tcp ttytst source
chargen 19/udp ttytst source
ftp 21/tcp
# 22 - keine Zuordnung
telnet 23/tcp
BUGS
Wegen der Arbeitsweise von getservent(3) dürfen maximal 35 Aliase
verwendet werden.
Zeilen, die länger sind als BUFSIZ (derzeit 1024) Zeichen, werden von
getservent(3), getservbyname(3) und getservbyport(3). ignoriert. Das
führt allerdings auch dazu, dass die nächste Zeile fehlerhaft
ausgewertet wird.
DATEIEN
/etc/services
The Internet network services list
/usr/include/netdb.h
Definition von _PATH_SERVICES
SIEHE AUCH
getservent(3), getservbyname(3), getservbyport(3), setservent(3),
endservent(3), protocols(5), listen(2), inetd.conf(5), inetd(8).
Assigned Numbers RFC zuletzt RFC .BR 1700 (auch bekannt als STD0002)
Guide to Yellow Pages Service
Guide to BIND/Hesiod Service