Date création : 30-03-2008 14:07:23
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section5 - Formats de fichiers]
SERVICES
Index
- NOM
- DESCRIPTION
- BOGUES
- FICHIERS
- VOIR AUSSI
- TRADUCTION
NOM
services - Liste des services réseau internet
DESCRIPTION
services est un fichier texte ASCII fournissant une correspondance entre
des noms textuels faciles à mémoriser pour les services et les numéros de
ports qui leur sont assignés, ainsi que les types de protocoles. Chaque
programme en relation avec le réseau peut consulter ce fichier pour obtenir
le numéro de port (et le protocole) pour ses services. Les programmes de la
bibliothèque C getservent(3), getservbyname(3), getservbyport(3),
setservent(3) et endservent(3) permettent d'effectuer des requêtes
dans ce fichier à partir de programmes.
Les numéros de ports sont assignés par l'IANA (Internet Assigned Numbers
Authority), et la politique actuelle est, lors de l'assignation d'un numéro
de port, d'assigner à la fois les protocoles TCP et UDP. En conséquence, la
plupart des entrées sont en double, même pour les services qui n'existent
qu'en TCP.
Les numéros de ports inférieurs à 1024 (encore appelés ports « bas » (low
numbered)) ne peuvent être liés que par root (voir bind(2), tcp(7) et
udp(7)). De cette manière, les clients qui se connectent à ces ports
peuvent être certains que le service qui tourne sur le port est conforme à
son implémentation standard et non pas un service pirate lancé par un
utilisateur de la machine. Les numéros de ports habituels, spécifiés par
l'IANA, sont normalement placés dans cet endroit réservé à root.
La présence dans le fichier services(5) d'une entrée pour un service ne
signifie pas forcément que ce service est actuellement actif sur la
machine. Voir inetd.conf(5) pour la configuration des services Internet
offerts. Notez que tous les services réseau ne sont pas démarrés par
inetd(8), et qu'ils n'apparaîtront donc pas dans inetd.conf(5). En
particulier, les serveurs de nouvelles (NNTP) et de courrier électronique
(SMTP) sont souvent initialisés depuis les scripts d'initialisation du
système.
L'emplacement du fichier services est défini par _PATH_SERVICES dans
/usr/include/netdb.h. Il est habituellement défini à /etc/services
Chaque ligne décrit un service, elle est de la forme :
-
nom_de_service port/protocole [alias ...]
- où :
-
- nom_de_service
-
est le nom facilement compréhensible par lequel ce service est connu et
recherché. Il est sensible à la casse. Souvent, le programme client est
appelé du même nom que nom_de_service
- port
-
est le numéro de port (en décimal) à utiliser pour ce service.
- protocole
-
est le type de protocole utilisé. Ce champ doit correspondre à une entrée du
fichier protocols(5). Des valeurs typiques sont tcp et udp.
- alias
-
est une liste optionnelle des autres noms pour ce service, séparés par un
espace ou un caractère de tabulation (voir la section BOGUES ci-dessous). Là
encore, les noms sont sensibles à la casse.
Les champs sont séparés soit par des espaces soit par des tabulations.
Les commentaires débutent par un signe « # » et se poursuivent jusqu'à la
fin de la ligne. Les lignes vierges sont ignorées.
Comme les espaces de tête ne sont pas éliminés, le nom_de_service doit
commencer à la première colonne du fichier. nom_de_service peut comporter
n'importe quel caractère imprimable à l'exclusion des caractères
d'espacement et de tabulation. Cependant, un nombre restreint de caractères
devrait être utilisé afin de minimiser les problèmes d'interopérabilité. Par
ex., a-z, 0-9 et le tiret (-) semble être un choix raisonnable.
Les lignes qui ne correspondent pas à ce format ne devraient pas se trouver
dans ce fichier. (Actuellement, elle sont ignorées silencieusement par
getservent(3), getservbyname(3) et getservbyport(3). Ce
comportement n'est cependant pas garanti).
Pour des raisons de rétrocompatibilité, le slash (/) entre le numéro de
port et le nom de protocole peut être en fait, soit un slash, soit une
virgule (,). L'utilisation de la virgule sur des installations modernes est
dépréciée.
Ce fichier peut être diffusé sur le réseau, en utilisant un service de noms
valable pour l'ensemble du réseau tel que « Yellow Pages/NIS » ou
« BIND/Hesiod ».
Un exemple de fichier services pourrait ressembler à ceci :
-
netstat 15/tcp
qotd 17/tcp quote
msp 18/tcp # protocole d'envoi de message
msp 18/udp # protocole d'envoi de message
chargen 19/tcp source ttytst
chargen 19/udp source ttytst
ftp 21/tcp
# 22 - non assigné
telnet 23/tcp
BOGUES
Le nombre maximum d'alias est de 35 en raison de la manière dont le code de
getservent(3) est écrit.
Les lignes plus longues que BUFSIZ (actuellement 1024) caractères seront
ignorées par getservent(3), getservbyname(3), et
getservbyport(3). Cependant, ceci conduira à une analyse incorrecte de la
ligne suivante.
FICHIERS
- /etc/services
-
Liste des services réseau Internet
- /usr/include/netdb.h
-
Définition de _PATH_SERVICES
VOIR AUSSI
listen(2), endservent(3), getservbyname(3), getservbyport(3),
getservent(3), setservent(3), protocols(5),
inetd(8)
Numéros de RFC assignés, la plus récente est la RFC 1700, (STD0002)
Guide to Yellow Pages Service
Guide to BIND/Hesiod Service
TRADUCTION
Cette page de manuel a été traduite et mise à jour par
Christophe Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003,
puis par Alain Portal <aportal AT univ-montp2 DOT fr> jusqu'en 2006.
La traduction de cette page de manuel est basée sur les traductions
disponibles sur http://manpagesfr.free.fr/,
mais est gérée par l'équipe francophone de traduction de Debian
au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction par un rapport de bogue sur
le paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document en
utilisant la commande
« man -L C <section> <page_de_man> ».
|