Académique Documents
Professionnel Documents
Culture Documents
SERVEURS
Objectifs généraux
Etude des protocoles DHCP, DNS, TFTP, FTP, SMTP, POP et IMAP
Administration du système d’exploitation LINUX
Administration système
Etude de LINUX : commandes d’administration ; administration système ;
gestion des utilisateurs et gestion des groupes ; gestion des services
client/serveur (installation, configuration, vérification DNS, DHCP,…).
Chaque leçon des deux premières parties est suivie d’exercices de consolidation des acquis
permettant à l’étudiant de savoir s’il a véritablement compris la leçon. Bien entendu certains
de ces exercices feront appel à des prérequis vus dans d’autres cours de réseau, l’idée étant
de susciter en l’étudiant l’esprit de recherche.
Cette leçon sur le protocole DHCP vise à apprendre à l’étudiant la plupart si non tous les concepts
inhérents à ce protocole.
DHCP permet à une station d’obtenir l’intégralité de ses paramètres IP (plus de 65 options recensées
à ce jour), ce qui épargne à l’administrateur de devoir configurer manuellement chaque poste de
travail. DHCP est une extension du protocole BOOTP ; il utilise le même format de paquet.
Les stations configurées par DHCP libèrent les adresses lorsqu’elles n’en ont plus besoin. DHCP propose
trois mécanismes d’adressage :
L’allocation manuelle, à l’instar de BOOTP ou RARP, DHCP alloue une adresse spécifique à un
client. L’administrateur gère donc les adresses IP.
L’allocation automatique permet, lors d’une configuration initiale, d’attribuer
automatiquement à une station une adresse IP choisie par le système parmi un pool
d’adresses. La station conserve cette adresse tant qu’elle n’a pas été libérée explicitement par
l’administrateur.
L’allocation dynamique, dans ce mode de fonctionnement, DHCP alloue temporairement (bail)
une adresse IP. En fin de bail, la machine peut en demander le renouvellement.
La figure 1 décrit les différentes étapes d’une configuration automatique DHCP. La station, à
l’initialisation, diffuse un message d’exploration (DHCPDiscover). Tous les serveurs DHCP actifs sur le
réseau formulent une offre de service (DHCPOffer). La station cliente passe alors dans l’état sélection.
Lorsque la station a choisi un serveur DHCP (serveur élu), elle formule auprès de celui-ci une requête
d’affectation d’adresses (DHCPRequest).
Figure 2 :: Format
Figure 19 Formatdudu paquet
paquet DHCP.
DHCP.
Cependant, si le champ giaddr est non nul, cela veut dire que la requête a transité par un routeur. Le
serveur envoie alors le paquet DHCP à cette adresse IP (et donc à l’adresse MAC du routeur via ARP).
Le port UDP de destination est alors 67 (celui du serveur) – au lieu de 68 qui désigne le client , ce qui
permet au routeur d’identifier les paquets DHCP à traiter.
Si le client possède déjà une adresse IP (champ ciaddr non nul), il peut demander des paramètres de
configuration complémentaires (les options DHCP) en envoyant le message DHCP_INFORM. Le serveur
envoie alors sa réponse à l’adresse IP indiquée (donc dans une trame MAC unicast).
Exemple :
Le client envoie toujours ses requêtes dans des trames de broadcast MAC pour plusieurs raisons :
Configuré en relais DHCP, le routeur convertit les broadcast MAC/IP en adresses unicast à destination
du serveur DHCP.
Remarque 1:
Si les stations sont situées sur un réseau IP autre que le serveur DHCP, les requêtes DHCP doivent
transiter par un routeur. Or, ce type d’équipement ne transmet jamais les trames de broadcast MAC,
car il est justement conçu pour délimiter les domaines de broadcast. Il est donc important de
configurer explicitement les routeurs afin de pouvoir relayer les requêtes DHCP.
Remarque 2:
L’adressage IP Privé Automatique ou Automatic Private IP Addressing (APIPA) est utilisé par Microsoft
pour fournir une adresse IP à un ordinateur qui ne parvient pas à trouver un serveur DHCP. De cette
manière, tous les ordinateurs qui sont dans la même situation vont quand même pouvoir
communiquer entre eux.
1 Sur un réseau, quels sont les fichiers de configuration de l’interface Ethernet sous
Linux ?
2 Qu’est-ce qu’un client DHCP ? Comment alors un client DHCP qui utilise le
protocole TCP/IP mais qui n’a pas encore obtenu d’adresse IP par le serveur, peut-il
communiquer sur le réseau ?
DHCP (‘Dynamic Host Configuration Protocol’ RFC 2131 et 2132) est un protocole
client-serveur qui permet à un client hôte d’un réseau local (Ethernet ou Wifi)
d’obtenir d’un serveur DHCP différents paramètres de configuration réseau. En
utilisant DHCP on souhaite surtout fournir à un hôte une adresse IP mais aussi le
masque du sous-réseau auquel appartient cet hôte, l’adresse IP du routeur par défaut
ou encore l’adresse IP d’un serveur DNS. Pour attribuer des adresses IP, un serveur
DHCP reçoit un ensemble d’adresses IP qu’il attribue ensuite sur demande à des
clients pour une période de temps donnée. En DHCP on appelle bail le fait pour un
hôte d’obtenir une adresse IP pour une période de temps définie par le serveur. Le
protocole d’acquisition d’un bail comporte quatre messages principaux :
A - Le client DHCP émet en diffusion un premier message de demande de bail. Le
type de ce message est baptisé DHCPDISCOVER.
Question 1
Question 2
La trace ne donne pas l'adresse MAC destination figurant dans le message numéro 1
(l'adresse MAC source correspond à l'adresse unique de l'émetteur). Même si elle ne
figure pas dans le texte pouvez-vous donner l’adresse destination ?
Question 3
Pour le message numéro 3 de la trace expliquez la signification des adresses source
et destination (à quoi correspondent ces adresses) ? Comment est-il possible que ce
message parvienne correctement à son destinataire ?
Question 4
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1,192.168.1.2;
option domain-name "mondomaine.org";
subnet 192.168.1.0 netmask 255.255.255.0
{
range 192.168.1.10 192.168.1.100;
range 192.168.1.150 192.168.1.200;
}
{
hardware ethernet 00:19:18:A6:47:36 ;
fixed-adress 192.168.0.10;
}
Question 8
Les adresses IP attribuées par ce serveur DHCP correspondent à un choix particulier.
A quelle catégorie appartiennent ces adresses ?
Question 9
On constate dans le fichier de configuration dhcpd.conf deux types de directives
d’allocation d’adresses IP. Dans le cas de la machine ulysse, celle-ci reçoit toujours la
même adresse IP fixe (voir la ligne 'fixed-adress 192.168.0.10'). Citez les avantages
que vous voyez à l’utilisation de DHCP dans ce cas ?
Question 10
Dans le cas du sous réseau 192.168.1.0 l’administrateur définit des plages
d’adresses attribuables dynamiquement (dans les directives range comme range
192.168.1.10 192.168.1.100;). Pourquoi préciser de telles plages d’adresses et quels
avantages en tire-t-on ?
Exercice 2 : QCM
3.
A. 1 B. 6 C. 7 D. 8 E. 9
Objectifs spécifiques :
Cette leçon sur le protocole DNS vise à apprendre à l’étudiant la plupart si non tous les concepts
inhérents à ce protocole.
2.1 Généralités
Rappelons que le nommage est une notion complémentaire de celle de l’adressage, l’un désigne l’objet
(objet nommé) l’autre sa localisation16. Le DNS (Domain Name System) est une base de données
distribuée s’appuyant sur UDP (Port 53).
D’origine IAB (Internet Activities Board), le DNS est une base de données distribuée basée sur le modèle
relationnel client/serveur. La partie cliente, le solveur (resolver), est chargée de résoudre la
correspondance entre le nom symbolique de l’objet et son adresse réseau. En introduisant un
nommage hiérarchique et la notion de domaine (chaque nœud de la hiérarchie peut être un domaine
ou sous-domaine de nommage), le DNS présente les avantages suivants :
gestion simplifiée du nommage (nommage hiérarchique) ;
délégation et répartition des responsabilités d’attribution de noms et d’administration par
domaine de nommage ;
duplication possible de la base (notion de serveur maître ou primaire et de serveur
secondaire), le serveur secondaire pouvant répondre à une requête si le serveur principal est
occupé. La mise à jour se fait uniquement sur le serveur maître avec réplication automatique
des données modifiées sur le serveur secondaire ;
indépendance vis-à-vis d’un constructeur, les resolvers DNS sont, en principe, disponibles sur
tous les environnements TCP/IP.
Les noms sont organisés selon une structure arborescente hiérarchique (arbre inversé) appelée espace
de nommage (figure 1). La racine est au sommet, son nom de domaine est vide, elle est symbolisée
par un point (•). Le nombre de niveaux est limité à 127. Un nom ne peut dépasser 255 caractères et
chaque niveau est limité à 63 caractères. La RFC 1032 préconise de limiter à 12 caractères le nom
attribué à chaque niveau (nœud). Il n’y a pas de distinction Minuscule/Majuscule. Des nœuds peuvent
avoir des noms identiques s’ils sont dans des domaines différents.
Dans la figure 1, le domaine éducation est un sous-domaine du domaine gouv. En principe, c’est l’IANA
qui attribue les noms de domaine. Les noms de domaine géographique (TLD, Top Level Domain) sont,
par délégation, attribués par des organismes régionaux, en France : l’AFNIC (domaine fr). Aucune
signification n’est imposée aux noms de domaine sauf pour le premier niveau :
com, organisations commerciales, en principe possédant des implantations sur plusieurs
domaines géographiques (ibm.com) ;
edu, établissements d’enseignement (réservé aux établissements des USA, mit.edu) ;
gov, établissements gouvernementaux (USA, nsf.gov) ;
mil, organisations militaires américaines (USA, army.mil) ;
net, organisations du réseau Internet (bull.net) ;
org, organisations non commerciales et non gouvernementales (ong.org) ;
int, organisations internationales (onu.int) ;
arpa, domaine réservé à la résolution de nom inversée ;
organisations nationales dont la dénomination est limitée à 2 caractères (fr, uk, it...) ;
...
Une machine est désignée en indiquant l’arborescence complète de son nom (FQDN, Fully Qualified
Domain Name).
➤ Principe
Le client DNS ou solveur (resolver) est un programme de type daemon. Sur sollicitation d’un
programme demandeur, il est chargé d’émettre les demandes et de traduire les réponses. Lors de la
configuration d’une station IP, on lui fournit son nom de domaine, l’adresse de son serveur local de
noms et, éventuellement, une liste ordonnée de serveurs de noms.
Le client solveur (figure 2) interroge le serveur de noms local. Si la recherche est infructueuse le serveur
local interroge le serveur de niveau supérieur (recherche récursive) ou le client interroge lui-même
d’autres serveurs (requête itérative).
➤ Fonctionnement du solveur
Lorsque le programme d’application formule une demande, le resolver interroge son cache (figure 3
gauche) : si la correspondance Nom/@IP y est déjà enregistrée, il fournit directement la réponse au
programme demandeur.
Sinon, il émet une requête au serveur DNS. Celui-ci résout la demande, directement ou par requêtes
itératives ou récursives. Le solveur analyse la réponse, met à jour son cache et fournit la réponse au
demandeur (figure 3 droite).
➤ La résolution inverse
À l’instar de la résolution d’adresses (RARP), la résolution de noms inverse permet d’obtenir, à partir
de l’adresse IP, le nom de la machine. Le domaine arpa, sous-domaine in-addr, a été prévu à cet effet
(figure 4).
L’arbre inverse considère l’adresse comme un nom : par exemple l’adresse du Conservatoire National
des Arts et Métiers (163.173.128.18) est traduite par 18.128.173.163.in-addr.arpa. À chaque octet de
l’adresse IP correspond un nœud de l’arbre. Chaque sous-domaine ainsi défini comporte 256 sous-
domaines. Le 4e niveau correspond au nom du serveur connaissant le nom de domaine associé à cette
adresse.
La RFC 1995 précise un mode de transfert incrémental (seules les modifications sont transférées). La
RFC 1996 spécifie, quant à elle, un mécanisme permettant au primaire de notifier au secondaire que
le SOA vient d’être modifié. Cela évite d’attendre la fin de la période indiquée dans le paramètre
refresh.
2. IPv6 utilise des adresses sur 16 octets. Si un bloc de 1 million d’adresses est
alloué à chaque picoseconde, combien de temps la réserve d’adresses
durera-t-elle ?
15. Qu'appelle-t-on un domaine DNS ? Qu'appelle-t-on une zone DNS ? Vous vous
appuierez sur un exemple pour expliquer la différence entre les deux.
16. Qu'appelle-t-on la délégation de zone ? Vous donnerez un exemple de cas où
ça sert et les enregistrements de ressources associés (avec leur valeur dans le
cas de votre exemple).
17. Obtient-on les mêmes réponses quand on pose la même question à un serveur
DNS secondaire de la zone ou à un serveur primaire ?
Dans les exercices qui suivent, nous allons nous intéresser au fonctionnement du
Domain Name System (DNS), puis pour illustrer son fonctionnement, à une faille de
sécurité découverte par Dan Kaminsky en 2008 permettant d’empoisonner le cache
d’un serveur DNS afin de prendre le contrôle d’un domaine.
DNS est un acronyme signifiant Domain Name System. C’est un protocole permettant
d’associer à des noms de domaine (par exemple www.chezmoi.fr) une adresse IP (par
exemple 140.78.132.45). Les machines se connectent entre-elles à l’aide d’adresses
IP, mais les noms de domaine servent à faciliter la mémorisation et l’utilisation pour
les humains et permettent également de structurer hiérarchiquement l’ensemble du
réseau (en domaines, sous-domaines, etc.).
Lorsqu’un utilisateur veut contacter la machine nommée www.banque.net, il doit
obtenir son adresse IP. Ceci se fait en plusieurs étapes (illustrées sur la Figure 1) :
a. le client demande l’IP de www.banque.net au serveur DNS de son fournisseur
d’accès à Internet
(FAI) ;
b. le serveur DNS du FAI ne connaît pas l’adresse. Il demande alors au serveur DNS
responsable de tous les noms de domaines (a.root-servers.net) l’adresse de
www.banque.net ;
c. bien évidemment, ce serveur ne connaît pas toutes les adresses. Mais il sait que le
serveur responsable du domaine .net est b.gtld.servers.net. Il renvoie alors le nom et
l’adresse IP de ce serveur ;
d. le FAI demande alors à ce serveur l’adresse de www.banque.net ;
e. le DNS du domaine .net renvoie alors le nom et l’adresse du serveur DNS
responsable du domaine
.banque.net ;
f. le FAI interroge ce dernier serveur DNS, qui connaît l’adresse de la machine
www.banque.net et la lui envoie ;
g. le serveur DNS du FAI peut finalement renvoyer l’adresse IP de la machine
demandée par l’utilisateur.
En pratique les serveurs DNS des FAI mémorisent les réponses aux questions qu’ils
ont posées dans un cache, ce qui leur permet d’éviter de faire certaines requêtes s’ils
connaissent déjà la réponse.
2. N’importe qui peut créer un serveur DNS qui prétend connaître les adresses IP des
machines d’un domaine donné (et qui pourrait donc donner de fausses adresses IP).
Pourquoi n’est-ce pas un problème ?
Les messages DNS sont échangés selon le protocole User Datagram Protocol (UDP).
Les communications
UDP sont beaucoup plus simples qu’en TCP car elles ne nécessitent pas l’ouverture
d’une communication entre les deux participants, le message est directement envoyé
à son destinataire sans que celui-ci ait à répondre. Bien que plus simple, UDP
présente deux inconvénients par rapport à TCP : d’une part il n’est pas tolérant aux
erreurs et d’autre part il n’est pas possible de s’assurer de l’adresse
IP dont provient un message.
Une communication DNS contient entre autres les informations suivantes :
– les adresse IP et port de l’émetteur ;
– les adresse IP et port du destinataire ;
– le numéro de requête ;
– la question posée et les réponses éventuelles (« Quelle est l’adresse de la machine
xxx.yyy.zzz ? », « Demander au serveur xxx.yyy.zzz. » ou encore « L’adresse de
xxx.yyy.zzz est aa.bb.cc.dd. »)
Le numéro de requête est fixé par la machine qui émet une requête DNS. Cela permet
en particulier de savoir à quelle question correspond une réponse reçue. Lorsque le
message est une réponse, on rappelle également la question qui avait initialement été
posée.
2. Pourquoi est-il important de limiter la durée de vie des informations dans le cache
? Expliquez pourquoi certaines adresses IP peuvent être gardées en mémoire plus
longtemps que d’autres. Pourquoi est-il important de bien estimer l’ordre de grandeur
des TTL ? (quels sont les inconvénients d’un TTL trop petit ou trop grand)
De plus, lorsqu’on interroge un serveur qui ne connaît pas directement l’adresse
demandée, il renvoie non seulement le nom du nouveau serveur à interroger mais
également son adresse IP. Ces informations supplémentaires (liste de noms de
serveurs et adresses associées) sont appelées glue records et servent à éviter les
boucles infinies de requêtes.
3. Expliquez sur l’exemple du début de l’exercice ce qui se passerait s’il n’y avait pas
de glue record, c’est-à-dire si les serveurs DNS se contentaient de donner le nom du
serveur suivant à interroger, sans donner son adresse.
3. Le phishing est une technique visant à attirer un utilisateur vers un site qui
ressemble à un site sensible (banque, achat en ligne, etc.) pour lui faire envoyer ses
informations bancaires ou personnelles.
En général, on utilise des liens hyper-texte pour amener l’utilisateur sur le faux site.
La plupart des attaques de phishing reposent sur le fait que l’adresse réelle du faux
site ressemble fortement à l’adresse du site imité.
En quoi l’empoisonnement de cache DNS est-il similaire à du phishing ? En quoi
l’attaque DNS est-elle plus puissante que les techniques de phishing ?
Pour réussir à empoisonner le cache DNS, il faut envoyer une réponse au serveur de
telle sorte qu’il croie que c’est une réponse à une question qu’il a posée... Pour qu’une
réponse soit acceptée par le serveur qui a posé la question il faut :
– qu’elle arrive sur le bon port de communication ;
– que la question rappelée dans le message corresponde à une question posée par le
serveur ;
– que le numéro de requête corresponde à celui qui avait été décidé par le serveur
dans la question ;
Indication : N’importe qui peut ouvrir un nom de domaine quelconque puis contrôler
totalement le serveur DNS correspondant à ce nom de domaine. Que se passerait-il
alors si cette personne demandait au DNS de son FAI l’adresse d’une machine se
trouvant dans son domaine ?
3. Lorsque l’attaquant a finalement réussi à faire passer sa réponse pour une vraie
réponse DNS, que se passe-t-il si un autre utilisateur du même FAI essaie de se
connecter à la machine www.banque.net ?
Exercice 6
On considère un hôte se trouvant dans le domaine machin.com qui fait une requête
DNS pour obtenir l'adresse IP du serveur web du sous-domaine
toutenbas.endessous.labas.fr.
1. Donner les différentes requêtes vers les serveurs DNS nécessaire à l'obtention de
l'adresse IP voulue lorsque les requêtes sont itératives.
Objectifs spécifiques :
Cette leçon sur le transfert de fichiers vise à apprendre à l’étudiant la plupart des concepts liés au
transfert de fichiers notamment les protocoles TFTP et FTP.
Le transfert de fichiers est l’une des applications les plus utilisées sur les réseaux. Le modèle
TCP/IP en décline deux versions. L’une allégée (TFTP, Trivial File Transfer Protocol) nécessitant peu de
mémoire et pouvant tenir en mémoire morte des machines sans disque (terminal X, par exemple) et
permettre le téléchargement du système. TFTP utilise UDP. L’autre version, FTP (File Transfer Protocol)
constitue un véritable système de manipulation de fichiers à distance.
TFTP permet le transfert de données en lecture (RRQ, Read ReQuest) ou en écriture (WRQ, Write
Request) de fichiers en ASCII (mode dit netascii) ou en flux d’octets (mode dit octet).
En mode ASCII, mode par défaut, le fichier est structuré en lignes, TFTP insère à la fin de chaque ligne
les caractères CR/LF (Carriage Return/Line Feed, voir tableau des codes ASCII). Le transfert a lieu par
bloc de 512 octets numérotés, la fin du transfert est détectée par un message de données de longueur
inférieure à 512 octets (figure 1).
TFTP utilise UDP, c’est donc à lui de gérer les paquets perdus. Le protocole est du type Send and Wait
(émettre et attendre), chaque extrémité gérant une reprise sur temporisation (transmission
TFTP n’utilise que 5 types de messages décrits figure 3. Le nom de fichier, le mode et les messages
d’erreur sont codés en ASCII. La fin de chaque libellé est indiquée par le code ASCII
« 0 ». En principe, un message d’erreur peut se substituer à un Ack, une retransmission est alors
réalisée. Cependant, dans la plupart des implémentations, un message d’erreur provoque l’arrêt du
transfert.
Notons que TFTP attend les appels sur le port 69, or, contrairement à TCP, UDP ne gère pas le
multiplexage des connexions sur un port. Pour remédier à cette lacune, TFTP attend les appels de
connexions TFTP sur le port réservé 69 (messages RRQ ou WRQ) et répond sur un port éphémère que
le client détectera dans la réponse (port source du message UDP de réponse).
3.2. FTP (File Transfert Protocol)
L’originalité de FTP est d’ouvrir pour chaque session FTP deux connexions simultanées. L’une sur le
port 21 (FTP), l’autre sur le port 20 (FTP_Data). La première connexion, connexion de contrôle ou de
service, sert à l’échange des messages FTP (connexion de signalisation), l’autre au transfert de données
(figure 4). La demande de connexion FTP est établie sur le port 21 et reste active durant toute la session
FTP (connexion permanente). La connexion de transfert sur le port 20 n’est active que durant le
transfert effectif d’un fichier (connexion temporaire).
FTP permet de spécifier :
le type de fichiersFigure
(ASCII,3binaire,
: Format des messages
EBCDIC) ; TFTP.
la structure du fichier (par défaut flux d’octets) ;
le mode de transmission (flux d’octets – valeur par défaut – ou mode bloc).
Contrairement à TFTP, FTP réalise un contrôle d’accès avant l’acceptation de toute connexion. En
principe, il faut posséder un compte sur le serveur FTP pour pouvoir s’y connecter. La session FTP
commence par une procédure de « login » : nom d’utilisateur, mot de passe. Il est aussi possible de se
connecter sans compte (invité). Dans ce cas le nom d’utilisateur est anonymous et le mot de passe
guest (connexion FTP anonyme).
Le tableau de la figure 5 fournit, à titre d’exemple, les commandes les plus courantes de FTP. La
commande HELP liste l’ensemble des commandes disponibles sur un serveur.
Exercice 1 : (TCP)
Exercice 2 :
Soit une connexion TCP identifiée par son quadruplet :< adresse IP 123.45.67.89,
port 12006, adresse IP 12.34.56.78, port 80 >.À quoi correspond cette connexion ?
Traverse-t-elle un ou plusieurs routeurs ?
Objectifs spécifiques :
Cette leçon sur les protocoles de messagerie vise à apprendre à l’étudiant les concepts liés à ces
protocoles.
Le courrier électronique est aujourd’hui l’une des applications les plus populaires du réseau.
Utilisé pour des applications très variées - personnelles, professionnelles, associatives, politiques,
etc. -, celui-ci tend à prendre une place de plus en plus prépondérante par rapport aux moyens de
communication traditionnels.
La messagerie électronique s’appuie principalement sur des serveurs de messagerie, des
protocoles de transport ainsi que sur des protocoles de contenu.
Ainsi, une fois parvenu au serveur de messagerie de destination, le message est enregistré dans
une boîte aux lettres électronique jusqu’à ce que le destinataire le récupère. Ce serveur remplit,
en quelque sorte, le rôle de « bureau de poste ». Pour recevoir ses courriers électroniques, il n’est
donc pas nécessaire d’être connecté en permanence. A chaque nouvelle connexion, il sera
possible de récupérer tous les derniers messages envoyés sur son adresse électronique.
Chaque e-mail est stocké sur un serveur avant d’être lu. Même si chaque boîte aux lettres est
protégée par un identifiant et un mot de passe, la messagerie électronique apparaît, à cet égard,
comme un service moins sécurisé et moins confidentiel que le courrier traditionnel.
Lorsqu’un correspondant interroge sa boîte aux lettres électronique, il rapatrie ses messages qui
se trouvent sur son serveur de courrier. Lorsqu’il expédie un courrier à quelqu’un, celui-ci est
acheminé vers un serveur de courrier, dans la boîte aux lettres du destinataire, jusqu’à ce que
celui-ci lise son courrier.
Quand un e-mail contient l’adresse d’un destinataire qui s’avère erronée, le serveur de courrier se
charge de renvoyer le courrier avec la raison du refus.
Lorsque l’expéditeur envoie un courrier électronique, il met en œuvre le protocole SMTP. Il utilise
à cet effet le serveur SMTP de son fournisseur d’adresses. L’e-mail entre alors dans la nébuleuse
Internet. D’ordinateur en ordinateur, celui-ci est acheminé, selon un parcours qui peut varier, vers
le serveur du destinataire. Les différents serveurs de courrier électronique s’échangent les e-mails
de nouveau selon le protocole SMTP. Pour consulter ses messages, le destinataire doit enfin les
relever en utilisant le protocole POP. Il utilise ainsi le serveur POP (ou POP3) de son fournisseur
d’adresses. Il peut également, si son fournisseur d’adresses le lui permet, utiliser le protocole
IMAP, plus puissant.
SMTP met en communication deux serveurs, en gros deux bureaux de poste : celui de la personne
qui envoie un courrier (dans notre exemple, il a pour nom smtp.wanadoo.fr) et celui de la
personne qui le reçoit (smtp.free.fr).
Dans votre logiciel de courrier vous devrez donner l’adresse de votre serveur POP, généralement
du type pop. nom_de_domaine
L’IMAP (Interactive Mail Access Protocol) est un protocole qui vous permet, depuis un
programme installé sur votre ordinateur ou votre smartphone, d’accéder aux messages de votre
boîte aux lettres électronique.
A la différence du protocole POP qui transfère les messages de votre boîte aux lettres sur votre
ordinateur puis les efface du serveur, IMAP effectue une synchronisation des messages et des
dossiers (boîte de réception, messages envoyés, brouillons, archives, etc.) entre le serveur et votre
Utilisation IMAP
Vous pouvez mettre en œuvre l’IMAP pour votre courriel à 2 conditions :
La première est que votre fournisseur d’adresse e-mail mette à disposition un serveur
IMAP.
A ce jour, de nombreux fournisseurs le proposent : Gmail, Yahoo! Mail, LaPoste.net, GMX, Free ou
SFR par exemple. Orange le réserve encore à ses abonnés mobile ou ayant souscrit l’option
GigaMail, Hotmail préfère proposer le protocole Exchange.
Pour relever votre boîte aux lettres selon le protocole IMAP, il vous suffit de créer un nouveau
compte dans votre logiciel de messagerie, en choisissant l’option IMAP. Au lieu d’entrer une
adresse du serveur POP, vous préciserez alors l’adresse du serveur IMAP de votre service de mail,
du type imap.nom_de_domaine).
Exemples : imap.orange.fr, imap.free.com, imap.gmail.com, imap.sfr.fr
Attention : pour certains services, comme Gmail, il faut auparavant activer l’option IMAP.
Pour configurer IMAP selon votre client de messagerie, vous pouvez consulter cette page du site
Arobase.org.
Par défaut les ports sont 25 pour SMTP, 110 pour POP (995 en SSL) 143 pour IMAP (993 en
SSL).
Exercice 1 :
telnet smtp.wanadoo.fr 25
220 mel-rta10.wanadoo.fr ESMTP Service (6.5.007) ready
HELO salemioche.com
250 mel-rta8.wanadoo.fr
MAIL FROM: <linuxmag@salemioche.com>
250 MAIL FROM:<linuxmag@salemioche.com> OK
RCPT TO: <nicolas@salemioche.com>
250 RCPT TO:<nicolas@salemioche.com> OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
bonjour,
ceci est un message de linuxmag pour nicolas.
.
250 <3D8011E600743103> Mail accepted
QUIT
221 mel-rta7.wanadoo.fr QUIT
Cette leçon vise à apprendre à l’étudiant la plupart des notions sur le système de fichiers Linux. C’est
ainsi qu’à la fin de ce chapitre, vous devez être à mesure :
INTRODUCTION
A sa conception, UNIX devrait fonctionner en mode DESK sans interfaçage pour assurer la
relation entre l’utilisateur et le système. Bien qu’aujourd’hui de nombreux interface est vu le
jour, le terminal reste un outil de configuration puissant et universel.
Un terminal est une interface permettant d’accéder au système. C’est au travers de ce dernier
que les commandes sont tapées. Il est possible de se connecter à plusieurs terminaux en même
temps grâce à la combinaison de touches ALT+ Fn (Ex : Alt+F1, Alt+F2).
Dans les Linux, la ligne de commande (CLI (Commande Ligne Interface)) est la méthode de
configuration système la plus efficace.
- Les comptes utilisateurs : créer pour chaque utilisateur présent sur le système. Lors d’un
accès en utilisateur classique, l’invite de commande est généralement composée du nom
d’utilisateur courant avec le symbole $. Ex : User@localhost $.
- Compte Root : c’est l’administrateur système et est également appelé super-utilisateur et
l’invite de commande est composé du nom du super-utilisateur et du symbole #.
2- Organisation du FHS
Le FHS File system Hierachy Standard est une convention qui organise l’arborescence des
répertoires sous Linux. Grace à ce principe, lors de l’installation de programme, les fichiers
s’installent dans les bons répertoires.
Le principe de base FHS est que tout est fichier. Par exemple une imprimante sera configurée
comme un fichier dans lequel on peut écrire.
1- Partition racine (/) : elle est la base de l’arborescence du système. Par défaut si aucun réglage
n’est changé, c’est dans celle-ci que tous les fichiers vont être placés : fichier de configuration,
périphérique, fichier programme.
2- Partition swap (échange) : l’espace d’échange (swap) est une extension de la mémoire vive
de l’ordinateur. Afin d’éviter un blocage de l’ordinateur lorsque la RAM est plein, Ubuntu
se sert de cette partition pour décharger temporairement la RAM.
NB : Pour calculé la mémoire du swap (mémoire swap=1.5 x ram).
- Le répertoire /bin : contient les binaires vitaux pour les utilisateurs (les exécutables) ;
- Le répertoire /boot : contient les fichiers relatifs au boot loader ;
- Le répertoire /dev : contient tous les périphériques ;
- Le répertoire /etc : contient les fichiers de configuration et les fichiers nécessaire au démarrage
;
- Le répertoire /home : contient les dossiers personnels de l’utilisateur ;
- Le répertoire /lib : répertoire qui contient les librairies partagées ;
- Le répertoire /mnt : répertoire qui contient les dossiers pour les points de montages ; - Le
répertoire /Root : répertoire personnel du super-utilisateur ; - Le répertoire /user : répertoire
qui contient tous ce qui est vitale.
Le système de fichier de Linux est donc une représentation virtuelle de tout le système. Pour se
déplacer aux seins des fichiers organisés de manière hiérarchique, il existe deux types de chemins :
Le chemin absolu d’un dossier ou d’un fichier est son emplacement à partir de la racine. La
séparation entre les niveaux de la hiérarchie se fait par des slashs.
Par exemple si l’on considère le répertoire /log situé dans le répertoire var qui lui-même se trouve
à la racine du système, le chemin absolu de ce répertoire écrit : /var/log.
Le chemin absolu du répertoire local présent dans ce schéma est /Usr/local et la commande pour y
arriver est la suivante : User@localhost$ cd /Usr/local.
Etc Home Us Va
User Local
Files
Cours dispensé par Mr KAMOU Yannick : Ingénieur Systèmes et Réseaux
b) Les chemins relatifs Le chemin relatif est le parcours à effectuer dans la
hiérarchie depuis l’endroit où on trouve. Ex : supposons que nous sommes dans le
répertoire /user/local et qu’on souhaite se retrouver dans le répertoire file : la syntaxe
est la suivante : cd /../../../Usr/local.
Le Shell assure l’exécution des commandes entrées dans le terminal par les utilisateurs. Il existe
plusieurs Shell possédant des spécificités qui lui sont proposé. Le choix du Shell dépend du système
installé ou des préférences de l’utilisateur, voici quelques Shell :
Le Shell Bash étant le Shell le plus stable, c’est lui que nous utiliserons dans la suite de ce cours.
Sous Linux, tous est fichier, il est donc très important de maitriser les commandes pour utiliser les
fichiers. Nous présenterons quelques commandes permettant de manipuler ces fichiers :
Ces commandes sont certes élémentaires mais primordial car elles constituent la base de la
manipulation du système. Il est recommandé de bien les pratiquées afin de bien les retenir. Ex :
user@localhost$cd /etc, $Mkdir /file, $ cd file 1, $Touch file 1.
Cat <fichier> : affiche le contenu d’un fichier ; More
<fichier> : permet de lire le fichier page par page, Taille
<fichier>. Permet de lire.
I- INTRODUCTION
La configuration des systèmes se faisant via des fichiers de configuration. Les systèmes Linux
proposent différents éditeurs de texte bien qu’il ne soit pas graphique comme Word. Les éditeurs
que nous avons choisis dans ce cours sont les éditeurs (Vir).
Nous avons choisis de présenter l’éditeur de texte Vir car il s’agit de loin le plus utilisé sur les
systèmes Linux. Vir est une version amélioré de l’éditeur Vi possédant plus de commandes et
d’option. Pour apprendre à manipuler l’éditeur, il est proposé l’éditeur Vintutor qui présente sous
forme de tutoriaux l’utilisation des commandes principal. Pour exécuter le Vintutor, il suffit d’entrer
la commande Vintutor.
1- Appel à l’éditeur
Vim est éditeur interactif qui est exécuté depuis la ligne de commande du terminal. Pour le
lancer, il suffit de taper la commande Vim ou Vi. Cette dernière est un raccourci vers la
première. L’éditeur démarre alors et créer un fichier vide. Il est possible d’ouvrir un fichier
depuis la ligne de commande en utilisant la syntaxe suivante : $ Vi fichier.
I- INTRODUCTION
Linux est un système multi-utilisateur : plusieurs personnes peuvent utiliser simultanément via
différent terminaux.
Pour le système un utilisateur n’est pas obligatoirement une personne physique. Il doit posséder un
login lui permettant de démarré une session et ce login est associé à un mot de passe personnel. Ce
processuce est appelé authentification du système
II- CHANGEMENT D’IDENTITE
Il se peut que l’utilisateur soit obligé d’effectuer des taches avec une identité différente. La
situation la plus courante est celle d’un utilisateur qui voudrait effectuer certaines taches entend
qu’administrateur. La commande su permet de changer d’identité et nous avons :
1- Notion de propriétaire
Puisque tout est fichier sous Linux, et qu’il s’agit d’un système multi-utilisateur, il est important de
cloisonner certaines parties du système afin que l’utilisateur n’ait pas accès à toutes les ressources
présentes sur l’ordinateur. Pour cela différente permissions sont attachées à chaque fichier ce
principe de cloisonnement. Ce principe de cloisonnement de données passe par un principe de
propriété. Le principe est simple, on distingue trois types de relations par rapport à la propriété d’un
fichier avec chacune des droits différents :
2- Permissions
A la notion d’appartenance s’ajoute celle des permissions attribuées aux différents types
propriétaires. Il existe trois types de droits que l’on alloue à chaque propriétaire :
Ces trois types de droits sont attribués séparément à trois types d’utilisateur :
NB : Touch permet de créer un fichier (Touch Loïc), Cat permet de lire/afficher le contenu d’un
fichier, Grep permet de rechercher un fichier
La commande chmod permet de modifier les droits d’un fichier. Cette commande en argument les
lettres servant de raccourci aux droits et aux entités. Ex : chmod u+w, g-x, o= rx nom fichier
(dans cet exemple on ajoute le droit d’écriture au propriétaire, on retire le droit d’exécution au
membre du groupe du propriétaire et enfin on définit les droits de lecture et d’exécution à tous les
autres utilisateurs.
2- Supprimer un utilisateur
La commande userdel permet de supprimer un user et la syntaxe est la suivante : userdel
nom_user.
1- Création de groupe
La commande groupeadd permet de créer un groupe ou un nouveau groupe utilisateur et la syntaxe
est groupadd nom du groupe.
La commande groupmod permet de modifier les caractéristiques d’un groupe dont la syntaxe est la
suivante groupmod nom_groupe.
Par convention tous les périphériques sont représentés dans le dossier /dev par des fichiers
nommés en fonction d’une convention indiquant le type de disque : les disques IDE (hd), SATA
(sd), SCSI (sd). A ce nom est ajouté une lettre permettant de déterminé l’emplacement du disque
sur le bus et enfin un numéro permettant d’éditer le numéro de partition. Par exemple la première
partition du disque maitre du disque sera représenté par /dev/hda1 ou a représente l’emplacement
et 1 le numéro de partition.
1- Notion de partition
Pour être utiliser par le système un disque doit être structuré et formater. Le formatage consiste à
définir la manière dont les données sont stockées dans le disque. Cette organisation est nommée
système de fichier. Sous Linux un disque peut contenir quatre partitions primaires et également une
partition entend que partition étendue. Une partition étendue est un espace pouvant contenir
jusqu’à 12 partition logiques.
Sous Linux contrairement à un système Microsoft, un disque pourra ainsi contenir 15 partitions
utilisables soit 3 primaires et 12 logiques. Chaque partition n’est pas représentée sous forme de
lecteur mais est accessible depuis un répertoire du système. Ajouté une partition dans
l’arborescence est appelé montage. Le répertoire ou l’on ajoute cette partition est nommé point de
montage.
Commande Description
#fdisk /dev/m Aide
#fdisk /dev/p Afficher l’état du disque
#fdisk /dev/n Permet de créer les nouvelles partitions
#fdisk /dev/d Supprimer une partition
Ex : Pour créer une partition primaire contenant le swaap (mémoire virtuelle) d’une taille de Mo, et
une partition racine de 5 Go, nous écrivons :
Command action
E: extended
Une fois le disque dur partitionné et formaté, il est à présent utilisable. Comme précédemment
expliqué, il est nécessaire de le monté afin de pouvoir y accéder.
En pratique cela consiste à ajouter un répertoire appelé point de montage qui va pointer vers la
ressource voulue. Par convention les points de montage sont regroupés dans le dossier /mnt.
La commande mount permet de monté un périphérique. Si l’on utilise mount sans paramètre on
obtiendra la liste des périphériques déjà montés. Ex : # mount –t type/dev/partition/mnt/dir.
L’option –t renseigne sur le système de fichier utilisé. La commande umount permet de démonté
un périphérique et la syntaxe est la suivante : # umount /mnt/dir.