Qu'est-ce que /etc/services sous Linux/Unix ?

UNIX systèmes d'exploitation stocker ce qu'on appelle un fichier de services dans /etc/services. Il stocke des informations sur de nombreux services que les applications clientes peuvent utiliser sur l'ordinateur. Dans le fichier se trouvent le nom du service, numéro de port, et le protocole qu'il utilise, ainsi que tous les alias applicables.

Les numéros de port sont mappés à des services spécifiques, tout comme le fichier de l'hôte sur les ordinateurs Windows mappe un nom d'hôte à un adresse IP. Cependant, le fichier de services du système d'exploitation UNIX n'inclut pas les adresses IP mais plutôt des informations telles que si le service est TCP ou UDP et les noms communs qu'il peut utiliser.

Exemple de fichier de services UNIX

fichier de services

Sous UNIX, le rôle clé du fichier de configuration /etc/services est de permettre aux programmes de faire un appel de sockets getportbyname() dans leur code afin de comprendre quel port ils doivent utiliser. Par exemple, un démon de messagerie POP3 interroge getportbyname (POP3) pour récupérer le numéro 110 sur lequel POP3 s'exécute.

L'idée est que si tous les démons POP3 utilisent getportbyname(), alors quel que soit le démon POP3 que vous exécutez, vous pouvez toujours reconfigurer son numéro de port en éditant /etc/services.

Il n'est pas fiable d'utiliser le fichier de services pour discerner la signification des numéros de port. Pour savoir quels ports les programmes utilisent, vous devriez plutôt utiliser le programme lsof pour savoir exactement quels ports sont liés à quels processus. Si l'exécution de lsof n'est pas appropriée, vous devez rechercher les ports dans une référence plus générique.

Syntaxe

Tous les fichiers de services suivent le même syntaxe de:

nom port/protocole alias commentaires

Cependant, un alias et un commentaire pour chaque entrée de base de données ne sont pas nécessaires, comme vous pouvez le voir dans cet exemple de fichier de services:

$ chat /etc/services
#
# Copyright 2008 Sun Microsystems, Inc. Tous les droits sont réservés.
# L'utilisation est soumise aux termes de la licence.
#
#ident "@(#)services 1.34 08/11/19 SMI"
#
# Services réseau, style Internet
#
tcpmux 1/tcp
écho 7/tcp
écho 7/udp
rejeter 9/tcp puits nul
rejeter 9/udp récepteur null
utilisateurs systat 11/tcp
jour 13/tcp
jour 13/udp
netstat 15/tcp
chargen 19/tcp ttytst source
chargen 19/udp ttytst source
données ftp 20/tcp
ftp 21/tcp
ssh 22/tcp # Shell sécurisé
telnet 23/tcp
courrier smtp 25/tcp
time 37/tcp serveur de temps
time 37/udp serveur de temps
nom 42/serveur de noms udp
whois 43/tcp nicname # généralement vers sri-nic
swat 901/tcp # Adm Web Samba. Outil
étiquette de service 6481/udp
étiquette de service 6481/tcp
snmpd 161/udp snmp # démon snmp SMA
$

FAQ

  • Qu'est-ce qu'Unix ?

    Les Système d'exploitation Unix est une famille de systèmes d'exploitation. Android, macOS et Linux sont toutes des variantes d'Unix. Unix crée des environnements multi-utilisateurs robustes qui conviennent aux postes de travail et aux serveurs.

  • Comment déplacer un fichier d'un répertoire à un autre sous Unix ?

    Utilisez la commande Unix/Linux mv via une fenêtre de terminal pour déplacer des fichiers et des dossiers autour de votre ordinateur. Alternativement, votre distribution Unix/Linux devrait être livrée avec un gestionnaire de fichiers. Les gestionnaires de fichiers couramment utilisés incluent Nautilus, Dolphin, Thunar, PCManFM et Caja.

  • Qu'est-ce qu'un shell Unix ?

    Un shell Unix est une interface système Unix qui agit comme un interpréteur de ligne de commande. Le shell Unix reçoit votre entrée via le clavier, puis envoie ces commandes et programmes au système d'exploitation pour qu'ils s'exécutent.