Académique Documents
Professionnel Documents
Culture Documents
LINUX
sur des missions d’ingénierie sys-
Quelle que soit la distribution Linux utilisée (que ce soit en entre- tème, Sébastien ROHAUT est au-
prise ou à la maison), toutes les méthodes et commandes d’admi- jourd’hui responsable des opéra-
nistration de Linux sont présentées et détaillées. Cette nouvelle tions d’une plateforme digitale d’un
édition du livre tient compte des dernières évolutions de Linux et grand groupe français. Il a égale-
présente notamment xfs, systemd ou encore firewalld. ment enseigné pendant près de
11 ans à des classes préparatoires
Le livre fait le tour des connaissances nécessaires à l’installation
et d’ingénieurs, notamment dans le
d’une distribution : la gestion des paquetages logiciels, la compi-
LINUX
cadre de la préparation aux exa-
lation depuis les sources, les bibliothèques partagées, les princi-
mens Linux. Cette riche expérience
pales commandes Gnu et les scripts shell, la gestion des disques, technique et pédagogique lui per-
systèmes de fichiers et quotas, la mise en place de volumes met de proposer aux lecteurs un
Maîtrisez l’administration
RAID et LVM, le démarrage et l’arrêt du système et des services livre très efficace sur l’administra-
avec systemd, l’impression et les tâches d’administration com- tion d’un système Linux.
munes dont la gestion des utilisateurs et l’automatisation des
du système
tâches, la configuration du réseau et des services de base asso-
ciés, le noyau et sa compilation, les bases de la sécurité et des
firewalls, la configuration de l’environnement graphique.
Tous les points traités sont agrémentés d’exemples et leur maî-
trise fera de vous un administrateur système Linux compétent.
5 édition
e
Les chapitres du livre
Avant-propos • Présentation de Linux • Installation de Linux et
des logiciels • Le shell et les commandes GNU • Les disques et le
système de fichiers • Boot, services, noyau et périphériques • Les
tâches administratives • Le réseau • La sécurité • X Window •
Nouvelle édition
Partitionnement avancé : RAID, LVM et BTRFS • Annexe
Pour plus
ISBN : 978-2-409-00797-2
d’informations :
29,90 €
Sébastien ROHAUT
Table des matières 1
Chapitre 1
Présentation de Linux
1. Bienvenue dans le monde Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.1 Un nouveau monde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.2 Histoire des ordinateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.2.1 Complexité des ordinateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.2.2 L'intelligence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.3 Le système d'exploitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.4 Le système Unix, une brève histoire. . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.4.1 De MULTICS à UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.4.2 Le langage C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.4.3 Les licences et l'avènement de BSD et System V . . . . . . . . . . 38
1.4.4 La guerre des Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.4.5 La standardisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
1.4.6 Unix est un standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
1.4.7 Unix sur les ordinateurs personnels . . . . . . . . . . . . . . . . . . . . 41
2. Le logiciel libre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.1 Les origines du logiciel libre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.2 Le projet GNU et la FSF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.3 L'open source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.4 GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.4.1 Linus Torvalds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.4.2 L'accident . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.4.3 La première version officielle . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.4.4 Le succès communautaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.4.5 Les années 1994-1997 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.4.6 À partir de 1998 : l'explosion . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.4.7 Aujourd'hui et demain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3. Quel matériel pour Linux ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.1 L'architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.2 Un point sur les SSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.3 Compatibilité du matériel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4. Choisir une distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.1 Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2 Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.3 Red Hat, Fedora et CentOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2 Linux
Maîtrisez l’administration du système
4.4 OpenSUSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.5 Les autres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.6 Les LiveCD ou LiveUSB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5. Obtenir de l'aide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.1 L'aide propre aux commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.2 L'aide interne au shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.3 Le manuel en ligne de commande. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.3.1 Accès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.3.2 Structure d'une page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.3.3 Navigation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.3.4 Les sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.3.5 Rechercher par correspondance . . . . . . . . . . . . . . . . . . . . . . . . 69
5.4 Les pages info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.5 Rechercher de l'aide sur Internet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Chapitre 2
Installation de Linux et des logiciels
1. Installer une Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
1.1 Support d'installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
1.2 Boot sur le support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
1.3 Choix des langues et pays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
1.4 Choix de la carte réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
1.5 Hôte et utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
1.6 Miroir d’installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
1.7 Comptes root et utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
1.8 Fuseau horaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
1.9 Partitionnement des disques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
1.10 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
1.11 Configuration des packages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
1.12 Horloge UTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
1.13 Fin d'installation et redémarrage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
2. Installation de CentOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
2.1 Support d'installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
2.2 Boot sur le support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
2.3 Langue d’installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Table des matières 3
Chapitre 3
Le shell et les commandes GNU
1. Le shell bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
1.1 Rôle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
1.2 Bash : le shell par défaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
1.2.1 Un shell puissant et libre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
1.2.2 L'invite de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
1.3 Utiliser le shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
1.3.1 La saisie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
1.3.2 Syntaxe générale des commandes . . . . . . . . . . . . . . . . . . . . . 150
1.3.3 Premier exemple concret avec cal . . . . . . . . . . . . . . . . . . . . . 151
1.3.4 Chaîner les commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
1.3.5 Afficher du texte avec echo . . . . . . . . . . . . . . . . . . . . . . . . . . 153
1.3.6 Commandes internes et externes . . . . . . . . . . . . . . . . . . . . . 153
1.3.7 Quelques raccourcis utiles . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
1.4 Rappel de l'historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
2. La gestion des fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
2.1 Le système de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
2.2 Les divers types de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
2.2.1 Les fichiers ordinaires ou réguliers. . . . . . . . . . . . . . . . . . . . . 157
2.2.2 Les catalogues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
2.2.3 Les fichiers spéciaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
2.3 Nomenclature des fichiers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
2.4 Les chemins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
2.4.1 Structure et nom de chemin . . . . . . . . . . . . . . . . . . . . . . . . . 159
2.4.2 Répertoire personnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
2.4.3 Chemin relatif. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
2.4.4 Le tilde. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.4.5 cd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.5 Les commandes de base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
2.5.1 Lister les fichiers et les répertoires . . . . . . . . . . . . . . . . . . . . . 162
2.5.2 Gérer les fichiers et les répertoires . . . . . . . . . . . . . . . . . . . . . 164
2.5.3 Wildcards : caractères de substitution . . . . . . . . . . . . . . . . . 169
2.5.4 Verrouillage de caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
6 Linux
Maîtrisez l’administration du système
Chapitre 4
Les disques et le système de fichiers
1. Représentation des disques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
1.1 Nomenclature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
1.1.1 IDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
1.1.2 SCSI, SATA, USB, FIREWIRE, etc. . . . . . . . . . . . . . . . . . . . . 268
1.2 Cas spéciaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
1.2.1 Contrôleurs spécifiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
1.2.2 Virtualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
1.2.3 SAN, iSCSI, multipathing . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Table des matières 11
Chapitre 5
Boot, services, noyau et périphériques
1. Processus de démarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
1.1 Le BIOS et l'UEFI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
1.1.1 BIOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
1.1.2 UEFI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
1.1.3 Réglages basiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
1.2 Le chargeur de démarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
1.3 GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
1.3.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
1.3.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
1.3.3 Démarrage et édition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
1.4 GRUB2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
1.4.1 GRUB2 remplace GRUB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
1.4.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
1.4.3 Démarrage et édition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
1.4.4 Cas de GPT et UEFI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
1.5 Initialisation du noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
2. init System V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
2.1 init System V en 2017 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
2.2 Rôle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
2.3 Niveaux d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
2.4 /etc/inittab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
2.5 Changement de niveau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
2.6 Paramétrage système de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
2.7 Niveaux d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
2.8 Gestion des niveaux et des services. . . . . . . . . . . . . . . . . . . . . . . . . . . 365
2.8.1 Services dans init.d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
2.8.2 Contrôle manuel des services. . . . . . . . . . . . . . . . . . . . . . . . . 367
2.8.3 Modification des niveaux d'exécution. . . . . . . . . . . . . . . . . . 368
2.9 Consoles virtuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
2.10 Les logins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
2.11 Arrêt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
3. systemd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
3.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
3.2 Unités cibles et services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Table des matières 15
Chapitre 6
Les tâches administratives
1. Administration des utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
1.1 Principe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
1.1.1 Identification et authentification . . . . . . . . . . . . . . . . . . . . . 439
1.1.2 Les utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
1.1.3 Les groupes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
1.1.4 Les mots de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
1.2 Les fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
1.2.1 /etc/passwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
1.2.2 /etc/group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
1.2.3 /etc/shadow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
1.2.4 /etc/gshadow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
1.3 Gestion des utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
1.3.1 Ajout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
1.3.2 Sécurité des mots de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
1.3.3 Modification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
1.3.4 Suppression. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
1.4 Gestion des groupes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
1.4.1 Ajout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
1.4.2 Modification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
1.4.3 Suppression. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
1.4.4 Mot de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
1.5 Commandes additionnelles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
1.5.1 Conversion des fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
1.5.2 Vérifier la cohérence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
1.5.3 Vérifier les connexions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
1.5.4 Actions de l'utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
1.5.5 Interroger le système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
1.6 Configuration avancée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
18 Linux
Maîtrisez l’administration du système
Chapitre 7
Le réseau
1. TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
1.1 Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
1.2 Adressage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
1.2.1 Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
1.2.2 Sous-réseaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
1.2.3 Routage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
1.2.4 IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
1.3 Cas particuliers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
1.3.1 NetworkManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
1.3.2 Nommage des interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
1.4 Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
1.4.1 Cas général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
1.4.2 Cas des distributions de type Red Hat . . . . . . . . . . . . . . . . . 516
1.4.3 Machines de type Debian. . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
1.4.4 Routage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
1.4.5 iproute2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
1.4.6 Les ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
1.5 Outils réseau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
1.5.1 Ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
1.5.2 Traceroute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
1.5.3 tracepath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
1.5.4 Whois. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
1.5.5 Netstat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
1.5.6 IPTraf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
1.6 Fichiers généraux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
1.6.1 /etc/resolv.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
1.6.2 /etc/hosts et /etc/networks . . . . . . . . . . . . . . . . . . . . . . . . . . 530
1.6.3 /etc/nsswitch.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
1.6.4 /etc/services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
1.6.5 /etc/protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
2. Services réseau xinetd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
2.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
2.2 Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
2.3 Démarrage et arrêt des services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
Table des matières 21
3. OpenSSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
3.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
3.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
3.3 Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
3.4 Clés et connexion automatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
3.4.1 Côté client. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
3.4.2 Côté serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
3.4.3 Copie automatique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
3.5 Passphrase et agent SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
4. Monter un serveur DHCP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
4.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
4.2 Démarrage du serveur dhcpd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
4.3 Informations de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
4.4 Côté client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
5. Serveur DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
5.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
5.2 Lancement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
5.3 Configuration de Bind. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
5.3.1 Configuration générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
5.3.2 Section globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
5.3.3 Section de zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
5.3.4 Zone de résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
5.3.5 Zone de résolution inverse. . . . . . . . . . . . . . . . . . . . . . . . . . . 546
5.3.6 Exemple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
5.3.7 Zones spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
5.4 Fichiers de zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
5.4.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
5.4.2 Zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
5.4.3 Zone de résolution inverse. . . . . . . . . . . . . . . . . . . . . . . . . . . 552
5.5 Diagnostic des problèmes de configuration . . . . . . . . . . . . . . . . . . . . 552
5.6 Interrogation dig et host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
6. Courrier électronique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
6.1 Principe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
6.2 postfix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
6.2.1 Configuration simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
6.2.2 Alias d'utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
22 Linux
Maîtrisez l’administration du système
Chapitre 8
La sécurité
1. Bases de sécurité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
1.1 Sécurité informatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
1.2 Contrôler les droits d'endossement. . . . . . . . . . . . . . . . . . . . . . . . . . . 574
1.3 Vérifier les packages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
1.4 Politique de mot de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
1.5 Stocker ses mots de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
Table des matières 23
Chapitre 9
X Window
1. Comment fonctionne un environnement graphique ? . . . . . . . . . . . . . . . . 631
1.1 X Window System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
1.1.1 Un modèle client/serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
1.1.2 Le gestionnaire de fenêtres . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
1.1.3 Les widgets et les toolkits . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
1.1.4 Les bureaux virtuels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
1.2 Les environnements de bureau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638
2. Xorg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
2.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
2.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
Table des matières 25
Chapitre 10
Partitionnement avancé : RAID, LVM et BTRFS
1. Partitionnement avancé RAID logiciel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691
1.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691
1.2 Précautions et considérations d'usage . . . . . . . . . . . . . . . . . . . . . . . . 692
1.2.1 Disque de secours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
1.2.2 Disque défectueux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
1.2.3 Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
1.2.4 Swap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
1.2.5 Périphériques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
1.2.6 IDE et SATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
1.2.7 Hot Swap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
1.3 RAID avec mdadm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
1.3.1 Préparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
1.3.2 Création . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
1.3.3 Sauvegarder la configuration . . . . . . . . . . . . . . . . . . . . . . . . . 697
1.4 État du RAID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
1.5 Simuler une panne. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698
1.6 Remplacer un disque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
1.7 Arrêt et relance manuels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700
2. Initiation au LVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
2.1 Principe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
2.2 Les volumes physiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
2.2.1 Créer un volume physique. . . . . . . . . . . . . . . . . . . . . . . . . . . 702
2.2.2 Voir les volumes physiques . . . . . . . . . . . . . . . . . . . . . . . . . . 703
2.3 Les groupes de volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
2.3.1 Créer un groupe de volumes . . . . . . . . . . . . . . . . . . . . . . . . . 704
2.3.2 Propriétés d’un groupe de volumes . . . . . . . . . . . . . . . . . . . . 704
2.4 Les volumes logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
2.4.1 Créer un volume logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
2.4.2 Propriétés d’un volume logique . . . . . . . . . . . . . . . . . . . . . . . 707
2.4.3 Accès au volume logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708
2.5 Agrandissements et réductions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708
2.5.1 Les groupes de volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708
2.5.2 Agrandir un volume logique . . . . . . . . . . . . . . . . . . . . . . . . . 711
2.5.3 Réduire un volume logique . . . . . . . . . . . . . . . . . . . . . . . . . . 713
28 Linux
Maîtrisez l’administration du système
Annexe
1. Modèle MySQL (pour le chapitre Le shell
et les commandes GNU - SQL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731
267
Chapitre 4
Les disques et le système de fichiers
Note préalable : les unités de mesure de stockage utilisées dans ce chapitre et dans
l’ensemble de ce livre utilisent la représentation de l’usage traditionnel en kilo-octets,
selon la règle 1 ko = 1024 octets (210), sauf indication contraire. Cette représentation
se nomme théoriquement Kio (kibioctet).
1.1 Nomenclature
Ceci est un petit rappel des points déjà rencontrés dans le chapitre Présentation de
Linux. Suivant le type de contrôleur et d'interface sur lesquels les disques sont connec-
tés, Linux donne des noms différents aux fichiers spéciaux des périphériques disques.
Chaque disque est représenté par un fichier spécial de type bloc. Chaque partition
aussi.
1.1.1 IDE
Les disques reliés à des contrôleurs IDE (appelés aussi PATA (Parallel ATA) ou ATAPI
et en voie de disparition) se nomment hdX :
– hda : IDE0, Master
– hdb : IDE0, Slave
– hdc : IDE1, Master
– hdd : IDE1, Slave
– etc.
268 Linux
Maîtrisez l’administration du système
Contrairement aux idées reçues, il n'y a pas de limites au nombre de contrôleurs IDE,
sauf le nombre de ports d'extension de la machine (slots PCI). De nombreuses cartes
additionnelles existent, de nombreuses cartes mères proposent jusqu'à quatre, six,
huit connecteurs. Dans ce cas, les fichiers se nomment hde, hdf, hdg, etc.
Les lecteurs CD-Rom, DVD et graveurs de type IDE/ATAPI sont vus comme des
disques IDE et respectent cette nomenclature.
Les derniers noyaux Linux utilisent par défaut une API appelée libata pour accéder à
l'ensemble des disques IDE, SCSI, USB, Firewire, etc. Si c'est votre cas (regardez les
notes de version de la distribution), la nomenclature reprend celle des disques SCSI,
abordée au point suivant.
Remarque
Du fait de l’utilisation de libata, la représentation des disques en nomenclature hdx est
devenue rare. Attention cependant si vous mettez à jour votre ancienne distribution qui
conservait ce format. Le passage à une nouvelle version plus récente va probablement
les renommer en sdx, la nomenclature SCSI. Du coup vous risquez d’avoir des soucis si
vous oubliez de modifier le fichier /etc/fstab ou la configuration de grub.
$ lsscsi
[4:0:0:0] disk ATA ST380011A 8.01 /dev/sda
[5:0:0:0] cd/dvd LITE-ON COMBO SOHC-4836V S9C1 /dev/sr0
[31:0:0:0] disk USB2.0 Mobile Disk 1.00 /dev/sdb
1.2.2 Virtualisation
La représentation des disques des systèmes invités (guests) virtualisés dépend du type
de contrôleur simulé. La plupart sont de type IDE ou SCSI, et dans les deux cas bien
souvent avec la libata ils sont vus comme du SCSI. Cependant certains systèmes
comme KVM ou XEN proposant de la paravirtualisation offrent un contrôleur spéci-
fique présentant les disques sous le nom vdx (virtual disk x), ou xvdx :
– vda : premier disque virtualisé, ou xvda,
– vdb : deuxième disque virtualisé, ou xvdb,
– etc.
/dev/sda:
– -T : bench de lecture du cache disque, idéal pour tester les performances de trans-
fert entre Linux et le cache du disque. Il faut relancer la commande deux ou trois
fois.
– -t : bench de lecture du disque, hors cache. Mêmes remarques que l'option précé-
dente.
Ainsi la commande suivante passe le bus de transfert en 32 bits, active le mode DMA
en mode Ultra DMA 5 pour le disque sda :
# hdparm -c1 -d3 -X udma5 /dev/sda
Voici quelques autres exemples :
# hdparm -c /dev/sda
/dev/sda:
IO_support = 0 (default 16-bit)
# hdparm -C /dev/sda
/dev/sda:
drive state is: active/idle
# hdparm -g /dev/sda
/dev/sda:
geometry = 3931/255/63, sectors = 63152320, start = 0
# hdparm -T /dev/sda
/dev/sda:
Timing cached reads: 23868 MB in 2.00 seconds = 11950.45 MB/sec
# hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 308 MB in 3.02 seconds = 101.87 MB/sec