Formation Linux
Formation Linux
Formation Linux
By Trong. O. GAMPOULA
Exemples de Missions en alternance : stages de fin de formation
Intégration et support en architecture Réseau et Téléphonie sur IP sous GNU/Linux ;
Supervion Réseaux et Système, avec remonté d’alerte par Push E-Mail et Email ;
Migration d’un système de messagerie Exchange vers Zimbra Collaboration Suite ;
Système de stockage réseau à faible coût sous GNU/Linux ;
Authentification GNU/Linux dans un domaine Microsoft Active Directory ;
Optimiser votre système d’information, à travers les technologies suivantes: Cloud
Computing, Manager avec les ERP, Clustering, communication unifiée…
By Trong. O. GAMPOULA
PARTIE A: ADMINISTRATION SYSTEME DE BASE
GNU/Linux
By Trong. O. GAMPOULA
PARTIE B : SERVICES RESEAUX SOUS GNU/Linux
Chapitre I : Configuration et utilisation du réseau 3h
By Trong. O. GAMPOULA
Chapitre I:
Présentation, Installation
et Commandes GNU/Linux
By Trong. O. GAMPOULA
Chapitre I: Présentation de GNU/Linux
GNU/Linux : AT&T et BSD (Berkeley Software Distribution).
C'est un Unix à part entière
C'est un logiciel libre distribué sous licence GPL
Les sources du noyau Linux sont disponibles sur http://www.kernel.org/
Intègre :
le noyau Linux (clone du système Unix écrit par Linus Torvalds et toute une
équipe de développeurs sur Internet);
des composants logiciels libres issus du projet GNU (gcc, emacs, bash...);
le projet GNU initié par Richard Stallman dispose déjà de tout le nécessaire,
Linux sera le noyau qui manque au système d’exploitation GNU.
Disponible pour toutes les plateformes (PC, station,cluster, ...)
La plupart des éditeurs de solutions UNIX propriétaires intègrent GNU/Linux
en remplacement (IBM, HP, SiliconGraphics ...)
7
By Trong. O. GAMPOULA
Tout au long de cette formation, nous utiliserons le système Redhat Enterprise linux 6
(RHEL 6) et/ou CEntOS 6
8
By Trong. O. GAMPOULA
Chapitre I: Présentation de GNU/Linux
Découverte du système d'exploitation GNU/ Linux:
Qu'est ce qu'une distribution Linux?
Une distribution Linux, appelée aussi distribution GNU/Linux pour faire référence
aux logiciels du projet GNU, est un ensemble cohérent de logiciels, la plupart étant
des logiciels libres, assemblés autour du noyau Linux.
Le terme « distribution » est calqué sur l’anglais software distribution qui signifie « collection
de logiciels » en français. On préférera ainsi en français le terme de «système
GNU/Linux ».
Il existe une très grande variété de systèmes GNU+Linux, ayant chacun des objectifs et
une philosophie particulière. Les éléments différenciant principalement ces systèmes
d’exploitation sont : la convivialité (facilité de mise en œuvre), l'intégration (taille du parc de
logiciels validés distribués), la notoriété (communauté informative pour résoudre les
problèmes), leur fréquence de mise à jour, leur gestion des paquets et le mainteneur de la
distribution (généralement une entreprise ou une communauté).
Leur point commun est leur noyau Linux, et un certain nombre de commandes.
9
By Trong. O. GAMPOULA
Chapitre I: Présentation de GNU/Linux
Découverte du système d'exploitation GNU/ Linux:
Les parties GNU et Linux d’un système d’exploitation sont indépendantes, on trouve aussi
bien des systèmes avec Linux et sans GNU, comme Android ou des systèmes GNU
sans Linux comme GNU/Hurd.
Il existe plusieurs systèmes GNU+Linux, chacun ayant ses particularités.
Les distributions à usage spécifique automatisant et facilitant l'installation des
composants nécessaires pour par exemple réaliser : Pare-feu (PfSence), Serveur
(Zentyal), Supervision (EoN, CES), Stockage (OpenFIler)…
Les distributions pouvant être installées sur un grand nombre de matériels spécifiques.
Les distributions généralistes, dont les plus populaires sont : CentOS, Debian, Fedora,
OpenSUSE, ou encore Ubuntu permettant des usages variés.
Les distributions orientées exclusivement vers l'entreprise avec un contrat de support
annuel (à base de souscription) par exemple RedHat Entreprise Linux, SUSE Linux
Enterprise.
10
By Trong. O. GAMPOULA
Chapitre I: Installation de GNU/Linux
Un système de fichiers, appelé communément File System ou FS, définit
l’organisation des données sur un support de stockage, donc comment sont gérés
et organisés les fichiers par le système d’exploitation.
Linux est, comme tout système Unix, un système d’exploitation entièrement
orienté fichier. Tout (ou presque) est représenté par un fichier, tant les données
(fichiers de données de tout type comme une image ou un programme), que les
périphériques (terminaux, souris, clavier, carte son, etc.)
Sous GNU/Linux, tout est organisé en partitions (répertoires) et chaque
partition utilise un système de fichier, un point de montage, une taille et un
type.
Les Systèmes GNU/Linux vous permettent de créer différents types de
partitions et systèmes de fichiers.
11
By Trong. O. GAMPOULA
Chapitre I: Installation de GNU/Linux
Type de partition:
Partition standard : Une partition standard peut contenir un système de
fichiers ou espace swap, ou fournir un conteneur pour RAID logiciel ou un
volume physique LVM.
SWAP : Les partitions swap sont utilisées pour gérer la mémoire virtuelle.
Autrement dit, les données sont enregistrées sur une partition swap lorsqu'il
n'y a pas suffisamment de mémoire vive pour stocker les données que traite
votre système.
RAID (Redundant Array of Independent Disks) Logiciel: La création de
deux ou plusieurs partitions RAID logicielles vous permet de créer un
périphérique RAID.
Volume physique (LVM) : La création d'une ou de plusieurs partitions de
volume physique (LVM) vous permet de créer un volume logique LVM 12
By Trong. O. GAMPOULA
Chapitre I: Installation de GNU/Linux
Systèmes de Fichier:
ext2 : Le système de fichiers ext2 prend en charge les types de fichiers
UNIX minix (fichiers standard, répertoires, liens symboliques, etc.).
ext3: Le système de fichiers ext3 est basé sur le système de fichiers ext2,
mais il a un principal avantage, la journalisation.
ext4: Le système de fichiers ext4 est basé sur le système ext3, mais il
comporte un certain nombre d'améliorations.
vfat : Le système de fichiers VFAT est un système de fichiers Linux
compatible avec les noms de fichiers longs du système de fichiers FAT de
Microsoft Windows.
xfs : XFS est un système de fichiers à haute stalabilité et de haute
performance qui supporte des systèmes de fichiers faisant jusqu'à 16
exaoctets (16 millions de téraoctets). 13
By Trong. O. GAMPOULA
Chapitre I: Installation de GNU/Linux
Pour Installer un système GNU/Linux, il faut créer une partition standard
(système de fichier, type, taille) et une partition SWAP. Les partitions RAID et
LVM sont facultatives et utiles en cas de besoin. On dispose donc un installation
manuelle et un installation automatique.
Il existe plusieurs partitions standards qui dépendent toutes de la partition
principale racine symbolisée par /. On peut citer les partitions suivantes:
NB: Pour une installation GNU/linux, il faut obligatoirement créer une partition
racine (/) et la SWAP (2*RAM). 14
By Trong. O. GAMPOULA
Chapitre I: GNU et les commandes UNIX
Linux est un système d'exploitation puissant mais son utilisation «n'est pas facile»
pour les débutants non familiarisés avec l'environnement UNIX. L'utilisation de
la plupart des applications peut s'effectuer à partir de l'interface graphique
Xwindows (telles que les environnements graphiques KDE et GNOME).
Cependant pour certains travaux, il est beaucoup plus pratique et plus souple
d'utiliser des lignes de commande depuis un environnement Shell plutôt que
d'utiliser de lourdes solutions graphiques.
Les systèmes GNU/Linux supporte donc deux modes d'administration:
À la main: ligne de commande, Édition (manuelle) des fichiers de configuration;
Avec des logiciels d'administration (graphique ou mode caractère. Ex: Webmin…), qui
manipulent les fichiers de configuration, et qui utilisent des commandes d'administration
standard ou spécifiques.
15
By Trong. O. GAMPOULA
Chapitre I: GNU et les commandes UNIX
Les commandes sont très utiles pour un administrateur système. Ils ne sont pas à étudier
par cœur, comme le dit le proverbe « C’est en forgeant que l’on devient forgeron ».
La syntaxe d’une commande LINUX est la suivante :
Cmd (-) option arguments
Cmd : Nom de la commande utilisée
(-) option : elles sont symbolisées par les lettres majuscules ou minuscules précédées d’un
signe – ou +. Elles s’exécutent en même temps que la commande.
Arguments : les arguments sont des objets sur lesquels s’appliquent les commandes. Voici
quelques commandes usuelles :
cp (copy) ; copier un fichier (ordinaire ou répertoire);
mkdir (make directory) ; créer un fichier répertoire
cd (change directory) ; se déplacer d’un fichier répertoire à un autre
mv (moove) ; renommer ou déplace un fichier (répertoire ou ordinaire)
Toutes ces commandes se trouvent dans /bin et /sbin. 16
By Trong. O. GAMPOULA
Chapitre II:
Gestion des Utilisateurs
et Groupes
17
By Trong. O. GAMPOULA
Chapitre II: Gestion des Utilisateurs et
1. Principe:
Groupes
a. Identification et authentification:
L’identification, c’est savoir qui est qui, afin de déterminer les droits de la personne qui
se connecte. Un utilisateur est identifié par un login.
L’authentification, c’est apporter la preuve de qui on est, par exemple via un secret
partagé entre l’utilisateur et le système, et connus d’eux seuls. L’utilisateur est authentifié
par un mot de passe.
By Trong. O. GAMPOULA
Chapitre II: Gestion des Utilisateurs et
c. Les groupes:
Groupes
Chaque utilisateur fait partie d’au moins un groupe. Un groupe regroupe des utilisateurs.
Comme pour les logins, le GID du groupe accompagne toujours l’utilisateur pour le
contrôle de ses droits. Un utilisateur peut faire partie de plusieurs groupes, auquel cas il
faut distinguer son groupe primaire des groupes secondaires.
2. Les fichiers:
a. /etc/passwd: Le fichier /etc/passwd contient la liste des utilisateurs du système local. Il
est lisible par tout le monde. Les informations qu’il contient sont publiques et utiles tant
pour le système que pour les utilisateurs. Chaque ligne représente un utilisateur et est
composée de sept champs: Login: password: UID: GID:c omment: homedir: shell
b. /etc/group
Le fichier /etc/group contient la définition des groupes d’utilisateurs et pour chacun la
liste des utilisateurs dont il est le groupe secondaire. Chaque ligne est composée de quatre
champs : Group: password: GID: user1, user2,... 19
By Trong. O. GAMPOULA
Chapitre II: Gestion des Utilisateurs et
c. /etc/shadow:
Groupes
Le fichier /etc/shadow accompagne le fichier /etc/passwd. C’est là qu’est stocké, entre
autres, le mot de passe crypté des utilisateurs. Pour être plus précis il contient toutes les
informations sur le mot de passe et sa validité dans le temps.
3. Gestion des utilisateurs:
a. Ajout/Suppression/Modification: La création d’un utilisateur pourrait être entièrement
effectuée en ligne de commande ou en utilisant un environnement graphique. Ces deux
moyens s’appuient sur une suite de commandes (adduser, userdel, usermod) qui ne font
« que » modifier des fichiers plats déjà existants et qui créent et recopient des fichiers et
dossiers au bon endroit avec les bons droits.
b. L'environnement utilisateur: A la création d'un utilisateur et de son répertoire
personnel, l'environnement de l'utilisateur est mis en place. L'environnement contient par
exemple les variables d'environnement et les alias. Il est contenu dans des fichiers chargés
au démarrage de l'interpréteur de commandes (Shell). 20
By Trong. O. GAMPOULA
Chapitre II: Gestion des Utilisateurs et
Une variable d’environnement est un espace mémoire qui possède un nom et une valeur
Groupes
qui peut être utilisée par plusieurs processus, un espace hérité d’un processus (père) et
transmis à un processus (fils).
Ainsi, vous remarquez que le système stocke des variables contenant par exemple le nom
de l’utilisateur courant ($USER), le répertoire personnel ($HOME) ou encore le Shell
($SHELL), ($PWD) stocke le répertoire courant… Toutes ces informations vont être
mises à disposition des programmes et de l’utilisateur.
By Trong. O. GAMPOULA
Chapitre II: Gestion des Utilisateurs et
A la connexion d'un utilisateur, les scripts suivants sont exécutés dans cet ordre :
Groupes
/etc/profile : Il définit les variables d'environnement importantes comme PATH,
LOGNAME, USER, HOSTNAME, HISTSIZE, MAIL et INPUTRC.
/etc/profile.d/* : /etc/profile Il appelle tous les scripts présents dans ce répertoire.
Ces scripts peuvent compléter la configuration globale en ajoutant par exemple la
configuration des paramètres linguistiques, des alias globaux, etc.
~/.bash_profile : Si le Shell est bash, c'est le script suivant à être exécuté. Il est
dans le répertoire utilisateur et appelle un autre script :
~/.bashrc qui appelle lui-même /etc/bashrc.
On peut définir dans .bash_profile des variables supplémentaires, alors qu'on aura
tendance à définir dans ~/.bashrc des alias et des fonctions. Il n'y a pas de règles strictes.
/etc/bashrc : Il est utilisé pour définir les fonctions et alias pour tout le système et
tous les utilisateurs sous bash.
22
By Trong. O. GAMPOULA
Chapitre II: Gestion des Utilisateurs et
c. Sudo :
Groupes
Par défaut un utilisateur sur un système Linux, n’a que très peu de droits sur le système, il
possède les droits de lecture et écriture dans son $HOME, et ne peut (généralement) lancer
que les commandes destinées aux utilisateurs (celles qui se trouvent
dans /bin, /usr/bin, /usr/local/bin).
Il peut arriver qu’un utilisateur normal ait besoin de lancer certaines commandes avec les
droits root ou les droits d’un autre utilisateur, sudo permet de faire ceci et ce sans
connaitre le mot de passe de cet utilisateur
La configuration de sudo se fait au travers du fichier /etc/sudoers.
L’objectif est de définir des groupes de machines, des groupes de commandes, et des
groupes d’utilisateurs, pour ensuite associer les uns aux autres. Le fichier de configuration
est composé de deux types d’entrées : Les alias et les spécifications utilisateurs.
23
By Trong. O. GAMPOULA
La syntaxe du fichier sudoers est particulière. On déclare des groupes
de variables, aussi appelés alias, il y en a quatre types : Host_Alias,
User_Alias, Runas_Alias, Cmnd_Alias. Ces groupes contiennent
plusieurs variables. Puis on affecte des droits aux utilisateurs en faisant
référence à ces alias. La syntaxe des droits est la suivante :
qui où=(en tant que) what
24
Chapitre II: Gestion des Utilisateurs et
Les alias sont généralement des variables, représentant quatre types d’objets : les
Groupes
utilisateurs, les exécutants, les hôtes et les commandes.
Exemple d’utilisation du fichier /etc/sudoers:
User_Alias NETWORK-TEAM = alfred, brenda, charly
Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient,
/usr/bin/net, /sbin/iptables, /sbin/iwconfig, /sbin/mii-tool, /usr/sbin/mtr,
NETWORK-TEAM ALL = NETWORKING
Autres exemple:
Trong ALL=(root) ALL
L’utilisateur Trong pourra par exemple exemple créer un fichier en dehors de son home,
en spécifiant le mot clé sudo avant tout, c’est-à-dire:
$ sudo touch /fichier_td
Autoriser le group ciras à lancer des commandes en root :
25
%ciras ALL=(ALL) ALL
By Trong. O. GAMPOULA
Chapitre III :
Installation et gestion de paquetages
avec RPM et YUM
26
By Trong. O. GAMPOULA
Chapitre III : Installation et gestion de paquetages avec RPM et YUM
Il existe plusieurs types d'installation, les paquets (Binaires ou packages) et la
compilation des sources. Contrairement à d’autres systèmes d’exploitation, il n’est pas
courant sur Linux et Unix en général de disposer de logiciels fournis avec un programme
l’installation interactif (pas de install.exe).
Les paquets sont à linux ce que sont les .exe à Windows. La première et ancienne
méthode d’installation d’applications sur un système d’exploitation LINUX
(classiquement hérité des pratiques du monde UNIX) est l’installation en utilisant les
« sources » de programme. Les paquets se présentent sous les extensions .rpm
(distributions Redhat: fédora, CEntOS, Mandriva…).
Les sources sont composées d’un ou plusieurs fichiers archivés et compressés pour
faciliter leur distribution. Certains éditeurs proposent des scripts d’installation et bien
souvent ceux-ci se contentent de décompresser et de désarchiver quelques fichiers . Leur
forme est souvent : Nom_packet-version.tar.gz/tgz/bz2
27
By Trong. O. GAMPOULA
Chapitre III : Installation et gestion de paquetages avec RPM et YUM
Pour pouvoir installer de telles applications (sources), il est nécessaire de disposer des
outils de décompression, de désarchivage et de compilation installés sur le système.
Une application source se présente sous forme d’un fichier tar compressé. La première
et ancienne méthode d’installation d’applications sur un système d’exploitation LINUX
(classiquement hérité des pratiques du monde UNIX) est l’installation en utilisant les
« sources » de programme. Les sources sont composées d’un ou plusieurs fichiers
archives et compresses pour faciliter leur distribution.
28
By Trong. O. GAMPOULA
Chapitre III : Installation et gestion de paquetages avec RPM et YUM
RMP/YUM
RPM (Red Hat Package Manager): RPM est utilisé originellement par la distribution
RedHat mais actuellement employé par bon nombre de distributions. La gestion des
paquetages est principalement réalisée par la commande rpm. RPM stocke sa base de
données dans le répertoire /var/lib/rpm. Les noms des paquetages au format RPM
respectent souvent la syntaxe suivante : nomversion- release-architecture.rpm.
Un package est donc un fichier (parfois gros) qui contient le produit à installer et des
règles. Ces règles peuvent être multiples :
Gestion des dépendances : le produit ne pourra être installé que si les produits
qu’il utilise lui-même sont déjà présents.
Pré-installation : des actions sont à prévoir avant de pouvoir installer le produit
(changer des droits, créer des répertoires, etc.).
Post-installation : des actions sont à prévoir après l’installation du produit
(paramétrage d’un fichier de configuration, compilation annexe, etc.). 29
By Trong. O. GAMPOULA
Chapitre III : Installation et gestion de paquetages avec RPM et YUM
Installation, mise à jour, suppression, interrogation: les options couramment utilisées
par pour la commande rpm sont les suivantes:
rpm -i (ou --install) : installe un paquetage ;
rpm -U (ou --update) : met à jour un paquetage déjà installé ou l’installe s’il n’est pas
encore présent dans le système ;
rpm -e (ou --erase) : désinstalle un paquetage ;
rpm -q (ou --query) : envoie une requête sur un paquetage afin d'afficher des
informations ;
rpm -V (ou --verify) : vérifie l’intégrité d’un paquetage ;
rpm -F (ou --freshen) : met à jour un paquetage déjà installé ;
rpm --version : affiche la version de la commande rpm ;
rpm --help : affiche les options de la commande rpm.
NB : Nous devons nous placer dans le répertoire courant du fichier à installer et
l’installation ne fonctionnera que si les dépendances sont résolues. 30
By Trong. O. GAMPOULA
Chapitre III : Installation et gestion de paquetages avec RPM et YUM
Comme il est possible d’utiliser des caractères de substitution (rpm -i *.rpm), vous
pouvez afficher le nom du package en cours d’installation avec le paramètre -v. Le
paramètre -h affiche des caractères # pour indiquer la progression de l’installation. On aura
donc:
rpm -ivh php-4.1.2 - 2.1.8.i586.rpm
La base de données RPM peut être interrogée facilement avec le paramètre -q suivi de
plusieurs options:
-a : liste de tous les packages installés.
-i : informations générales (le résumé) du package.
-l : liste des fichiers installés.
-f nom : trouve le package qui contient le fichier donné.
-p nom : la recherche s’effectue dans le fichier de package donné.
--requires : dépendances du package.
Exemple: rpm -qa | grep php
php-ldap-4.1.2-2.1.8
php-imap-4.1.2-2.1.8
asp2php-0.75.17-1
php-4.1.2-2.1.8
31
By Trong. O. GAMPOULA
Chapitre III : Installation et gestion de paquetages avec RPM et YUM
Mises à jour automatisées:
Chaque distribution fournit maintenant un outil de mise à jour interactif ou automatisé via
les sites distant de mise à jour appelés dépôt. YUM est le système de gestion de packages
des distributions Redhat (CEntOS, Fedora…). Il récupère les packages au sein de dépôts et
gère les dépendances. YUM signifie Yellow dog Updater Modified.
YUM est un outil permettant l’installation, la mise à jour et la suppression des paquetages
rpm. YUM gère les dépendances entre les paquetages. Il trouve ces paquetages sur
différentes sources appelées dépôts : des fichiers images ISO Redhat, le réseau Redhat, le
site ftp, http, etc.
La configuration de YUM se fait à travers le fichier /etc/yum.conf qui contient deux types
de sections :
[main] : définit les options globales de configuration ;
[repository] : définit la configuration pour chaque dépôt.
32
By Trong. O. GAMPOULA
Chapitre III : Installation et gestion de paquetages avec RPM et YUM
Mises à jour automatisées:
Des fichiers de configuration supplémentaires sont également lus à partir des répertoires
configurés par l’option reposdir, du fichier yum.conf, dont la valeur par défaut est le
répertoire /etc/yum/repos.d.
À chaque commande, YUM tente de rafraîchir ses données si le délai d’expiration a été
dépassé. Vous pouvez forcer la mise à jour du cache avec le paramètre makecache :
yum makecache ou yum clean all
Les options de base de la commande yum sont:
yum install paquetage(s) : installe la dernière version d'un paquetage;
yum update paquetage(s) : met à jour les paquetages indiqués;
yum remove paquetage(s) ou yum erase paquetage(s) : supprime du système le(s)
paquetage(s) indiqué(s), ainsi que tous les paquetages qui en dépendent ;
yum search chaine ou paquetage : cherche des paquetages dont la description, le résumé,
33
le nom, ou le nom de l'empaqueteur, contiennent la chaîne indiquée.
By Trong. O. GAMPOULA
Chapitre III : Installation à partir des sources , avec l’outil TAR:
Vous avez sûrement déjà entendu parler du format zip. C'est le plus connu et le plus
répandu… du moins sous Windows. On peut l'utiliser aussi sous Linux, de même que le
format rar.
Cependant, on préfèrera utiliser des alternatives libres (et souvent plus puissantes) telles
que le gzip et le bzip2. Toutefois, contrairement à zip et rar, le gzip et le bzip2 ne sont
capables de compresser qu'un seul fichier à la fois et ne peuvent donc pas créer un
« paquetage » de plusieurs fichiers. Mais rassurez-vous, tout est prévu : on utilise pour cela
un outil à part, appelé tar, qui permet d'assembler des fichiers avant de les compresser.
Une application source se présente sous forme d’un fichier tar compressé. Pour pouvoir
installer de telles applications, il est nécessaire de disposer des outils de décompression, de
désarchivage et de compilation installés sur le système. L’outil tar permet d'assembler des
fichiers avant de les compresser, de décompresser et désarchiver..
34
By Trong. O. GAMPOULA
Chapitre III : Installation à partir des sources , avec l’outil TAR:
L’outil d’archivage/désarchivage classique des systèmes LINUX s’appelle tar (type
archive). TAR est à la fois une commande d’archivage et de désarchivage.
La commande tar (Type ARchive) est une ancienne commande Unix qui permet aisément
d'archiver, c'est-à-dire de réaliser la sauvegarde d'un ensemble de fichiers en un seul
fichier, que l'on peut également compresser.
Les principales options de la commande tar sont les suivantes :
-c : pour créer l’archive ;
-x : pour désarchiver ;
-f : pour indiquer un fichier ;
-v : pour donner les indications sur le déroulement du programme
-z : pour la décompression/compression a partir de gzip ;
-j : pour la décompression/compression a partir de bzip2.
-C : pour spécifier le répertoire de désarchivage.
By Trong. O. GAMPOULA
Chapitre III : Installation à partir des sources , avec l’outil TAR:
Etapes d’installation d’une application GNU à partir des sources.
Pour installer une application GNU à partir des sources, il faut passer par les étapes ci-
après décrites normalement dans un fichier README mis par le développeur de
l’application.
Décompresser et Désarchiver le « tarball » (fichier archivé et compressé) ;
Se positionner dans l’arborescence crée et créer le makefile ; ./configure ;
Compiler l’application ; make
Installer l’application. make install
By Trong. O. GAMPOULA
Chapitre III : Installation à partir des sources:
Exemple d’installation d’une application BDD avec PostgreSQL
Dans cette exemple nous allons installer PostgreSQl pour une utilisation avec le serveur
d’application ERP (OpenERP). Les clients (Windows/UNIX) pourront alors se connecter et
interroger la BDD et le serveur d’aplication. Télécharger la version
EnterpriseDB de PostgreSQL
pour GNU/Linux:
postgresql-9.2.5-1-linux.run
Placer le paquet dans un répertoire
et le rendre exécutable,
puis lancer le nouveau script
et enfin passer à l’installation et
la configuration.
Démarrer automatiquement de la base
Utiliser l’utilitaire chkconfig
By Trong. O. GAMPOULA
HAUTE DISPONIBILITE ET STOCKAGE PostgreSQL
38
By Trong. O. GAMPOULA
Chapitre VI :
Processus de démarrage d’un
système GNU/Linux
39
By Trong. O. GAMPOULA
Chapitre VI : Processus de démarrage d’un système GNU/Linux
Pour qu'un système GNU/Linux, comme tout autre système d’exploitation soit
utilisable, il doit d'abord passer par plusieurs étapes d'initialisation et de
lancement de divers programmes. Cette partie du cours décrit ce qui se passe
depuis la mise sous tension de la machine (Linux) jusqu'au moment où
l'utilisateur pourra s'en servir.
40
By Trong. O. GAMPOULA
Chapitre VI : Processus de démarrage d’un système GNU/Linux
Le démarrage du système implique quatre programmes lancés successivement : le
BIOS (Basic Input Output System), le chargeur de démarrage, le noyau et le
processus init.
Le BIOS est le premier programme exécuté, il réside au niveau de la ROM. Il
charge les 512 premiers octets, ces 512 octets constituent le secteur d'amorçage ou le
(Master Boot Record).
Le MBR contient plusieurs informations sur les partitions du disque. Il inclut aussi
le chargeur de démarrage (ou une partie du chargeur de démarrage).
Il existe sous Linux deux chargeurs de démarrage: LILO (Linux Loader) ou
GRUB (Grand Unified Bootloader). Il est décomposé en deux parties. La première
partie réside sur le MBR, elle charge la deuxième partie qui se trouve dans une
partition du disque. Une fois que la deuxième partie du GRUB ou LILO est chargée,
une interface est affichée permettant à l'utilisateur de choisir quel SE à démarrer. 41
By Trong. O. GAMPOULA
Chapitre VI : Processus de démarrage d’un système GNU/Linux
Le chargeur de démarrage exécute le noyau. Ce dernier continue le démarrage de la
machine, il détecte et initialise les périphériques, monte la partition racine et démarre le
processus init.
Le processus init est le premier processus utilisateur créé par le noyau lors du
démarrage du système. Il utilise les niveaux d'exécution pour définir l'état du système à un
instant donné. Chaque niveau d'exécution contient une liste de services à arrêter ou à
démarrer.
Lors du démarrage du système, le processus init détermine, à partir de son fichier de
configuration /etc/inittab, le niveau d'exécution par défaut, et démarre les applications et
les services requis dans ce niveau.
Lors de l'arrêt du système, init bascule vers le niveau d’exécution numéro 0. Ce niveau
d'exécution est configuré de telle sorte que toutes les applications et tous les services
seront arrêtés.
42
By Trong. O. GAMPOULA
Chapitre VI : Processus de démarrage d’un système GNU/Linux
Il existe sept niveaux d'exécution possibles, allant de 0 à 6. Chaque distribution les définit
à sa manière, mais certains niveaux d'exécution sont les mêmes pour toutes les
distributions. C'est le cas des niveaux d'exécution 0, 1 et 6. Le niveau d'exécution 0 est
utilisé pour l'arrêt du système, le niveau d'exécution 1 est utilisé pour le démarrage du
système en mode mono-utilisateur ou mode dépannage ou mode single et le niveau
d'exécution 6 est utilisé lors du redémarrage du système.
niveau 0: arrêt du système;
niveau1: mode mono-utilisateur, utilisé pour la maintenance du système;
niveau 2: mode console, multiutilisateurs, sans le support réseau ;
niveau 3: mode multiutilisateurs avec le support réseau;
niveau 4: inutilisé
niveau 5: mode multiutilisateurs avec interface graphique;
niveau 6: redémarrage du système.
43
By Trong. O. GAMPOULA
Chapitre VI : Processus de démarrage d’un système GNU/Linux
Travaux Pratique 1: Récupération du système
Des problèmes de MBR ou de système de fichiers de la partition racine empêchent Linux
de démarrer. L'administrateur doit donc utiliser un CD de dépannage permettant de
démarrer le système à partir d'un noyau Linux sur ce CD, ensuite procéder à la réparation
des problèmes de démarrage du système.
Travaux Pratique 2 : Modifier le niveau de démarrage par défaut.
Travaux Pratique 3 : Passer d’un niveau de démarrage à un autre.
Travaux Pratique 4 : Démarrer la machine en mode single ou niveau 1
Questions de cours:
quel est le chemin d’accès complet au fichier contenant la configuration du niveau de
démarrage par défaut?
quelle commande affiche le niveau de démarrage précédent et celui en cours?
44
By Trong. O. GAMPOULA
Chapitre V :
Le système de fichiers
GNU/Linux
45
Chapitre V : Le système de fichiers
Un système de fichiers, appelé communément File System ou FS, définit
GNU/Linux
l’organisation des données sur un support de stockage, donc comment sont gérés
et organisés les fichiers par le système d’exploitation
Du point de vue des applications, les fichiers sont référenciés par un chemin,
par exemple: /var/spool/mail/root. L’ensemble des fichiers forment une seule
arborescence qui débute par le répertoire racine (/).
un fichier a également des caractéristiques (attributs), principalement:
son type: ordinaire, répertoire, périphérique, lien symbolique, ses droits, son propriétaire,
son groupe, les dates de dernière modification, de dernier accès et de création.
un File System (FS) correspond à une sous-arborescence gérée comme un tout
par le noyau. Avant de pouvoir accéder à un des fichiers d’un FS, il faut que ce
dernier soit « monté ». Cette opération correspond dont à son activation.
46
By Trong. O. GAMPOULA
Chapitre V : Le système de fichiers
A. Disques durs et partitionnement: (fichier /etc/fstab)
GNU/Linux
Un disque dur est composé de plateaux reliés à un moteur central. On trouve des
tètes de lecture de part et d’autre de chacun des plateaux.
Il existe un ensemble de secteurs particuliers situés à l’entrée du disque (secteur
512 octets), appelés MBR (Master Boot Record) partagés en deux parties:
La table des partitions (type, point de montage, taille et FS);
Le secteur d’amorçage chargé de lancer le SE.
A l’installation, un disque dur n’est ni partitionné, ni formaté. Partitionner
signifie définir des espaces sur le disque, et formater signifie préparer la
partition à recevoir des informations en utilisant un FS défini.
Les descripteurs de disque durs dans /dev commencent par hd pour les
périphériques de type IDE ou par sd pour le type SCSI.
Exemple : hda1; première partition du premier disque de type IDE; commandes fdisk, mkfs47
By Trong. O. GAMPOULA
Chapitre V : Le système de fichiers
B. Les types de systèmes de fichiers: (fichier /etc/fstab): fdisk, sfdisk,sgdisk
GNU/Linux
Le système de fichier ext3 est une simple extension du format standard ext2 de Linux: il
intègre un fichier « journal » qui enregistre toutes les opérations effectuées sur le système.
Ceci permet un récupération plus rapide et sûre du système en cas d’arret brutal de la
machine.
Exemple:
fdisk /dev/hda: => configurer une nouvelle partition du disque
mkfs –t ext3 /dev/hda1: => Cette commande formate la partition hda1 avec création d’un FS ext3
48
By Trong. O. GAMPOULA
Chapitre V : Le système de fichiers
C. Montage et démontage d’un système de fichier:
GNU/Linux
Pour pouvoir utiliser un FS, celui-ci doit être monté sur un point de montage de
l’arborescence Linux: son contenu est alors accessible comme simple répertoire.
La commande mount permet d'accéder aux périphériques de type blocs (les partitions) sur
lesquels un système de fichier existe. La commande mount attache le répertoire racine du
système de fichiers à un répertoire préexistant appelé point de montage (mountpoint).
mount -t typefs -o options périphérique point_de_montage
Par exemple.
mount -t ext3 /dev/hda4 /home
Le système de fichiers contenu dans /dev/hda4 va être rattaché au répertoire /home
existant. La commande umount détache le système de fichiers du point de montage.
umount /home
TP: monter un périphérique USB , et le démonter après.
49
By Trong. O. GAMPOULA
Chapitre V : Le système de fichiers
D. Les droits sur les fichiers et les répertoires:
GNU/Linux
Linux permet de spécifier les droits dont disposent les utilisateurs sur un fichier ou
un répertoire. On distingue trois catégories d’utilisateurs:
U: le propriétaire (User);
G: le Groupe (Group);
O: les autres (Others).
Ainsi, à ces utilisateurs, s’appliquent les droits suivants:
r : lecture (read);
w: écriture (write);
x : exécution (execution)
Noter que si aucun droit n’est accordé, on a le résultat suivant: - pour l’abscence du
droit, tout en sachant que les droits sont dans l’ordre rwx (lecture, écriture,
exécution) selon que le droit est accordé. La commande chmod permet d’attribuer ou
de retirer les droits d’un utilisateur sur un fichier ou répertoire.
Exemple: chmod g+w /home/trong/dossier; chmod o-wx /home/trong/fichier 50
By Trong. O. GAMPOULA
Chapitre V : Le système de fichiers
D. Les droits sur les fichiers et les répertoires:
GNU/Linux
Les droits d’accès peuvent aussi s’exprimer en notation octale (base 8). À chaque droit
correspond une valeur octale, positionnelle et cumulable. Pour encoder trois droits
rwx, il faut trois bits, chacun prenant la valeur 0 ou 1 selon que le droit est absent (0)
ou présent (1) : rwx=111 en binaire, sous forme octale, nous aurons : 7. Dans l’ordre
des droits, lecture, écriture et exécution, nous aurons :
--- : 0; --x : 1; -w- : 2; r-- : 4; -wx : 3; r-x : 5; rw- : 6; rwx : 7
Exemple: chmod -R 750 /home/trong/dossier; chmod 644 /home/trong/fichier
On distingue trois autres droits appelés droits spéciaux: suid, sgid et stickt bit.
SUID (Set User Id): lorsque celui-ci est positionné, une commande se lancera avec
l’uid de son propriétaire ce qui permet d’acquérir ses droits durant l’exécution de la
commande. Ce bit est positionnée par l’option s de la commande chmod, ou 4000 en
octale. Exemple: chmod u+s /bin/grep; chmod 4755 /bin/cat (ex: Installer le jdk.bin)
51
By Trong. O. GAMPOULA
Chapitre V : Le système de fichiers
D. Les droits sur les fichiers et les répertoires:
GNU/Linux
SGID (Set Group Id): ce droit fonctionne de la même manière que suid en ce qui
concerne les exécutables (fichier binaire) mais en donnant le droit du groupe.
Mais le sgid peut aussi être attribué à un dossier: dans ce cas tout fichier crée dans un
dossier portant le sgid aura comme groupe propriétaire le groupe du dossier. Ce bit est
positionné par l’option s de la commande chmod ou le deuxième bit de ce groupe de
droit (2000 en octal).
Exemple: chmod g+s /home/lpi102 ou chmod 2755 /home/lpi102
Sticky bit: si le droit est placé sur un dossier; seul le possesseur d’un fichier pourra
le renommer ou le supprimer, mais tous les utilisateurs pourront y avoir accès, c’est la
cas de /tmp et /var/spool/mail. Ce bit est positionné par l’option t de la commande
chmod ou le troisième bit de ce groupe de droit (1000 en octal).
Exemple: chmod o+t /home/lpi/partage ou chmod 1777 /home/lpi/partage
52
By Trong. O. GAMPOULA
Chapitre V : Le système de fichiers
E. Modifier le propriétaire et le groupe sur les fichiers et répertoires
GNU/Linux
Linux permet de spécifier le propriétaire d’un fichier ou d’un répertoire par chown, et
le groupe d’un fichier ou d’un répertoire par la commande chgrp.
Comme énoncé précédemment, il existe trois catégories d’utilisateurs sous GNU/Linux
(User, Group, Others), et un fichier appartient à un utilisateur et un groupe propriétaire.
Exemple: chown root /home/lpi/fichier; chgrp licence3 /home/lpi/fichier
Chown peut tout de même changer à la fois le propriétaire et le groupe propriétaire.
Chown root:trong /home/lpi/fichier
F. Recherche de fichiers:
La recherche dans l’arborescence du système de fichier peut se faire grâce à des
utilitaires tels que: find, locate. Which, whereis, whatis et apropos.
La commande find est la plus ancienne commande de recherche sous UNIX, elle n’utilise
pas de base indexée comme son « conjoint » locate. 53
By Trong. O. GAMPOULA
Chapitre VI :
Partitionnement avancé
et Stockage basé sur RAID/LVM
54
By Trong. O. GAMPOULA
Chapitre VI : Partitionnement avancé et Stockage basé sur
VI-1: RAID
RAID/LVM
RAID est l’acronyme de Redundant Array of Indepedent Disks. Comme son nom
l’indique, RAID est le moyen par lequel de multiples disques durs peuvent agir
comme s’ils ne constituaient qu’un seul disque. Cette technique est indispensable
pour un administrateur système, pour obtenir des serveurs performants.
l’avantage de ce regroupement des disques est d’obtenir de la tolérance aux
pannes et/ou de meilleurs performances.
les performances sont permises en éclatant les entrées/sorties sur plusieurs disques
(stripping) SCSI ou plusieurs disque IDE gérés par un contrôleur distinct.
la tolérance aux pannes d’un disque est réalisée soit en dupliquant les mêmes
données sur plusieurs disque (on parle de disques miroirs ou mirronring), soit en
utilisant des données de parités qui permettent la reconstitution du disque hors
service. 55
By Trong. O. GAMPOULA
Chapitre VI : Partitionnement avancé et Stockage basé sur
Le RAID peut être matériel ou logiciel. Le RAID matériel utilise un contrôleur
RAID/LVM
matériel permettant de gérer le volume RAID. Ce contrôleur RAID est doté d'un
processeur spécifique, une mémoire et un logiciel embarqué (RAID firmware). Le
contrôleur RAID matériel cache les caractéristiques du volume RAID au système
d'exploitation. Ce dernier perçoit le volume RAID comme un disque dur classique.
En RAID logiciel, le contrôleur RAID est un composant du système d'exploitation.
Le module MD (Multiple Disk) du noyau Linux est un contrôleur RAID logiciel
permettant de gérer le volume RAID et offrant aux applications un seul disque dur
virtuel.
Dans ce cours, le savoir concret porte essentiellement sur le RAID logiciel qui est
offert par le noyau Linux. Le RAID matériel lui, est présenté essentiellement de
manière théorique. Pour beaucoup d’administrateurs (système), il se résume au choix
du serveur ou à l’utilisation quasi opaque d’un SAN (Storage Area Network) 56
By Trong. O. GAMPOULA
Chapitre VI : Partitionnement avancé et Stockage basé sur
Il existe plusieurs types de RAID, appelés niveaux. Les plus utilisés sont RAID 0, RAID 1,
RAID/LVM
RAID 5 et RAID 10 :
RAID 0 (Stripping) : il est utilisé uniquement pour améliorer les performances. Les
données sont découpées en blocs (chunk) et ces blocs sont répartis sur plusieurs disques, ce
qui diminue les temps de lecture et d’écriture;
RAID 1 (Mirroring) : il offre une redondance des données. En effet elles sont
dupliquées sur deux ou plusieurs disques. La performance de lecture augmente avec le
nombre de disques du volume RAID. Ceci peut assurer une meilleure tolérance aux pannes,
mais peut nuire à la performance d’écriture, car l'information doit être écrite plusieurs fois.
NB: les disques faisant partie d’un RAID (sauf RAID 0)
possèdent en tête un superblocs qui contient la configuration du RAID.
Ces superblocs permettent également le démarrage
à partir d’un disque RAID.
57
By Trong. O. GAMPOULA
Chapitre VI : Partitionnement avancé et Stockage basé sur
RAID 5: ce type de RAID utilise le stripping et la parité. Il nécessite au moins trois
RAID/LVM
disques. Les données de parité sont reparties sur les différents disques. En cas de panne
d’un disque, le disque RAID reste opérationnel, le logiciel de gestion recalcule les
données manquantes à partir des données utiles et des parités reparties sur les disques
restant en fonction.
58
By Trong. O. GAMPOULA
Chapitre VI : Partitionnement avancé et Stockage basé sur
RAID/LVM
Gestion du RAID logiciel sous Linux:
La plupart des distributions Linux utilisent la commande mdadm pour générer un
volume RAID. Les versions précédentes de la distribution RedHat utilisaient le
paquetage raidtools, mais mdadm est à la fois plus puissante et plus facile à utiliser
que raidtools.
La commande mdadm permet de créer, contrôler et administrer le volume RAID.
Elle possède sept modes de fonctionnement différents, chacun avec ses propres
options.
Si aucun mode n'est spécifié, la commande mdadm est en mode manage ou misc.
Le mode manage est sélectionné si le nom de périphérique RAID est spécifié avant
toutes les options ou si la première option est : --add, --fail (--set-faulty), or --remove.
59
By Trong. O. GAMPOULA
Chapitre VI : Partitionnement avancé et Stockage basé sur
Les différents modes de fonctionnement du RAID:
RAID/LVM
assemble: --assemble ou --A : Assemble les composants d'un volume RAID déjà créé.
Ce mode est utile pour le dépannage ou l'activation d'un volume RAID transféré depuis un
autre ordinateur. L'option -s ou --scan récupère les informations sur le volume RAID et les
disques sous-jacents.
build: --build ou –B: Crée un volume RAID à partir des disques qui n'ont pas de
superblocs (des métadonnées). Ce mode est plus utilisé en RAID 0.
create: --create ou –C: Crée un nouveau volume RAID avec des superblocs (des
métadonnées) dans chaque disque.
grow: --grow ou –G: Change le nombre ou la taille des blocs ou des disques sous-
jacents.
manage : (mode par défaut): Peut ajouter ou supprimer des disques à un volume RAID
en cours d'exécution. Ceci est utile pour enlever des disques durs en panne, ajouter des
disques de rechange ou remplacer des disques. 60
By Trong. O. GAMPOULA
Chapitre VI : Partitionnement avancé et Stockage basé sur
Les différents modes de fonctionnement du RAID (suite et fin):
RAID/LVM
monitor: --follow, --monitor ou –F: Surveille un volume RAID. Peut par
HP ProLiant
DL380 G5 Series
61
By Trong. O. GAMPOULA
Chapitre VI : Partitionnement avancé et Stockage basé sur
Les volumes
RAID/LVM RAID sont configurés dans le fichier /etc/mdadm.conf. Ce fichier est
utilisé par la commande mdadm dans le mode create pour créer le volume RAID ou pour
l’initialiser après chaque démarrage. Le fichier /proc/mdsat indique l’état du RAID
(publié par le noyau).
les principaux paramètres du fichier /etc/mdadm.conf sont les suivantes:
DEVICE : liste des disques et partitions susceptibles d'être utilisés dans le volume
RAID ;
ARRAY : nom du volume RAID, par exemple /dev/md0 ou /dev/md/00 ;
level : niveau RAID, par exemple raid0, raid1, raid4 ou raid5 ;
devices : liste des disques ou partitions qui seront utilisés pour assembler le volume
RAID ;
62
By Trong. O. GAMPOULA
Chapitre VI : Partitionnement avancé et Stockage basé sur
La commande mdadm s’utilise de la manière suivante:
RAID/LVM
mdadm [mode] <raiddevice> [options] <component-devices>
Usage: mdadm --assemble md-device options-and-component-devices...
Exemple: mdadm -As /dev/md0 ou mdadm --assemble /dev/md0 --A --scan
Cette commande active le volume RAID pour le premier module (md0)
By Trong. O. GAMPOULA
Chapitre VI : Partitionnement avancé et Stockage basé sur RAID/LVM
LVM sous Linux est très similaire à l'implémentation de Hewlett-Packard sous HP-
UX. LVM étend la notion de disque logique sous Linux, et définit de multiples niveaux
logiques à partir desquels le stockage peut être géré.
Le LVM regroupe les disques physiques, ou tout autre support de stockage dit physique
(disque, RAID matériel, RAID logiciel, support de stockage en provenance d’un SAN),qu’
ilappelle des volumes physiques (PV : Physical Volume) en un groupe de volumes VG :
65
Volume Group).
By Trong. O. GAMPOULA
Chapitre VI : Partitionnement avancé et Stockage basé sur
Logical
RAID/LVM Volume Manager (LVM): Structure d'un volume physique LVM :
L'étiquette LVM se trouve sur le deuxième secteur, elle est suivie par la zone de
métadonnées et par l'espace utilisable sur le périphérique.
MBR
Une configuration LVM est structurée en Volume Groups (VG), lesquels, constitués
de Physical Volumes (PV), abritant des Logical Volumes (LV), qui forment un espace
d'allocation globalisé.
Note : un Physical Volume peut être tant un disque physique tout entier, un HDD, qu'une
partition définie sur un HDD. Cette dénomination, trompeuse, ne doit pas vous induire en
66
erreur.
By Trong. O. GAMPOULA
Chapitre VI : Partitionnement avancé et Stockage basé sur
Logical
RAID/LVM Volume Manager (LVM): structure LVM
Par exemple, avec deux disques de 100Go, il est possible de créer un volume logique de
200Go. Mais il est également possible de créer deux volumes logiques, un de 150Go et un
autre de 50Go. En fait, toute combinaison de volume logique inférieur ou égal à la
capacité totale est possible.
67
By Trong. O. GAMPOULA
Chapitre VI : Partitionnement avancé et Stockage basé sur
Logical Volume Manager (LVM): résumé
RAID/LVM
1. Chaque disque dur ou partition va être transformé en volume physique. Cette
opération consiste à découper le disque en tranches, appelées Physical Extents (PE).
Par défaut (et convention), 1 PE = 4 Mo.
2. Chaque volume physique va être inséré dans un groupe de volumes. Celui-ci peut
contenir un ou plusieurs volumes physiques, donc disques ou partitions. Un groupe de
volumes est un espace logique découpé en Logical Extents (LE) de même taille que
les Physical Extents, soit 4 Mo par défaut.
Le système va ensuite établir des pointeurs entre un Physical Extent et un Logical
Extent comme indiqué sur le schéma ci-dessous.
3. La dernière étape va consister à découper le groupe de volumes en partitions appelées
volumes logiques dans lesquelles vous pourrez au choix, créer un système de fichier
ou une partition de swap par exemple. Ces partitions pourront être redimensionnées
et/ou déplacées. 68
By Trong. O. GAMPOULA
TP: Installer le système (/boot) sous trois disques (sda1, sdb1 et sdc1 ) en RAID 1 et
le
stockage (/, swap, /opt) sous les trois disques (sda, sdb et sdc) en RAID 5
NB: Dans le cas des tests, nous utiliserons VMWare Workstation pour la création des disque virtuels de 8Go chacun
By Trong. O. GAMPOULA
Chapitre VII :
Configuration et Administration
du système GNU/Linux
70
By Trong. O. GAMPOULA
Chapitre VI : Configuration et Administration du système
A. Automatisation des tâches avec cron:
GNU/Linux
Le daemon cron permet la programmation d'événements à répétition. Il fonctionne à l'aide
d'une table, appelée une crontab. C'est un fichier texte simple, édité avec un simple éditeur
de texte. Pour modifier sa cron table personnelle, on utilise la commande crontab pour
éditer la table, avec le paramètre « -e ». Le format est le suivant :
By Trong. O. GAMPOULA
Chapitre VI : Configuration et Administration du système
Imaginons que je veuille exécuter une commande tous les jours à 15 h 47:
GNU/Linux
47 15 * * * touch /home/mateo21/fichier.txt
47 15 * * * rm -rf /home/mateo21/fichier.txt
Pour lister les crontabs actives :
crontab -l
Pour supprimer la crontab active :
crontab –r
Pour éditer la crontab d'un utilisateur particulier :
crontab -u user
By Trong. O. GAMPOULA
Chapitre VI : Configuration et Administration du système
B. Administration à Distance d’un Serveur GNU/Linux: (ssh,webmin)
GNU/Linux
Secure Shell (SSH) est à la fois un programme informatique et un protocole de
communication sécurisé. Le protocole de connexion impose un échange de clés de
chiffrement en début de connexion. Par la suite, tous les segments TCP sont authentifiés et
Chiffrés. Un serveur SSH dispose d'un couple de clefs RSA stocké dans le répertoire
/etc/ssh/ et généré lors de l'installation du serveur. Le fichier ssh_host_rsa_key contient la
clef privée et a les permissions 600. Le fichier ssh_host_rsa_key.pub contient la clef
publique et a les permissions 644.
L’implémentation du protocole SSH sous GNU/Linux s’appelle openssh-server (pour le
serveur), openssh-client pour le client.
Nous pouvons tout de même utiliser le logiciel Putty pour se connecter à distance sur un
Serveur (en mode texte et mode graphique) GNU/Linux depuis un client Windows,
UNIX.
73
Exemple: depuis le terminal: ssh @IP distante ou Hostname => ssh 10.10.10.10
By Trong. O. GAMPOULA
Connexion Distante Secure Shell (SSH) vers un serveur GNU/Linux avec Putty
Pour les copies à distance, la commande scp (Secure copy) s’appui aussi sur du SSH.
Elle permet de copier un fichier ou un répertoire (-r) du client vers le serveur ou du
serveur vers le client
74
Exemple: scp Login1@Serveur1:Chemin1/NomFichier1 Login2@Serveur2:Chemin2/NomFichier2
Chapitre VI : Configuration et Administration du système
B. Administration à Distance d’un Serveur GNU/Linux: (ssh,webmin)
GNU/Linux
Webmin est une interface web, sous licence BSD, qui permet d'administrer simplement
un serveur UNIX ou GNU/Linux à distance via n'importe quel navigateur web.
Webmin est un service qui se lance au démarrage du serveur et qui est accessible via
une URL. L'utilisateur peut se connecter à l'interface en indiquant dans l'URL
(URL, adresse IP, etc.) du serveur le port de l'application (par défaut 10000). Ce port peut
être redéfini directement depuis l'interface, tout comme beaucoup d'autres paramètres.
Par exemple : https://www.mondomaine.com:10000 ou https://192.168.0.1:10000
75
By Trong. O. GAMPOULA
FIN
PARTIE
A
76
PARTIE
B
77
PARTIE B : SERVICES RESEAUX SOUS GNU/Linux
78
By Trong. O. GAMPOULA
Chapitre I :
Configuration et utilisation du réseau
79
By Trong. O. GAMPOULA
Chapitre I : Configuration et utilisation du réseau
La configuration du réseau nécessite donc la configuration du protocole IP et des
services TCP, UDP et ICMP (entre autres). Cette opération se fait en définissant
l'adresse
IP et le masque de sous-réseau; les routes à utiliser. Vient ensuite la configuration du
nom de la machine locale, de son domaine, des noms de machines qu'elle peut
résoudre elle-même et des serveurs de DNS qu'elle doit utiliser pour les autres noms.
By Trong. O. GAMPOULA
Chapitre I : Configuration et utilisation du réseau
Les fichiers de configuration de réseau principaux sont les suivants :
/etc/hosts. L'objectif principal de ce fichier est de résoudre les noms d'hôtes n'ayant
pu être résolus d'une autre façon. Il peut également être utilisé pour résoudre des noms
d'hôtes sur de petits réseaux ne disposant pas de serveur DNS.
/etc/resolv.conf: Ce fichier précise les adresses IP des serveurs DNS et le domaine de
recherche. À moins d'être configuré autrement, les scripts d'initialisation du réseau sont
contenus dans ce fichier.
/etc/sysconfig/network-scripts/ifcfg-<interface-name>: Pour chaque interface de
réseau, il existe un script de configuration d'interface correspondant.
By Trong. O. GAMPOULA
Chapitre I : Configuration et utilisation du réseau
Interfaces Ethernet: Ci-dessous figure un exemple de fichier ifcfg-eth0 pour un
système utilisant une adresse IP fixe.
DEVICE=eth0
BOOTPROTO=none/dhcp/static
ONBOOT=yes
NETWORK=10.0.1.0
NETMASK=255.255.255.0
IPADDR=10.0.1.27
Nb: il est possible de créer un « alias: interface virtuelle » pour de votre carte physique
Ethernet. Ci-dessous figure un exemple de fichier ifcfg-eth0:1 pour un système utilisant
une adresse IP fixe sur l’alias de la carte Ethernet 0.
DEVICE=eth0:1
BOOTPROTO=none/dhcp/static
ONBOOT=yes
NETWORK=10.0.1.0
NETMASK=255.255.255.0
IPADDR=10.0.2.28
NB: Toujours redémarrer le service après une modification: service daemon start|stop|restart 82
By Trong. O. GAMPOULA
Chapitre I : Configuration et utilisation du réseau
Les Outils d’administration: Les outils suivants sont indispensables à connaître
lorsque
l'on utilise un système sous Linux et en particulier dans l'administration réseau sous
Linux.
ping: Cette commande permet de vérifier si une machine distante répond en lui
envoyant des paquets ICMP ;
ifconfig: La commande ifconfig permet de configurer une interface réseau;
ifconfig eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255;
netstat: Cette commande affiche les connexions réseau, les tables de routage, les
statistiques des interfaces, les connexions masquées;
nmap: nmap est un outil pour scanner les ports ouverts sur une machine distante;
Pour scanner une machine :
$ nmap 192.168.0.1
Pour scanner les machines se trouvant dans le plan d'adressage 192.168.0.0/24: 83
By Trong. O. GAMPOULA
$ nmap 192.168.0.0/24
Chapitre II :
Résolution de nom DNS avec BIND
84
By Trong. O. GAMPOULA
Chapitre II: Résolution de nom DNS avec BIND
1. Présentation du DNS (Domain Name System): nslookup, dig, host
Le Système de Noms de Domaines DNS (Domain Name System) transforme les noms
d'hôtes en adresses IP : c'est la résolution de nom. Il transforme les adresses IP en noms
d'hôtes : c'est la résolution inverse. Il permet de regrouper les machines par domaines de
nom. Il fournit des informations de routage et de courrier électronique.
Le DNS permet de faire référence à des systèmes basés sur IP (les hôtes) à l'aide de
noms conviviaux (les noms de domaines). L'intérêt d'un DNS est évident. On
comprend que le DNS est un service clé critique pour Internet.
L’Internet est aujourd’hui critique pour l’économie comme pour la vie de notre société.
Il repose sur une infrastructure très répartie et opérée par des acteurs divers :
fournisseurs d’accès, points d’échange et d’interconnexion, opérateurs de
télécommunications, hébergeurs, bureaux d’enregistrement… Ces acteurs apportent
chacun une contribution essentielle au fonctionnement de l’Internet, et chacun est
sujet à des menaces spécifiques. 85
By Trong. O. GAMPOULA
Une structure arborescente du DNS
86
By Trong. O. GAMPOULA
NOMMAGE DANS INTERNET
Processus d'enregistrement des noms de domaine
Registre Opérateur ou
registre de nom de domaine
bureau d'enregistrement
By Trong. O. GAMPOULA 87
Chapitre II: Résolution de nom DNS avec BIND
1. Présentation du DNS (Domain Name System): Une structure arborescente
Le DNS est organisé sous la forme d’une arborescence inversée, avec une « racine »
dont dépendent les différentes « branches ». Au premier niveau de l’arborescence
se trouvent les « Top-Level Domains » ou domaines de premier niveau, comme les
.fr, .com etc. Au second niveau, nous avons les noms de domaine « classiques »
comme « afnic.fr ».
88
By Trong. O. GAMPOULA
Chapitre II: Résolution de nom DNS avec BIND
1. Présentation du DNS (Domain Name System): Composants DNS
Serveur DNS: Un serveur DNS est un ordinateur qui exécute un programme de
serveur DNS, comme service serveur DNS de Windows server ou BIND sous UNIX. Il
contient des informations de base de données DNS sur une partie de structure
arborescente de domaine DNS et résolvent les requêtes (itérative et récursive) de
résolution de noms émises par des clients DNS.
On distinguera les serveurs master, slave, cache-only et forwarding.
Zone: Une zone est une partie d'un domaine gérée par un serveur particulier. C’est la
partie contiguë d’un espace de noms pour laquelle un serveur fait autorité.
Client DNS ou résolveur: C’est un service qui a recours au protocole DNS pour
requérir des informations auprès du serveur DNS.
Enregistrements de ressource: Ce sont des entrées de base de données DNS qui
servent à répondre aux requêtes des clients.
Exemple: SOA, NS, CNAME, MX, PTR, A, AAAA, IN 89
By Trong. O. GAMPOULA
Chapitre II: Résolution de nom DNS avec BIND
2. Configuration de Bind:
Bind (Berkeley Internet Name Daemon) est le serveur de noms le plus utilisé sur
Internet. Le daemon principal de BIND est named.
2.1 Configuration générale!
La configuration globale de Bind est placée dans le fichier /etc/named.conf. La
configuration détaillée des zones est placée dans /var/named. /etc/named.conf est
composé de deux parties. La première concerne la configuration globale des options de
Bind. La seconde est la déclaration des zones pour les domaines individuels. Les
commentaires commencent par un # ou //.
Attention il arrive parfois (notamment sur RHEL 4.x) que la configuration de Bind soit
« chrootée ». Sur Centos et RHEL 4.x named.conf est dans /var/named/chroot/etc/.
On
peut modifier ce mode en modifiant le fichier de configuration /etc/sysconfig/named.
# cat /etc/sysconfig/named
90
...
CHROOT=/var/named/chroot By Trong. O. GAMPOULA
...
Chapitre II: Résolution de nom DNS avec BIND
2. Configuration de Bind:
2.2. Section globale: La configuration globale est placée dans la section « options ».
Voici un détail de quelques
options importantes :
• directory "filename";
• Emplacement des fichiers contenant les données des zones
• forwarders { adresse-ip; };
• Si le serveur bind ne peut résoudre lui-même la requête, elle est renvoyée à un serveur
DNS extérieur, par exemple celui du fournisseur d'accès.
• listen-on-port 53 {127.0.0.1; adresse-ip; };
• Port d'écoute du DNS suivi des adresses d'écoute. On indique ici les adresses IP des
interfaces réseau de la machine. Il ne faut pas oublier 127.0.0.1.
• allow-query { 127.0.0.1; réseau; };
• Machine(s) ou réseau(x) autorisés à utiliser le service DNS. Par exemple 192.168.1/24.
Si la directive est absente, tout est autorisé. 91
By Trong. O. GAMPOULA
Chapitre II: Résolution de nom DNS avec BIND
2. Configuration de Bind:
2.2. Section globale:
allow-transfer { 192.168.1.2; } ;
• Machine(s) ou réseau(x) autorisés à copier la base de données dans le cas d'une relation
maître et esclave. Par défaut aucune copie n'est autorisée.
• notify no;
• On notifie ou non les autres serveurs DNS d'un changement dans les zones ou d'un
redémarrage du serveur.
2.3. Section de zones: Pour chaque domaine ou sous-domaine, on définit deux sections
« zone ». La première contient les informations de résolution de nom (nom->IP) et la
seconde les informations de résolution inverse (IP->Nom). Dans chacun des cas, la
zone peut être maître (Master: Le serveur contient la totalité des enregistrements de la
zone dans ses fichiers de zone) ou esclave (Slave: Le serveur ne contient par défaut
aucun enregistrement sur fichier. Il se synchronise avec un serveur maître d'où il
92
récupère toutes les informations de zone) :
By Trong. O. GAMPOULA
Chapitre II: Résolution de nom DNS avec BIND
2. Configuration de Bind:
2.4 Zone de résolution:
Pour chaque domaine ou sous-domaine, elle indique dans quel fichier sont placées les
informations de la zone. Le nom de la zone est très important puisque c'est elle qui
détermine le domaine de recherche. Quand le DNS reçoit une requête, il recherche dans
toutes les zones une correspondance.
zone "domaine.org" {
type "master";
file "domaine.org.zone";
};
type : master ou slave
file : nom du fichier qui contient les informations de la zone.
En cas de Master : on peut rajouter allow-transfer (serveurs autorisés à dupliquer la zone) et notify yes (indique
une MAJ ou une relance pour les slaves).
• En cas de Slave : on rajoute la directive masters pour indiquer sur quel serveur Master se dupliquer. 93
By Trong. O. GAMPOULA
Chapitre II: Résolution de nom DNS avec BIND
2. Configuration de Bind:
2.5. Zone de résolution inverse : Le domaine in-addr.arpa
Le principe de la résolution de noms, consiste à affecter un nom d'hôte une adresse IP.
On parle de résolution de noms directe. Le processus inverse doit pouvoir également être
mis en œuvre. On parle de résolution de noms inverse ou reverse. Le processus doit
fournir, pour une adresse IP, le nom correspondant. Pour cela il y a une zone particulière,
in-addr.arpa, qui permet la résolution inverse d'adresse IP.
On doit tout d'abord déterminer quel réseau la zone doit couvrir (cas des sous-réseaux).
Pour nous, un réseau de classe C :192.168.1.0 soit 192.168.1/24
• On inverse l'ordre des octets dans l'adresse : 1.168.192.
• On ajoute in-addr.arpa. Notre nom de zone sera donc 1.168.192.in-addr.arpa
Exemple:
Ex : soit un domaine « domaine.org » sur un réseau de classe C 192.168.1.0. Soit
deux serveurs DNS 192.168.1.1 Master et 192.168.1.2 Slave. 94
By Trong. O. GAMPOULA
Chapitre II: Résolution de nom DNS avec BIND
2. Configuration de Bind:
Sur le Master (LCOSDNS01)
zone "ciras.com" {
type master;
file « zone.direct";
allow-transfer { 192.168.1.2; } ;
notify yes;
};
zone "1.168.192.in-addr.arpa" {
type master;
file « zone.indirect";
allow-transfer { 192.168.1.2; } ;
notify yes;
};
By Trong. O. GAMPOULA
96
By Trong. O. GAMPOULA
Chapitre III
Adressage IP dynamique avec DHCP
97
By Trong. O. GAMPOULA
Chapitre III: Adressage IP dynamique avec DHCP
1.Présentation:
DHCP (Dynamic Host Configuration Protocol) : Protocole de configuration
dynamique des hôtes. DHCP permet aux hôtes d'un réseau de demander et recevoir des
informations de configuration (adresse, routage, DNS, etc.). Il y a en général un seul
serveur DHCP par segment de réseau même si plusieurs sont possibles. Si le serveur est
sur un autre segment, on peut utiliser un agent de retransmission DHCP.
Autrement dit, un client DHCP recherche tout seul un serveur DHCP qui lui
communiquera son adresse IP. L'adresse IP est assignée soit dynamiquement à partir de
plages d'adresses prédéfinies, soit statiquement en fonction de l'adresse MAC du
demandeur. Les informations sont valables un laps de temps donné et configurable (un
bail) qui peut être renouvelé.
98
By Trong. O. GAMPOULA
Fonctionnement
Le client dépourvu d’adresse IP, envoie en diffusion Broadcast un datagramme (DHCP
DISCOVER) au port 67. Ce datagramme comporte entre autres l’adresse physique (MAC) du
client.
Tout serveur DHCP autoritaire ayant reçu ce datagramme, envoie une offre DHCP (DHCP
OFFER) à l’attention du client (sur son port 68), identifié par son adresse physique. Cette offre
comporte l’adresse IP du serveur, ainsi que l’adresse IP et le masque de sous-réseau qu’il propose
au client.
Le client retient la première qui lui parvient, et diffuse sur le réseau un datagramme de requête
DHCP (DHCP REQUEST). Ce datagramme comporte l’adresse IP du serveur et celle qui vient
d’être proposée au client. Elle a pour effet de demander au serveur choisi l’assignation de cette
adresse, l’envoi éventuel des valeurs des paramètres, et d’informer les autres serveurs qui ont fait
une offre qu’elle n’a pas été retenue.
Le serveur DHCP élabore un datagramme d’accusé de réception DHCP ACK qui assigne au client
l’adresse IP et son masque de sous-réseau, la durée du bail de cette adresse et éventuellement
d’autres paramètres comme l’adresse IP de la passerelle par défaut, l’adresses IP des serveurs
99
DNS, l’adresses IP des serveurs NTP etc...
By Trong. O. GAMPOULA
Chapitre III: Adressage IP dynamique avec DHCP
2.Présentation: Fonctionnement DHCP
Un hôte n'a aucune information réseau de disponible au démarrage. Il doit trouver seul
un serveur DHCP. Pour ça, BOOTP effectue un broadcast sur l'IP 255.255.255.255 avec
une trame contenant ses informations (comme son adresse MAC) et les informations
souhaitées (type de requête, ici DHCPDISCOVER, port de connexion, etc.). Le
broadcast est envoyé par définition à tous les hôtes du réseau local. Quand le serveur
DHCP détecte la trame, il effectue lui aussi un broadcast (le hôte client n'a pas encore
d'IP) avec les informations de base souhaitées par l'hôte (DHCPOFFER, premiers
paramètres). L'hôte établit une première configuration puis demande confirmation de l'IP
(DHCPREQUEST). Le serveur DHCP confirme (DHCPHACK). Le bail est confirmé
et le client dispose dès lors de toutes les informations valides.
100
By Trong. O. GAMPOULA
Chapitre III: Adressage IP dynamique avec DHCP
3. Serveur dhcpd:
Le serveur dhcpd est un service (daemon) lancé à l'aide d'un script (/etc/init.d/dhcpd).
Il est configuré à l'aide du fichier /etc/dhcpd.conf. Les adresses IP allouées sont placées
dans /var/lib/dhcp/dhcpd.leases.
3.1. Informations de base:
ddns-update-style none; # pas de mise à jour du DNS par DHCP
option domain-name "toto.fr"; # nom de domaine transmis au client
option domain-name-servers 192.168.1.254; # liste des DNS séparés par des virgules
default-lease-time 21600; # durée du bail par défaut en secondes sans demande explicite
max-lease-time 43200; # durée max du bail si la demande du client est plus élevée
Comme dhcpd peut gérer plusieurs sous-réseaux, on doit lui préciser les règles à
appliquer pour chaque sous-réseau.
101
By Trong. O. GAMPOULA
Chapitre III: Adressage IP dynamique avec DHCP
3. Serveur dhcpd:
# Gestion du sous-réseau 192.168.1.0
subnet 192.168.1.0 netmask 255.255.255.0
{
option routers 192.168.1.254; # passerelle pour ce réseau
option subnet-mask 255.255.255.0; # masque de sous-réseau
range 192.168.1.2 192.168.1.250; # Configuration de l'intervalle DHCP
# Cas d'attributions d'IP statiques
host station1
{
hardware ethernet 00:A0:ad:41:5c:b1; # Adresse MAC
fixed-address 192.168.1.1; # cette machine aura l'IP 192.168.1.1
4.Côté client:
Sous Windows, cochez l'option associée. Sous Linux, modifiez le fichier
/etc/sysconfig/network-script/ifcfg-xxx en plaçant BOOTPROTO à « dhcp » 102
By Trong. O. GAMPOULA
Chapitre III: Adressage IP dynamique avec DHCP
5. Serveur DDNS avec Bind et DHCP:
DHCP offre la possibilité de mettre à jour dynamiquement le système de résolution de
nom. Il s'agit, dans cette application, de faire cohabiter et faire fonctionner ensemble le
service de résolution de nom Bind et le service dhcp.
103
By Trong. O. GAMPOULA
104
By Trong. O. GAMPOULA
Chapitre IV
Authentification sous GNU/Linux
105
By Trong. O. GAMPOULA
Chapitre IV: Authentification sous GNU/Linux
Authentification GNU/Linux dans un environnement Microsoft Active Directory:
Objectifs :
Travailler dans un environnement « Hétérogène » : GNU/Linux et Microsoft Windows
Intégrer un serveur GNU/Linux dans Active Directory ;
Centraliser les utilisateurs sur un annuaire LDAP et s’authentifier avec son compte AD sur un
serveur ou client GNU/Linux ;
Partager des fichiers, imprimantes et autres ressources réseaux entre machines Windows et
GNU/Linux ;
106
By Trong. O. GAMPOULA
Chapitre IV: Authentification sous GNU/Linux
Authentification GNU/Linux: Présentation
Pour utiliser une système GNU/Linux, il faut se connecter, pour cela l’utilisateur
s’authentifie en fournissant un nom de connexion (login name) et un mot de passe
(password). Si la connexion réussie, l'utilisateur a normalement un shell et se trouve
positionné dans l'arborescence dans son répertoire de connexion (/home).
Les informations relatives à l'authentification sont stockées dans des fichiers ASCII du
répertoire /etc :
L'ensemble des informations caractérisant un utilisateur sont définis dans le fichier
/etc/passwd;
Des groupes d'utilisateurs sont définis dans le fichier /etc/group;
Les mots de passe cryptés sont stockés dans un fichier séparé /etc/shadow;
des fichiers complémentaires sont situés dans /etc/security/;
107
By Trong. O. GAMPOULA
Chapitre IV: Authentification sous GNU/Linux
Les Mécanismes d'authentification: il faut distinguer les deux situations suivantes:
La base de données des comptes est locale à la machine : fichiers locaux (/ect/passwd);
la base de données des comptes est distante, on utilise habituellement NIS (les yellow
pages) ou LDAP (Système d’annuaire) pour exporter les comptes de la machine distante.
Dans le cas de ce cours, la base des comptes est distante, et utilise un système d’annuaire
LDAP (Microsoft Active Directory). Pour pouvoir utiliser des machines GNU/Linux et
Microsoft Windows dans un même environnement, il faut faire appel à samba. Samba est un
logiciel d'interopérabilité qui permet à des ordinateurs Unix de mettre à disposition des
imprimantes et des fichiers dans des réseaux Windows, en mettant en œuvre le protocole
SMB/CIFS de Microsoft Windows. Samba donne la possibilité aux ordinateurs Windows
d'accéder aux imprimantes et aux fichiers des ordinateurs Unix en permettant aux serveurs
Unix de se substituer à des serveurs Windows.
À partir de la version 3, Samba fournit des services de fichiers et services d'impression
pour divers clients Windows et peut s'intégrer à un domaine Active Directory.
108
By Trong. O. GAMPOULA
Chapitre IV: Authentification sous GNU/Linux
Présentation de Samba: Ce que Samba peut accomplir:
Mettre des arborescences de répertoires et des imprimantes à la disposition de clients
Linux, UNIX et Windows ;
Aider lors de la navigation sur le réseau (avec ou sans NetBIOS) ;
Authentifier les connexions de domaines Windows ;
Fournir la résolution de serveur de noms Windows Internet Name Service (WINS) ;
Agir en tant que contrôleur principal de domaine (ou PDC, de l'anglais Primary
Domain Controller) de type Windows NT®. ;
Agir en tant que Contrôleur de Domaine Secondaire (ou BDC, de l'anglais Backup
Domain Controller) pour un contrôleur principal (PDC) basé sur Samba ;
Agir comme un serveur membre du domaine Active Directory ;
Joindre un PDC Windows NT/2000/2003
109
By Trong. O. GAMPOULA
Chapitre IV: Authentification sous GNU/Linux
Présentation de Samba: Présentation des démons
Samba est composée de trois démons (smbd, nmbd et windbind). Deux services (smbd
et windbind) contrôlent la manière selon laquelle les démons sont démarrés et arrêtés et
ainsi que d'autres fonctionnalités en relation avec les services.
Le démon serveur smbd fournit des services de partage de fichiers et d'impression
aux clients Windows;
Le démon serveur nmbd comprend et répond à toutes les requêtes de service de nom
NetBIOS telles que celles produites par SMB/CIFS dans des systèmes basés sur
Windows;
Le service winbind effectue la résolution entre les informations relatives aux
utilisateurs et aux groupes sur un serveur Windows NT et les rend utilisables par des
plates-formes UNIX. Cette opération est possible grâce à l'utilisation d'appels RPC de
Microsoft, du système PAM (Pluggable Authentication Module) et du NSS (Name
Service Switch). 110
By Trong. O. GAMPOULA
Chapitre IV: Authentification sous GNU/Linux
Les stratégies d’intégration d’un serveur GNU/Linux dans un domaine Active
Directory :
Compte tenu de la disponibilité de LDAP, Kerberos, et Winbind sur des machines
Linux, il existe trois différentes stratégies de mise en œuvre que nous pouvons
employer pour permettre à notre machine Linux d'utiliser Active Directory pour
l'authentification.
2 3
111
By Trong. O. GAMPOULA
Chapitre IV: Authentification sous GNU/Linux
Rappels : LDAP, Kerberos
LDAP (Lightweith Directory Access Protocol) est le protocole d'annuaire sur TCP/IP
(port 389). Les annuaires permettent de partager des bases d'informations sur le réseau
interne ou externe.
Kerberos est un protocole d'authentification réseau qui repose sur un mécanisme de
clés secrètes (chiffrement symétrique : utilisant une cryptographie à clés
symétriques) et l'utilisation de tickets, pour authentifier les utilisateurs auprès des
services réseau.
Microsoft Active Directory (AD) est la mise en œuvre par Microsoft des services
d'annuaire LDAP pour les systèmes d'exploitation Windows. L'objectif principal
d'Active Directory est de fournir des services centralisés d'identification et
d'authentification (via le protocole Kerberos) à un réseau d'ordinateurs utilisant le
système Windows.
Dans le cadre de ce cours, nous mettrons en place la troisième startégies: 112
By Trong. O. GAMPOULA
113
By Trong. O. GAMPOULA
Chapitre V :
Courrier électronique sous
GNU/Linux
114
By Trong. O. GAMPOULA
Chapitre V: Courrier électronique sous GNU/Linux
Introduction:
La messagerie est l'ensemble des dispositifs informatiques (machines et logiciels)
qui permettent :
la création d'un message sur un ordinateur et son expédition ;
l'acheminement du message vers son ou ses destinataires ;
la réception et la lecture du message.
Analogie avec la Poste :
on écrit une lettre, on la met dans l’enveloppe ;
on le dépose à la Poste ;
la Poste l'achemine vers le « le pays » destinataire ;
le destinataire la reçoit dans sa boite aux lettres et la lit.
Aujourd’hui, nombreuses sont encore ses entreprises qui utilisent une messagerie
externalisée, or une messagerie « internalisée » évite de dépendre d’un fournisseur et de
communiquer efficacement entre collaborateurs sans passer par le lien du « provider »
115
By Trong. O. GAMPOULA
Chapitre V: Courrier électronique sous GNU/Linux
Protocoles de courrier électronique:
Actuellement, le courrier électronique est délivré à l'aide d'une architecture
client/serveur. Un message électronique est créé au moyen d'un programme client de
messagerie électronique. Ce programme envoie ensuite le message à un serveur. Ce
dernier transmet à son tour le message au serveur de messagerie du destinataire où il est
transmis au client de messagerie du destinataire final.
Afin de rendre ce processus possible, une vaste gamme de protocoles réseau standard
permettent à différents ordinateurs exécutant souvent différents systèmes d'exploitation
et utilisant des programmes de messagerie électroniques différents, d'envoyer et de
recevoir des emails.
1. Protocoles de transfert de courrier électronique:
La livraison de courrier d'une application cliente au serveur et d'un serveur d'origine à un
serveur de destination est traitée par le protocole nommé Simple Mail Transfer Protocol
(ou SMTP). 116
By Trong. O. GAMPOULA
Chapitre V: Courrier électronique sous GNU/Linux
Protocoles de transfert de courrier électronique : SMTP
L'objectif primaire de SMTP consiste à transférer le courrier électronique entre les
serveurs de messagerie. Toutefois, il a également une importance critique pour les clients
de messagerie. Afin d'envoyer un email, le client envoie le message électronique à un
serveur de messagerie sortant, qui à son tour contacte le serveur de messagerie de
destination pour la livraison du message.
Par défaut, Sendmail (/usr/sbin/sendmail) est le programme SMTP par défaut sous Red
Hat Enterprise Linux. Néanmoins, une application serveur de messagerie plus simple
appelée Postfix (/usr/sbin/postfix) est également disponible.
2
UA UA
Expediteur@doomaine1 Destinataire@domaine2
117
By Trong. O. GAMPOULA
Chapitre V: Courrier électronique sous GNU/Linux
2. Protocoles d'accès au courrier:
Pour récupérer le courrier électronique stocké sur les serveurs de messagerie, les
applications client de messagerie utilisent deux protocoles primaires: Post Office
Protocol (ou POP) et Internet Message Access Protocol (ou IMAP).
2.1. POP:
Sous Red Hat Enterprise Linux, le serveur POP par défaut est /usr/lib/cyrus-
imapd/pop3d qui est inclus dans le paquetage cyrus-imapd. Lors de l'utilisation d'un
serveur POP, les messages électroniques sont téléchargés par des applications client de
messagerie. Par défaut, la plupart des clients de messagerie POP sont configurés
automatiquement pour supprimer les messages sur le serveur une fois le transfert
effectué; toutefois, cette configuration peut souvent être modifiée.
POP est disponible sous deux versions :
POP2 qui fonctionne sur le port 109 et qui n’est presque plus utilisé ; son jeu de commande est
restreint ; POP3 : (RFC 1939) qui fonctionne sur le port 110 et qui est le plus utilisé
118
By Trong. O. GAMPOULA
Chapitre V: Courrier électronique sous GNU/Linux
2. Protocoles d'accès au courrier:
2.2. IMAP:
Sous Red Hat Enterprise Linux, /usr/lib/cyrus-imapd/imapd est le serveur IMAP par
défaut, fourni par le paquetage cyrus-imapd. Lors de l'utilisation d'un serveur de
messagerie IMAP, le courrier électronique est conservé sur le serveur où les utilisateurs
peuvent lire et supprimer les emails. IMAP permet également aux applications client de
créer, renommer ou supprimer des répertoires de messagerie sur le serveur afin
d'organiser ou de stocker le courrier électronique. Les serveurs s’appuient
essentiellement sur deux types de format de stockage de message :
Le format mailbox : tous les messages d’un utilisateur sont stockés dans un seul et
même gros fichier. Ce système est simple et facile à installer ;
Le format maildir : chaque mail est stocké dans un fichier présent sous le dossier
maildir de l’utilisateur.
Les serveurs IMAP les plus connus sont : uw-imap, Cyrus, Dovecot, courrier-imap. 119
By Trong. O. GAMPOULA
Chapitre V: Courrier électronique sous GNU/Linux
3. Schéma général de fonctionnement d’une messagerie
By Trong. O. GAMPOULA
Chapitre V: Courrier électronique sous GNU/Linux
4. Internalisation de la messagerie pour l’entreprise ciras.lan
122
By Trong. O. GAMPOULA