Home :: International :: Manuals :: Howto :: FAQ :: Man Pages :: Email Login

 
 

 

SERVICES

Section: Dateiformate (5)
Updated: 4. Januar 1999
Index Return to Main Contents
 

BEZEICHNUNG

services - Internet network Dienste - Liste  

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 (sogenannte "niedrige Portnummern") können nur vom Systemverwalter (root) eingebunden werden (siehe auch bind(2), tcp(7), and udp(7).) Das deshalb, damit Clients, die sich über niedrige Ports mit dem System verbinden, sicher sein können, daß 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, daß dieser Dienst derzeit auch zur Verfügung steht. Siehe inetd.conf(5) zur Konfiguration der angebotenen Internet - Dienste. Beachten Sie jedoch, daß 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 [Aliasse ...]
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.
Aliasse
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), and 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 netzwerk - weit genutzt werden, wenn netzwerk - weite 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 Aliasse verwendet werden.

Zeilen, die länger sind als BUFSIZ (derzeit 1024) Zeichen, werden von getservent(3), getservbyname(3), and getservbyport(3). ignoriert. Das führt allerdings auch dazu, daß 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


 

Index

BEZEICHNUNG
BESCHREIBUNG
BUGS
DATEIEN
SIEHE AUCH

 
 
 
 
Google
  Web Linuxinfor   
 

Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account

Document on this page is part of "Linuxinfor Man Pages in HTML Format: man5". See Index Page for more info about Authorship and Copyright.

1999-2008 Linuxinfor.com. No rights reserved.