BEZEICHNUNG¶
services - Liste von Internet-Netzwerkdiensten
BESCHREIBUNG¶
services ist eine einfache ASCII-Datei für die Zuordnung einfach
lesbarer Namen von Internet-Diensten zu den zugrundeliegenden zugehörigen
Portnummern und Protokolltypen. Jedes Netzwerkprogramm sollte sich seine
Portnummer (und das Protokoll) aus dieser Datei holen. Mit den
C-Bibliotheksroutinen
getservent(3),
getservbyname(3),
getservbyport(3),
setservent(3) und
endservent(3)
können Sie aus einem Programm heraus diese Datei abfragen.
Portnummern werden von der IANA (Internet Assigned Numbers Authority) vergeben.
Ihre derzeitige Politik ist es, jeder Portnummer sowohl das TCP- als auch das
UDP-Protokoll zuzuordnen. Daher werden die meisten Einträge zweifach
vorhanden sein, selbst bei reinen TCP-Diensten.
Portnummern unterhalb 1024 (so genannte »niedrige« Ports) können
nur vom Systemverwalter (root) zugewiesen werden (siehe auch
bind(2),
tcp(7) und
udp(7)). Das soll für über niedrige Ports
mit dem System verbundene Clients gewährleisten, dass an diesem Port eine
Standardimplementierung läuft und nicht irgendeine »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 Dienste-Eintrags in der
services-Datei bedeutet
noch nicht, dass dieser Dienst derzeit auch auf der Maschine läuft. Siehe
inetd.conf(5) zur Konfiguration der angebotenen Internetdienste.
Beachten Sie jedoch, dass nicht alle Netzwerkdienste von
inetd(8)
gestartet werden, also auch nicht in
inetd.conf(5) eingetragen sind.
Insbesondere News(NNTP)- und Mail(SMTP)-Server werden häufig von Skripten
beim Hochfahren des Systems gestartet.
Den Speicherort der Datei
services definiert das Makro
_PATH_SERVICES in
/usr/include/netdb.h. Üblicherweise ist
der Pfad auf
/etc/services gesetzt.
Jede Zeile beschreibt einen Dienst und hat folgende Form:
- Dienstname Port/Protokoll [Aliase
...]
- mit:
- Dienstname
- Die leicht lesbare Bezeichnung für den Dienst, unter
der er bekannt ist und mit der er gefunden wird.
Groß-/Kleinschreibung wird beachtet. Häufig trägt das
Client-Programm den gleichen Namen wie Dienstname.
- Port
- ist die für diesen Dienst vorgesehene, dezimale
Portnummer.
- Protokoll
- ist die Art des zu verwendenden Protokolls. Dieses Feld
sollte einem Eintrag in der Datei protocols(5) entsprechen. Zu den
typischen Werten gehören tcp und udp.
- Aliase
- ist eine optionale Liste weiterer Namen für diesen
Dienst. Auch hier wird zwischen Groß- und Kleinschreibung
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
Dienstname sollte in der ersten Spalte beginnen, da führende
Leerzeichen nicht entfernt werden.
Dienstnamen können aus allen
druckbaren Zeichen außer Leer- und Tabulatorzeichen bestehen. Jedoch
sollte die Auswahl konservativ erfolgen, um Probleme bei der Verbindung
unterschiedlicher Systeme zu vermeiden. 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.)
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 - unassigned
telnet 23/tcp
DATEIEN¶
- /etc/services
- die Liste von Internet-Netzwerkdiensten
- <netdb.h>
- Definition von _PATH_SERVICES
SIEHE AUCH¶
listen(2),
endservent(3),
getservbyname(3),
getservbyport(3),
getservent(3),
setservent(3),
inetd.conf(5),
protocols(5),
inetd(8)
Assigned Numbers RFC, der aktuellste: RFC 1700 (auch bekannt als STD0002)
KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux-
man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler
gemeldet werden können, finden sich unter
http://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Mike Fengler
<mike@krt3.krt-soft.de>, Martin Schulze <joey@infodrom.org> und
Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public
License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird
KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken
Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.