Professional Documents
Culture Documents
The contents of this course and all its modules and related materials, including handouts to audience members, are
Copyright © 2022 Red Hat, Inc.
No part of this publication may be stored in a retrieval system, transmitted or reproduced in any way, including, but
not limited to, photocopy, photograph, magnetic, electronic or other record, without the prior written permission of
Red Hat, Inc.
This instructional program, including all material provided herein, is supplied without any guarantees from Red Hat,
Inc. Red Hat, Inc. assumes no liability for damages or legal action arising from the use or misuse of contents or details
contained herein.
If you believe Red Hat training materials are being used, copied, or otherwise improperly distributed, please send
email to training@redhat.com or phone toll-free (USA) +1 (866) 626-2994 or +1 (919) 754-3700.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, JBoss, OpenShift, Fedora, Hibernate, Ansible, CloudForms,
RHCA, RHCE, RHCSA, Ceph, and Gluster are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries
in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
XFS® is a registered trademark of Hewlett Packard Enterprise Development LP or its subsidiaries in the United
States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is a trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open
source or commercial project.
The OpenStack word mark and the Square O Design, together or apart, are trademarks or registered trademarks
of OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's
permission. Red Hat, Inc. is not affiliated with, endorsed by, or sponsored by the OpenStack Foundation or the
OpenStack community.
Contributeurs : Adarsh Krishnan, David Sacco, Hemant Chauhan, Roberto Velazquez, Sajith
Eyamkuzhy, Samik Sanyal, Yuvaraj Balaraju
Conventions de la documentation xi
.............................................................................................................................. xi
Introduction xiii
Red Hat System Administration I ................................................................................ xiii
Organisation de l'environnement de la classe .............................................................. xiv
Exécution des exercices pratiques ........................................................................... xviii
RH124-RHEL9.0-fr-2-20220609 vii
Gestion des comptes d'utilisateur locaux ................................................................... 179
Exercice guidé: Gestion des comptes d'utilisateur locaux ............................................. 182
Gestion des comptes de groupes locaux ................................................................... 185
Exercice guidé: Gestion des comptes de groupes locaux ............................................. 189
Gestion des mots de passe des utilisateurs ............................................................... 192
Exercice guidé: Gestion des mots de passe des utilisateurs .......................................... 197
Open Lab: Gestion des utilisateurs et des groupes locaux .......................................... 202
Résumé ............................................................................................................... 208
viii RH124-RHEL9.0-fr-2-20220609
Conservation du journal système ............................................................................ 382
Exercice guidé: Conservation du journal système ...................................................... 385
Gestion précise de l'heure ...................................................................................... 388
Exercice guidé: Gestion précise de l'heure ................................................................ 392
Open Lab: Analyse et stockage des journaux ........................................................... 396
Résumé ............................................................................................................... 402
RH124-RHEL9.0-fr-2-20220609 ix
Exercice guidé: Obtention d'aide auprès du portail client Red Hat ................................ 599
Détection et résolution des problèmes avec Red Hat Insights ....................................... 601
Quiz: Détection et résolution des problèmes avec Red Hat Insights .............................. 609
Résumé ................................................................................................................. 611
17. Révision complète 613
Révision complète ................................................................................................. 614
Open Lab: Gestion des fichiers à partir de la ligne de commande ................................. 618
Open Lab: Gestion des utilisateurs et des groupes, des autorisations et des processus .... 626
Open Lab: Configuration et gestion de la sécurité d'un serveur ................................... 633
Open Lab: Gestion des réseaux ............................................................................. 640
Open Lab: Montage de systèmes de fichiers et recherche de fichiers ........................... 646
x RH124-RHEL9.0-fr-2-20220609
Conventions de la documentation
Avertissements
Les cours de la formation Red Hat font appel aux avertissements suivants :
Références
Consignes indiquant où trouver de la documentation externe se
rapportant à un sujet.
Note
Il s'agit de conseils, raccourcis ou approches alternatives pour la
tâche considérée. Ignorer une remarque ne devrait pas entraîner de
conséquences négatives, mais vous pourriez passer à côté d'une astuce
qui vous simplifierait la vie.
Important
Ils détaillent des éléments qui pourraient aisément être négligés : des
changements de configuration qui ne s'appliquent qu'à la session
en cours ou des services qui doivent être redémarrés pour qu'une
mise à jour soit appliquée. Ignorer ces avertissements ne vous fera
perdre aucune donnée, mais cela pourrait être source de frustration et
d'irritation.
Mise en garde
Ces derniers ne doivent pas être ignorés. Le fait d'ignorer un
avertissement risque fortement d'entraîner une perte de données.
Langage inclusif
La formation Red Hat se penche actuellement sur les usages linguistiques
dans différents domaines en vue d'éliminer tout emploi potentiellement
offensant. Il s'agit d'un processus continu qui doit être appliqué aux produits
et services couverts dans les cours de la formation Red Hat. Red Hat vous
remercie pour votre patience tout au long du processus.
RH124-RHEL9.0-fr-2-20220609 xi
xii RH124-RHEL9.0-fr-2-20220609
Introduction
RH124-RHEL9.0-fr-2-20220609 xiii
Introduction
Organisation de l'environnement de la
classe
Dans ce cours, le système informatique principal utilisé pour les travaux pratiques est
workstation. Les stagiaires utilisent également deux autres machines pour ces activités :
servera et serverb. Les trois systèmes se trouvent dans le domaine DNS lab.example.com.
Tous les systèmes informatiques des stagiaires possèdent un compte d'utilisateur standard,
student, protégé par le mot de passe student. Le mot de passe root est redhat sur tous les
systèmes des stagiaires.
La fonction principale de bastion est de servir de routeur entre le réseau sur lequel sont
connectées les machines des stagiaires et le réseau de la salle de classe. Si le poste de travail
xiv RH124-RHEL9.0-fr-2-20220609
Introduction
bastion est arrêté, les machines des autres stagiaires peuvent uniquement accéder aux
systèmes qui se trouvent sur le réseau des stagiaires.
Plusieurs systèmes dans la salle de classe proposent des services d'assistance. Deux serveurs,
content.example.com et materials.example.com, hébergent les logiciels et les supports
d'atelier utilisés pour les activités pratiques. Les informations sur l'utilisation de ces serveurs sont
fournies dans les instructions de ces activités. Ces activités sont fournies par la machine virtuelle
workstation. Les machines classroom et bastion doivent toujours être en cours d'exécution
pour une utilisation correcte de l'environnement d'atelier.
Note
Lorsque vous vous connectez à servera ou serverb, il se peut que vous voyiez un
message sur l'activation de cockpit. Vous pouvez l'ignorer.
[student@serverb ~]$
RH124-RHEL9.0-fr-2-20220609 xv
Introduction
États de la machine
Actions de la machine
xvi RH124-RHEL9.0-fr-2-20220609
Introduction
ACTION > Power Off Force l'arrêt de la machine virtuelle, en conservant le contenu du
disque. Cela équivaut à couper l'alimentation d'une machine physique.
ACTION > Reset Force l'arrêt de la machine virtuelle et réinitialise le stockage associé à
son état initial. Tous les travaux enregistrés sur les disques de ce
système seront perdus.
Au début d'un exercice, si vous êtes invité à réinitialiser un seul nœud de machine virtuelle, cliquez
sur ACTION > Reset pour la machine virtuelle concernée.
Au début d'un exercice, si vous êtes invité à réinitialiser l'ensemble des machines virtuelles, cliquez
sur ACTION > Reset sur chaque machine virtuelle figurant dans la liste.
Si vous souhaitez que l'environnement de formation retourne à son état d'origine du début du
cours, cliquez sur DELETE pour supprimer l'ensemble de l'environnement de formation. Une fois
l'atelier supprimé, cliquez sur CREATE pour déployer un nouvel ensemble de systèmes de salle de
classe.
Mise en garde
L'opération DELETE ne peut pas être annulée. Tous les travaux que vous aurez
terminés dans l'environnement de formation seront perdus.
Pour régler ces compteurs, localisez les deux boutons + en bas de la page de gestion du cours.
Cliquez sur le bouton d'arrêt automatique + pour ajouter une nouvelle heure au compteur d'arrêt
automatique. Cliquez sur le bouton de destruction automatique + pour ajouter un nouveau jour au
compteur de destruction automatique. Le maximum autorisé pour le bouton d'arrêt automatique
est 11 heures, et 14 jours pour la destruction automatique. Veillez à ce que les compteurs restent
définis pendant que vous travaillez, afin d'éviter que votre environnement ne s'arrête de manière
inattendue. Veillez à ne pas régler les compteurs de façon inutilement élevée, ce qui pourrait
gaspiller le temps d'abonnement qui vous a été alloué.
RH124-RHEL9.0-fr-2-20220609 xvii
Introduction
• Un exercice guidé est un exercice pratique qui suit une section de présentation. Il vous guide à
travers une procédure à exécuter, étape par étape.
• Un quiz est généralement utilisé lors de la vérification de l'apprentissage axé sur les
connaissances ou si, pour une quelconque raison, une activité pratique n'est pas appropriée.
• Un atelier de fin de chapitre est une activité pratique notée dont le but est de vous aider à
vérifier les connaissances que vous avez acquises. Vous effectuez un ensemble d'étapes de haut
niveau en fonction des exercices guidés de ce chapitre. Cependant, les étapes ne décrivent pas
chacune des commandes. Une solution est fournie avec une procédure étape par étape.
• Un atelier de révision complète est utilisé à la fin du cours. Il s'agit également d'une activité
pratique notée qui peut porter sur l'ensemble du contenu du cours. Vous allez examiner une
spécification qui détaille les procédures à accomplir dans le cadre de l'activité, sans connaître
les étapes spécifiques pour y parvenir. Ici encore, vous recevez une solution qui fournit une
procédure étape par étape qui répond à la spécification.
Pour préparer votre environnement d'atelier au début de chaque activité pratique, exécutez la
commande lab start avec un nom d'activité issu des instructions de l'activité. De même, à la fin
de chaque activité pratique, exécutez la commande lab finish avec ce même nom d'activité
pour effectuer un nettoyage après l'activité. Chaque activité pratique porte un nom unique au sein
d'un cours.
L'action est à choisir entre start, grade ou finish. Tous les exercices prennent en charge
start et finish. Seuls les ateliers de fin de chapitre et de révision complète prennent en charge
grade.
start
L'action start vérifie les ressources requises pour commencer un exercice. Il peut s'agir
notamment de configurer des paramètres, de créer des ressources, de vérifier les services
prérequis et de vérifier les résultats nécessaires des exercices précédents. Vous pouvez
effectuer un exercice à tout moment, même sans avoir réalisé les exercices précédents.
grade
Pour les activités notées, l'action grade indique à la commande lab d'évaluer votre travail.
Elle affiche également une liste de critères de notation, avec un statut PASS ou FAIL pour
chacun d'eux. Pour obtenir le statut PASS pour tous les critères, corrigez les erreurs et
exécutez à nouveau l'action grade.
finish
L'action finish nettoie les ressources configurées pendant l'exercice. Vous pouvez faire un
exercice autant de fois que vous le souhaitez.
xviii RH124-RHEL9.0-fr-2-20220609
Introduction
La commande lab prend en charge la saisie semi-automatique via la touche de tabulation. Par
exemple, pour lister tous les exercices que vous pouvez commencer, saisissez lab start, puis
appuyez deux fois sur la touche Tab.
RH124-RHEL9.0-fr-2-20220609 xix
xx RH124-RHEL9.0-fr-2-20220609
chapitre 1
RH124-RHEL9.0-fr-2-20220609 1
chapitre 1 | Prise en main de Red Hat Enterprise Linux
Résultats
Décrire et expliquer l'objet de Linux, d'Open Source, des distributions Linux et de Red Hat
Enterprise Linux.
Linux est très répandu dans le monde entier. Les internautes interagissent quotidiennement avec
les systèmes d'applications et de serveurs Web Linux, en naviguant sur le Web et en utilisant des
sites de commerce électronique pour acheter et vendre des produits.
L'utilisation de Linux ne s'arrête pas à Internet. Linux gère des systèmes de points de vente et
les marchés boursiers mondiaux, et équipe également les téléviseurs intelligents et systèmes
de divertissement à bord. Il est installé sur la plupart des 500 premiers supercalculateurs du
monde. Linux fournit les technologies de base qui alimentent la révolution du cloud et les outils
utilisés pour construire la dernière génération d'applications de microservices en conteneur, les
technologies de stockage logicielles et les solutions de gros volumes de données.
Dans les datacenters modernes, Linux et Microsoft Windows sont les systèmes d'exploitation
prédominants. L'utilisation de Linux continue de se développer dans les entreprises, sur le cloud
et sur les périphériques. Du fait de son utilisation généralisée, vous avez de nombreuses raisons
d'apprendre Linux :
« Open Source » signifie que vous pouvez voir tout le fonctionnement d'un programme ou d'un
système. Vous pouvez également expérimenter des modifications et les partager librement
pour que les autres les utilisent. Le modèle Open Source signifie que les améliorations sont plus
faciles à réaliser, ce qui permet d'innover plus rapidement.
• Linux fournit une interface de ligne de commande (CLI) facile d'accès qui permet de créer des
scripts puissants.
2 RH124-RHEL9.0-fr-2-20220609
chapitre 1 | Prise en main de Red Hat Enterprise Linux
Linux repose sur une philosophie de conception de base selon laquelle les utilisateurs peuvent
effectuer toutes les tâches d'administration à partir de l'interface de ligne de commande. Il
facilite l'automatisation, le déploiement et le provisioning, et simplifie l'administration des
systèmes locaux et distants. Contrairement à de nombreux autres systèmes d'exploitation, ces
fonctionnalités ont été intégrées à l'architecture dès le départ pour simplifier l'utilisation tout en
garantissant la stabilité.
Les composants du système peuvent être mis à niveau et mis à jour, au besoin. Un système
Linux peut être un poste de travail de développement à usage général ou une appliance
logicielle volontairement minimaliste.
Le code source est l'ensemble d'instructions lisibles par l'homme utilisées pour créer un
programme. Il peut revêtir une forme interprétative comme un script ou être compilé dans un
fichier exécutable binaire qui est directement exécuté par l'ordinateur. Le code source est protégé
par le droit d'auteur dès sa création et le détenteur du droit d'auteur contrôle les conditions dans
lesquelles le logiciel peut être copié, adapté et distribué. Les utilisateurs peuvent utiliser le logiciel
conformément à sa licence.
Certains logiciels utilisent un code source « propriétaire » ou « fermé » qui n'est visible,
modifiable et distribuable que par les personnes, l'équipe ou l'organisation d'origine. Les licences
propriétaires restreignent généralement l'utilisateur à l'exécution du programme et fournissent un
accès limité ou inexistant à la source.
Le logiciel Open Source est différent. Lorsqu'un détenteur du droit d'auteur fournit un logiciel
sous une licence Open Source, il accorde à l'utilisateur le droit d'exécuter le programme et
de visualiser, modifier, compiler et redistribuer le code source, sans redevance. Une licence
Open Source favorise la collaboration, le partage, la transparence et l'innovation rapide, car elle
encourage davantage de personnes à apporter des modifications et des améliorations au logiciel
et à partager plus largement ces améliorations.
il est toujours possible de fournir les logiciels Open Source à des fins commerciales. L'Open
Source constitue une part essentielle des opérations commerciales de nombreuses organisations.
Certaines licences Open Source permettent de réutiliser le code dans des produits propriétaires.
Toute personne peut vendre du code Open Source, mais les licences Open Source permettent
généralement au client de redistribuer le code source. Les fournisseurs de produits Open source
tels que Red Hat fournissent une assistance commerciale pour le déploiement, la gestion et la
création de solutions basées sur des produits Open Source.
RH124-RHEL9.0-fr-2-20220609 3
chapitre 1 | Prise en main de Red Hat Enterprise Linux
Deux catégories générales de licences Open Source qui sont particulièrement importantes :
• Les licences copyleft sont conçues pour encourager le maintien du code Open Source.
• Les licences permissives sont conçues pour optimiser la réutilisation du code.
Les licences copyleft ou « partageables » exigent que quiconque distribuant le code source, avec
ou sans modification, transmette également la liberté de copier, modifier et distribuer le code.
Le principal avantage des licences copyleft est lié au fait qu'elles permettent de conserver le
code existant et que les améliorations apportées à ce code permettent d'ouvrir et d'augmenter la
quantité de code Open Source disponible. Les licences copyleft courantes incluent la licence GNU
General Public License (GNU GPL) et la licence GNU Lesser Public License (LGPL).
Les licences permissives optimisent la réutilisation du code source. Vous pouvez utiliser le code
source à n'importe quelle fin, tant que les déclarations de droits d'auteur et de licence sont
préservées, notamment sous des licences plus restrictives ou propriétaires. Bien que les licences
permissives facilitent la réutilisation du code, elles risquent d'encourager des améliorations
uniquement propriétaires. Parmi les licences permissives figurent la licence MIT/X11, la licence BSD
simplifiée et la licence logicielle Apache 2.0.
Red Hat a pour rôle d'aider les clients à entrer en relation avec la communauté Open Source et
les partenaires pour utiliser efficacement les solutions logicielles Open Source. Red Hat participe
activement à la communauté Open Source et la soutient. De nombreuses années d'expérience ont
convaincu l'entreprise de l'importance de l'Open Source pour l'avenir du secteur des technologies
de l'information.
Red Hat est surtout célèbre pour sa participation à la communauté Linux et la distribution Red Hat
Enterprise Linux. Cependant, Red Hat est également actif dans d'autres communautés Open
Source, notamment dans les projets de middleware centrés sur la communauté de développeurs
4 RH124-RHEL9.0-fr-2-20220609
chapitre 1 | Prise en main de Red Hat Enterprise Linux
JBoss, les solutions de virtualisation, les technologies cloud comme OpenStack et OpenShift,
ainsi que les projets de stockage logiciel Ceph et Gluster, etc.
En 1991, Linus Torvalds, un étudiant diplômé, a développé un noyau de type UNIX qu'il a appelé
Linux et concédé en tant que logiciel Open Source sous la licence GPL. Le noyau est le cœur
du système d'exploitation. Il gère le matériel, la mémoire et la planification des programmes
d'exécution. Le noyau Linux est complété par d'autres logiciels Open Source, dont des utilitaires
et des programmes du projet GNU, une interface graphique du système X Window du MIT et
d'autres composants Open Source, tels que le serveur de messagerie Sendmail et le serveur Web
HTTP Apache, pour constituer un système d'exploitation de type UNIX complet et Open Source.
Pour les utilisateurs de Linux un défi majeur consiste à assembler tous ces composants logiciels à
partir de nombreuses sources. Les premiers développeurs Linux ont fourni une distribution d'outils
prédéfinis et testés que les utilisateurs pouvaient télécharger et installer pour mettre en œuvre
rapidement leurs systèmes Linux.
De nombreuses distributions Linux existent, chacune possédant des objectifs et des critères
de prise en charge différents. Les distributions ont généralement plusieurs caractéristiques
communes :
• Red Hat participe en soutenant des projets Open Source individuels. Il fournit du code, du temps
de développement, des ressources et d'autres types de support, en collaborant souvent avec
des développeurs d'autres distributions Linux, afin d'améliorer la qualité générale des logiciels
pour tous.
• Red Hat parraine et intègre des projets Open Source dans la distribution Linux communautaire
Fedora. Fedora fournit un environnement de travail gratuit qui sert de laboratoire de
développement et de terrain d'essai pour les fonctionnalités à intégrer aux produits CentOS
Stream et RHEL.
• Red Hat stabilise le logiciel CentOS Stream afin qu'il soit prêt pour une prise en charge et une
normalisation à long terme, et l'intègre dans RHEL, une distribution prête pour la production.
RH124-RHEL9.0-fr-2-20220609 5
chapitre 1 | Prise en main de Red Hat Enterprise Linux
Fedora
Fedora est un projet communautaire qui produit et publie une version complète et gratuite du
système d'exploitation Linux. Red Hat parraine la communauté Fedora et collabore avec elle pour
intégrer les derniers logiciels en amont dans une distribution sécurisée à évolution rapide. Le
projet Fedora apporte sa contribution au monde Open Source et tout le monde peut participer.
Fedora privilégie l'innovation et l'excellence à la stabilité à long terme. Des mises à jour majeures
ont lieu tous les six mois et apportent des changements significatifs. Fedora prend en charge les
versions pendant environ un an, soit les deux dernières mises à jour ; il est de fait moins adapté à
une utilisation en production. Fedora reste la source d'innovation de l'ensemble de l'écosystème
Enterprise Linux. En général, les paquetages commencent dans Fedora et ne sont inclus dans
CentOS Stream que lorsqu'ils sont considérés comme matures en termes de stabilité, de sécurité,
de performances et de demande des clients.
En règle générale, les paquetages EPEL sont compilés en fonction des versions RHEL. EPEL Next
est un référentiel supplémentaire dédiés aux responsables de paquetages à compiler sur CentOS
Stream. Ce référentiel est utile lorsque CentOS Stream contient une redéfinition de bibliothèque
RHEL à venir, ou si un paquetage EPEL intègre une exigence de compilation de version minimale
déjà présente dans CentOS Stream mais pas encore dans RHEL.
6 RH124-RHEL9.0-fr-2-20220609
chapitre 1 | Prise en main de Red Hat Enterprise Linux
CentOS Stream
CentOS Stream est le projet en amont de RHEL. Le développement de la prochaine version de
RHEL est transparent et ouvert aux contributions de la communauté. Ces dernières peuvent
influencer directement la prochaine version. Les correctifs soumis à CentOS Stream sont intégrés
plus rapidement à RHEL, pour apporter des modifications importantes tout au long du cycle de
vie de la version actuelle de RHEL. CentOS Stream est une distribution à intégration et livraison
continues, avec des versions nocturnes testées et stables.
Le projet CentOS accepte des contributeurs du monde entier, pour permettre aux dérivés RHEL
de contribuer à CentOS Stream dans leur propre intérêt. Le projet CentOS vise également à
promouvoir des logiciels Open Source durables qui s'adaptent plus rapidement aux failles de
sécurité, aux technologies émergentes et à l'évolution des exigences des clients.
Note
Avant 2019, CentOS Linux était une distribution gratuite sans prise en charge,
créée par la communauté à partir du code source de Red Hat après chaque version
majeure de RHEL. Bien que la communauté CentOS ait apprécié de disposer
d'un clone RHEL gratuit, ce modèle présentait des inconvénients. D'une manière
générale, le rétroportage sur Fedora ou RHEL des contributions des développeurs
à CentOS Linux impliquait des efforts redondants. En outre, des délais importants
ont été observés entre une version RHEL et la version de distribution CentOS
correspondante, avec un délai similaire pour les correctifs de sécurité, de pilote et
de réglage RHEL critiques. Red Hat a basculé vers le modèle CentOS Stream pour
résoudre ces problèmes.
De nombreuses entreprises technologiques novatrices ont prouvé que CentOS Stream était une
solution de remplacement viable du CentOS Linux d'origine en aval. Il est possible de télécharger
et d'installer CentOS Stream pour de nombreux cas d'utilisation, y compris le développement et
la production légère. Pour les utilisateurs de la communauté dont les cas d'utilisation ne sont pas
adaptés à une distribution continue avec des versions de correctifs asynchrones, Red Hat fournit
des abonnements de développement individuels gratuits dédiés à une utilisation à petite échelle,
comme les démonstrations, le prototypage, l'assurance qualité et la production limitée.
Red Hat compile les principales versions de RHEL directement à partir du projet de
développement continu CentOS Stream, issu de Fedora. Contrairement au modèle de
développement précédent, dans lequel les versions de RHEL étaient créées en interne avec moins
de transparence et la source était fournie uniquement pour la compilation en tant que CentOS
Linux après la version RHEL, le nouveau modèle de développement CentOS Stream est ouvert
et disponible pour tous (commentaires et contribution) tandis que le code est préparé pour
constituer la prochaine version majeure de RHEL.
RH124-RHEL9.0-fr-2-20220609 7
chapitre 1 | Prise en main de Red Hat Enterprise Linux
RHEL utilise un modèle d'assistance par abonnement et ne facture pas de frais de licence pour
les logiciels Open Source. Les abonnements à l'assistance Red Hat comprennent l'assistance
produit, la maintenance, les mises à jour, les correctifs de sécurité, ainsi que l'accès à la base
de connaissances du portail client, aux utilitaires et aux versions téléchargeables des produits
Red Hat.
Le tableau suivant répertorie les différences clés entre Fedora, CentOS Stream et RHEL.
Les fonctions Edge de RHEL incluent des capacités de gestion et de mise à l'échelle sécurisées,
dont l'approvisionnement sans intervention, la visibilité sur l'intégrité du système et des
corrections de sécurité rapides à partir d'une interface unique.
8 RH124-RHEL9.0-fr-2-20220609
chapitre 1 | Prise en main de Red Hat Enterprise Linux
est un sous-ensemble de RHEL, avec des paquetages provenant de canaux RHEL sécurisés. L'UBI
est prise en charge de la même manière que RHEL lorsqu'elle est exécutée sur des plateformes
prises en charge par Red Hat, telles que les hôtes OpenShift et RHEL.
Avec l'UBI, les développeurs peuvent concentrer leurs efforts sur leur application dans l'image de
conteneur. L'UBI est un ensemble d'images de base, un ensemble d'images d'application (telles
que python, ruby, node.js, httpd ou nginx) et un ensemble de référentiels RPM à partir desquels
vous pouvez mettre à jour n'importe quelle image de base UBI pour inclure les dépendances du
paquetage dont votre application a besoin.
Avant qu'un paquetage ne soit officiellement introduit dans CentOS Stream, il est soumis à des
tests rigoureux pour répondre aux normes relatives aux paquetages à inclure dans RHEL. Les
mises à jour publiées sur CentOS Stream sont identiques à celles publiées sur la version mineure
non publiée de RHEL en développement.
Comme indiqué sur la Figure 1.2, Fedora 34 est le code de base d'origine de RHEL 9 et de CentOS
Stream 9. À mesure que les paquetages sont mis à jour, ils sont poussés dans CentOS Stream
et la version nocturne de RHEL. Les lignes continues indiquent les distributions ou les versions
disponibles pour un usage public.
À l'instar de la relation entre Fedora Rawhide et Fedora, CentOS Stream est l'environnement
de développement continu de préparation de la prochaine version mineure de RHEL. Red Hat
effectue des tests complets sur le matériel, l'intégration, les dépendances et les performances
avant de lancer la prochaine distribution publique de RHEL.
• Fedora Linux et ses dérivés sont disponibles gratuitement auprès du projet Fedora sur https://
getfedora.org/, y compris une version émergente de Fedora CoreOS.
• Les paquetagesEPEL et EPEL Next sont disponibles gratuitement à partir des référentiels de
projet EPEL. Apprenez à utiliser EPEL sur https://docs.fedoraproject.org/en-US/epel/.
• CentOS Stream est disponible gratuitement sur https://www.centos.org/centos-stream/.
RH124-RHEL9.0-fr-2-20220609 9
chapitre 1 | Prise en main de Red Hat Enterprise Linux
Conteneurs
Vous pouvez utiliser les images de base universelles Red Hat et le contenu associé pour le
développement et le déploiement sans abonnement Red Hat. Pour bénéficier d'une assistance
opérationnelle et d'un accès aux outils autres que l'UBI, les conteneurs basés sur l'UBI doivent
être déployés sur une plateforme prise en charge par Red Hat, telle qu'OpenShift ou Red Hat
Enterprise Linux. L'accès au contenu non UBI nécessite un abonnement Red Hat.
Références
Prise en main de Red Hat Enterprise Linux
https://access.redhat.com/products/red-hat-enterprise-linux#getstarted
Abonnement gratuit pour les développeurs Red Hat Enterprise Linux : FAQ
https://developers.redhat.com/articles/faqs-no-cost-red-hat-enterprise-linux#
La méthode Open Source
https://opensource.com/open-source-way
Fedora
https://getfedora.org/
Images de base universelles Red Hat
https://developers.redhat.com/products/rhel/ubi
Red Hat Cloud Access
https://www.redhat.com/en/technologies/cloud-computing/cloud-access
10 RH124-RHEL9.0-fr-2-20220609
chapitre 1 | Prise en main de Red Hat Enterprise Linux
Quiz
1. Parmi les propositions suivantes, quels sont les deux énoncés qui correspondent aux
avantages des logiciels Open Source pour l'utilisateur ? (Choisissez deux réponses.)
a. L'existence du code n'est pas impactée en cas de changement de développeur ou de
distributeur d'origine.
b. Les parties de code sensibles sont protégées et disponibles uniquement pour le
développeur d'origine.
c. Vous pouvez tirer parti du code issu de situations réelles et développer des applications
plus efficaces.
d. Le code reste ouvert tant qu'il se trouve dans un référentiel public, mais la licence peut
changer si elle est incluse dans un logiciel source propriétaire.
2. Parmi les propositions suivantes, quels sont les deux moyens que Red Hat utilise pour
développer ses produits pour l'avenir et interagir avec la communauté ? (Choisissez
deux réponses.)
a. Parrainage et intégration de projets Open Source dans le projet communautaire Fedora.
b. Développement d'outils d'intégration spécifiques uniquement disponibles dans les
distributions Red Hat.
c. Participation à des projets en amont.
d. Reconditionnement des produits communautaires et création de nouvelles licences pour
ces derniers.
RH124-RHEL9.0-fr-2-20220609 11
chapitre 1 | Prise en main de Red Hat Enterprise Linux
Solution
1. Parmi les propositions suivantes, quels sont les deux énoncés qui correspondent aux
avantages des logiciels Open Source pour l'utilisateur ? (Choisissez deux réponses.)
a. L'existence du code n'est pas impactée en cas de changement de développeur ou de
distributeur d'origine.
b. Les parties de code sensibles sont protégées et disponibles uniquement pour le
développeur d'origine.
c. Vous pouvez tirer parti du code issu de situations réelles et développer des applications
plus efficaces.
d. Le code reste ouvert tant qu'il se trouve dans un référentiel public, mais la licence peut
changer si elle est incluse dans un logiciel source propriétaire.
2. Parmi les propositions suivantes, quels sont les deux moyens que Red Hat utilise pour
développer ses produits pour l'avenir et interagir avec la communauté ? (Choisissez
deux réponses.)
a. Parrainage et intégration de projets Open Source dans le projet communautaire Fedora.
b. Développement d'outils d'intégration spécifiques uniquement disponibles dans les
distributions Red Hat.
c. Participation à des projets en amont.
d. Reconditionnement des produits communautaires et création de nouvelles licences pour
ces derniers.
12 RH124-RHEL9.0-fr-2-20220609
chapitre 1 | Prise en main de Red Hat Enterprise Linux
Résumé
• Un logiciel Open Source comprend du code source que tout le monde peut librement utiliser,
étudier, modifier et partager.
• Une distribution Linux est un système d'exploitation installable, construit à partir d'un noyau
Linux et prenant en charge les bibliothèques et les programmes utilisateur.
• Red Hat participe à la prise en charge et à la contribution de code aux projets Open Source,
parraine et intègre le logiciel de projet dans des distributions communautaires, et le stabilise
pour le proposer comme produit pris en charge pour des entreprises.
• Red Hat Enterprise Linux est la distribution Open Source Linux commercialisée pour les
entreprises de Red Hat.
• Un abonnement Red Hat Developer gratuit permet d'obtenir des ressources et des informations
gratuites, dont une version 16 nœuds de Red Hat Enterprise Linux.
RH124-RHEL9.0-fr-2-20220609 13
14 RH124-RHEL9.0-fr-2-20220609
chapitre 2
RH124-RHEL9.0-fr-2-20220609 15
chapitre 2 | Accès à la ligne de commande
Résultats
Se connecter à un système Linux et exécuter des commandes simples à l'aide du shell.
Le shell par défaut des utilisateurs de Red Hat Enterprise Linux (RHEL) est GNU Bourne-Again
Shell (bash). Le shell bash est une version améliorée du Bourne Shell (sh) d'origine sur les
systèmes UNIX.
Le shell affiche une chaîne lorsqu'il attend une entrée de l'utilisateur, appelée invite du shell.
Lorsqu'un utilisateur standard démarre un shell, l'invite inclut un caractère de fin dollar ($) :
[user@host ~]$
Le caractère dièse (#) est remplacé par le symbole dollar $ si le shell est exécuté par le super
utilisateur, root. Ce caractère indique qu'il s'agit du shell d'un super utilisateur, ce qui permet
d'éviter les accidents et les erreurs susceptibles d'entraîner un effet sur tout le système.
[root@host ~]#
bash peut s'avérer puissant pour l'exécution de commandes. Le shell bash fournit un langage de
script qui permet l'automatisation des tâches d'assistance. Le shell offre des fonctionnalités qui
peuvent simplifier ou rendre possibles des opérations difficiles à accomplir à l'échelle avec des
outils graphiques.
Note
Le shell bash est conceptuellement similaire à l'interpréteur de ligne de commande
cmd.exe de Microsoft Windows. Cependant, bash a un langage de script
sophistiqué et est plus similaire à Windows PowerShell.
Sur macOS, bash était le shell par défaut jusqu'à récemment. Dans macOS 10.15
Catalina, Apple a remplacé le shell par défaut par zsh, un autre shell également
disponible dans RHEL.
• la commande à exécuter ;
16 RH124-RHEL9.0-fr-2-20220609
chapitre 2 | Accès à la ligne de commande
La commande est le nom du programme à exécuter. Elle peut être suivie d'une ou plusieurs
options qui affinent le comportement de la commande ou ce qu'elle va faire. Les options
commencent normalement par un ou deux tirets (-a ou --all, par exemple) pour les distinguer
des arguments. Les commandes peuvent également être suivies d'un ou plusieurs arguments qui
indiquent souvent une cible sur laquelle la commande doit s'exécuter.
Par exemple, dans la chaîne usermod -L user01, usermod est la commande, -L est l'option
et user01 est l'argument. Cette commande verrouille le mot de passe du compte de l'utilisateur
user01.
Il est possible de connecter directement à l'ordinateur un clavier matériel et un écran pour les
entrées et les sorties. Il s'agit de la console physique de la machine Linux. La console physique
prend en charge plusieurs consoles virtuelles qui peuvent exécuter des terminaux distincts.
Chaque console virtuelle prend en charge une session connectée indépendante. Vous pouvez
passer de l'une à l'autre en appuyant simultanément sur Ctrl+Alt et une touche de fonction
(de F1 à F6). La plupart de ces consoles virtuelles exécutent un terminal qui fournit une invite de
connexion texte. Si vous saisissez correctement votre nom d'utilisateur et votre mot de passe, vous
vous connectez et une invite du shell s'affiche.
L'ordinateur pourrait fournir une invite de connexion graphique sur l'une des consoles virtuelles.
Vous pouvez l'utiliser pour vous connecter à un environnement graphique. L'environnement
graphique s'exécute également sur une console virtuelle. Pour obtenir une invite du shell, vous
devez démarrer un programme de terminal dans l'environnement graphique. L'invite du shell est
fournie dans une fenêtre d'application du programme graphique de terminal.
Note
De nombreux administrateurs système choisissent de ne pas exécuter
d'environnement graphique sur leurs serveurs, car les utilisateurs ne se connectent
pas aux serveurs en tant qu'espace de travail de bureau. La charge de travail d'un
serveur peut utiliser plus efficacement les importantes ressources qu'utilise un
environnement graphique.
Dans Red Hat Enterprise Linux 9, si l'environnement graphique est disponible, l'écran de connexion
s'exécute sur la première console virtuelle, nommée tty1. Cinq invites de connexion texte
supplémentaires sont disponibles sur les consoles virtuelles tty2deux à sixtty6.
L'environnement graphique démarre sur la première console virtuelle qu'une session de connexion
n'est pas en train d'utiliser. Normalement, votre session graphique remplace l'invite de connexion
sur la deuxième console virtuelle (tty2). Cependant, si une session de connexion texte active
(pas seulement une invite de connexion) utilise cette console, la console virtuelle libre suivante est
utilisée à la place.
L'écran de connexion graphique continue de s'exécuter sur la première console virtuelle. (tty1).
Si vous êtes déjà connecté à une session graphique et que vous vous connectez sous l'identité
d'un autre utilisateur sur l'écran de connexion graphique ou que vous utilisez l'élément de menu
RH124-RHEL9.0-fr-2-20220609 17
chapitre 2 | Accès à la ligne de commande
Switch User (qui permet de changer d'utilisateur dans l'environnement graphique sans se
déconnecter), un autre environnement graphique est démarré pour cet utilisateur sur la console
virtuelle libre suivante.
Lorsque vous vous déconnectez d'un environnement graphique, celui-ci ferme la console virtuelle
et la console physique revient automatiquement à l'écran de connexion graphique de la première
console virtuelle.
Note
Dans Red Hat Enterprise Linux 6 et 7, l'écran de connexion graphique s'exécute
sur la première console virtuelle, mais lorsque vous vous connectez, votre
environnement graphique initial remplace l'écran de connexion sur la première
console virtuelle au lieu de démarrer sur une nouvelle console virtuelle. Dans
Red Hat Enterprise Linux 8, le comportement est le même que dans Red Hat
Enterprise Linux 9.
Un serveur administré à distance est dépourvu de clavier et d'écran. Un datacenter peut contenir
de nombreux racks de serveurs administrés à distance, et le fait ne pas les équiper d'un clavier et
d'un écran permet d'économiser de l'espace et de l'argent. Pour permettre aux administrateurs de
se connecter, une invite de connexion à un serveur administré à distance peut être fournie par sa
console de série, qui s'exécute sur un port série connecté à un serveur de console en réseau pour
l'accès à distance de la console de série.
La console de série est normalement utilisée pour accéder au serveur si la carte réseau du serveur
est mal configurée et que la connexion au serveur via la connexion réseau conventionnelle n'est
pas possible. La plupart du temps, cependant, les serveurs administrés à distance sont accessibles
par d'autres moyens sur le réseau, par exemple à l'aide de Virtual Network Computing (VNC) pour
exécuter l'interface graphique sur la machine cible.
Sous Linux, le moyen le plus courant d'obtenir une invite du shell sur un système distant consiste à
utiliser SSH (Secure Shell). La plupart des systèmes Linux (y compris Red Hat Enterprise Linux) et
MacOS fournissent le programme OpenSSH de ligne de commande ssh dans ce but.
Dans cet exemple, un utilisateur avec une invite du shell sur la machine host utilise ssh pour se
connecter au système Linux distant remotehost en tant qu'utilisateur remoteuser :
18 RH124-RHEL9.0-fr-2-20220609
chapitre 2 | Accès à la ligne de commande
Pour plus de sécurité, certains systèmes (tels que les nouvelles instances de cloud) n'autorisent
pas les utilisateurs à se servir d'un mot de passe pour se connecter avec ssh. Une autre façon
de s'authentifier sur un ordinateur distant sans entrer de mot de passe consiste à utiliser
l'authentification par clé publique.
Avec cette méthode d'authentification, les utilisateurs ont un fichier d'identité spécial contenant
une clé privée qui équivaut à un mot de passe, et qu'ils gardent secret. Leur compte sur le serveur
est configuré avec une clé publique correspondante qui ne doit pas forcément être secrète. Lors
de la connexion, les utilisateurs peuvent configurer ssh pour fournir la clé privée. Si la clé publique
correspondante est installée dans ce compte sur ce serveur distant, les utilisateurs sont connectés
sans demander de mot de passe.
Dans l'exemple suivant, un utilisateur avec une invite du shell sur la machine host se connecte à
remotehost en tant que remoteuser à l'aide de ssh, en utilisant la méthode d'authentification
par clé publique. L'option -i de la commande ssh est utilisée pour spécifier le fichier de clé privée
de l'utilisateur qui est mylab.pem. La clé publique correspondante est déjà configurée en tant
que clé autorisée dans le compte remoteuser.
Pour que la connexion fonctionne, seul l'utilisateur qui détient le fichier peut avoir accès en
lecture au fichier de clé privée. Dans l'exemple précédent, où la clé privée figure dans le fichier
mylab.pem, vous pouvez utiliser la commande chmod 600 mylab.pem pour vous assurer que
seul le propriétaire peut lire le fichier. La définition des permissions de fichiers est décrite plus en
détail dans un chapitre ultérieur.
Les utilisateurs peuvent également disposer de clés privées configurées qui sont essayées
automatiquement, mais ce sujet sort du cadre de cette section. Les références répertoriées à la fin
de cette section contiennent des liens vers de plus amples informations sur ce sujet.
Note
La première fois que vous vous connectez à une nouvelle machine, un message
provenant de ssh vous avertit que l'authentification de l'hôte ne peut pas être
établie :
Chaque fois que vous vous connectez à un hôte distant avec ssh, l'hôte distant envoie sa clé
d'hôte pour s'authentifier et mettre en place une communication chiffrée. La commande ssh
compare cette clé à une liste de clés d'hôte enregistrées pour s'assurer qu'elle n'a pas changée.
Si la clé d'hôte a changé, cela peut indiquer que quelqu'un essaie de prétendre être cet hôte pour
pirater la connexion. Cette situation est connue sous le nom d'attaque d'intercepteur. Dans SSH,
les clés d'hôte protègent contre les attaques d'intercepteurs. Ces clés d'hôte sont uniques pour
chaque serveur. Elles doivent être changées régulièrement, et chaque fois qu'un problème est
suspecté.
RH124-RHEL9.0-fr-2-20220609 19
chapitre 2 | Accès à la ligne de commande
Vous recevez un message d'avertissement si votre ordinateur local ne dispose pas de clé d'hôte
enregistrée pour l'hôte distant. Si vous entrez yes, la clé d'hôte envoyée par l'hôte distant est
acceptée et enregistrée pour référence ultérieure. Le processus de connexion se poursuit et vous
ne devriez plus voir ce message lorsque vous vous connectez à cet hôte. Si vous entrez no, la clé
d'hôte est rejetée et la connexion arrêtée.
Si l'ordinateur local ne dispose pas d'une clé d'hôte enregistrée et qu'elle ne correspond pas à celle
envoyée par l'hôte distant, la connexion est automatiquement arrêtée avec un avertissement.
Références
Pages du manuel intro(1), bash(1), pts(4), ssh(1) et ssh-keygen(1)
Des instructions sur la façon de lire les pages man et d'autres documents d'aide en
ligne sont inclus à la fin de la section suivante.
20 RH124-RHEL9.0-fr-2-20220609
chapitre 2 | Accès à la ligne de commande
Quiz
1. Quel terme décrit le programme qui interprète et exécute les commandes saisies sous
forme de chaînes de caractères ?
a. Commande
b. Console
c. Shell
d. Terminal
2. Quel terme décrit le signe visuel qui indique qu'un shell interactif attend que
l'utilisateur saisisse une commande ?
a. Argument
b. Commande
c. Option
d. Invite
5. Quel terme décrit la partie de la ligne de commande qui spécifie la cible sur laquelle la
commande doit s'exécuter ?
a. Argument
b. Commande
c. Option
d. Invite
RH124-RHEL9.0-fr-2-20220609 21
chapitre 2 | Accès à la ligne de commande
6. Quel terme décrit l'écran et le clavier matériels utilisés pour interagir avec un
système ?
a. Console physique
b. Console virtuelle
c. Shell
d. Terminal
7. Quel terme décrit l'une des multiples consoles logiques qui peuvent prendre en
charge une session de connexion indépendante ?
a. Console physique
b. Console virtuelle
c. Shell
d. Terminal
8. Quel terme décrit l'interface qui fournit un affichage pour la sortie et un clavier pour
l'entrée d'une session shell ?
a. Console
b. Console virtuelle
c. Shell
d. Terminal
22 RH124-RHEL9.0-fr-2-20220609
chapitre 2 | Accès à la ligne de commande
Solution
1. Quel terme décrit le programme qui interprète et exécute les commandes saisies sous
forme de chaînes de caractères ?
a. Commande
b. Console
c. Shell
d. Terminal
2. Quel terme décrit le signe visuel qui indique qu'un shell interactif attend que
l'utilisateur saisisse une commande ?
a. Argument
b. Commande
c. Option
d. Invite
5. Quel terme décrit la partie de la ligne de commande qui spécifie la cible sur laquelle la
commande doit s'exécuter ?
a. Argument
b. Commande
c. Option
d. Invite
RH124-RHEL9.0-fr-2-20220609 23
chapitre 2 | Accès à la ligne de commande
6. Quel terme décrit l'écran et le clavier matériels utilisés pour interagir avec un
système ?
a. Console physique
b. Console virtuelle
c. Shell
d. Terminal
7. Quel terme décrit l'une des multiples consoles logiques qui peuvent prendre en
charge une session de connexion indépendante ?
a. Console physique
b. Console virtuelle
c. Shell
d. Terminal
8. Quel terme décrit l'interface qui fournit un affichage pour la sortie et un clavier pour
l'entrée d'une session shell ?
a. Console
b. Console virtuelle
c. Shell
d. Terminal
24 RH124-RHEL9.0-fr-2-20220609
chapitre 2 | Accès à la ligne de commande
Résultats
Se connecter au système Linux avec l'environnement de bureau GNOME pour exécuter des
commandes depuis l'invite du shell dans un programme de terminal.
RH124-RHEL9.0-fr-2-20220609 25
chapitre 2 | Accès à la ligne de commande
La première fois que vous vous connectez en tant que nouvel utilisateur, vous pouvez suivre un
programme initial facultatif de « visite guidée » pour en savoir plus sur les nouvelles fonctions
de RHEL 9. Une fois la visite guidée terminée ou après l'avoir ignorée, l'écran GNOME principal
s'affiche.
Pour consulter la documentation dans l'GNOME Help, cliquez sur le bouton Activities dans la
partie gauche de la barre supérieure. Dans le tableau de bord au bas de l'écran, cliquez sur l'icône
en forme de bouée de sauvetage pour la lancer.
Barre supérieure : barre qui longe tout le haut de l'écran. Elle s'affiche dans Vue d'ensemble
du mode Activities et dans les espaces de travail. La barre supérieure contient le bouton
Activities et les contrôles de volume, du réseau, d'accès au calendrier et de sélection entre
les modes de saisie du clavier (si plusieurs modes sont configurés).
Vue d'ensemble du mode Activities : ce mode permet d'organiser les fenêtres et de lancer
des applications. Accédez à la Vue d'ensemble du mode Activities en cliquant sur le bouton
Activities dans le coin supérieur gauche de la barre supérieure ou en appuyant sur la touche
Super. Recherchez la touche Super (parfois appelée touche Windows ou Command) près du
coin inférieur gauche de la plupart des claviers courants. Les trois zones principales sont dash
au bas de l'écran, windows overview au centre et workspace selector sur le côté droit.
Menu système : le menu est situé dans l'angle supérieur droit de la barre supérieure permet
de régler la luminosité de l'écran et d'activer ou de désactiver les connexions réseau. Sous le
sous-menu du nom d'utilisateur se trouvent les options permettant d'ajuster les paramètres
de compte et de se déconnecter du système. Le menu système propose également des
boutons pour ouvrir la fenêtre Settings, verrouiller l'écran ou arrêter le système.
Lanceur d'applications : cette liste configurable d'icônes affiche vos applications préférées,
les applications en cours d'exécution et un bouton Show Applications pour sélectionner
des applications quelconques. Lancez les applications en cliquant sur l'une des icônes, ou
26 RH124-RHEL9.0-fr-2-20220609
chapitre 2 | Accès à la ligne de commande
au moyen du bouton Show Applications pour trouver une application moins utilisée. Ce
« lanceur d'applications » est également parfois appelé le dock.
Vue d'ensemble des fenêtres : zone au centre de la vue d'ensemble du mode Activities qui
affiche les vignettes des fenêtres actives dans l'espace de travail actuel, pour amener les
fenêtres au premier plan dans un espace de travail encombré ou les déplacer vers un autre
espace de travail.
Sélecteur d'espace de travail : zone à droite qui affiche les vignettes des espaces de travail
actifs et permet de sélectionner des espaces de travail ainsi que de déplacer des fenêtres
d'un espace de travail à un autre.
Barre des notifications : cette barre vous permet de consulter les notifications des
applications ou des composants du système. Si une notification est envoyée, elle s'affiche
en général brièvement sous la forme d'une simple ligne en haut de l'écran, et un indicateur
persistant apparaît dans la barre supérieure, à côté de l'horloge, pour vous informer des
notifications reçues récemment. Ouvrez la barre des notifications pour examiner ces
notifications en cliquant sur l'horloge dans la barre supérieure ou en appuyant sur Super+M.
Fermez la barre des notifications en cliquant sur l'horloge dans la barre supérieure ou en
appuyant sur Esc ou sur Super+M à nouveau. La barre des notifications affiche également le
calendrier et des informations sur les événements de ce dernier.
Figure 2.2: Gros plan sur une barre des notifications ouverte
Affichez et modifiez les raccourcis clavier GNOME que votre compte utilise. Ouvrez le menu
système sur le côté droit de la barre supérieure. Cliquez sur le bouton Settings en bas du menu
à gauche. Dans la fenêtre de l'application qui s'ouvre, sélectionnez Keyboard à partir du volet de
gauche. Le volet de droite affiche vos paramètres de raccourci actuels sous la section Keyboard
Shorcuts > Customize Shorcuts.
Note
Il peut s'avérer difficile d'envoyer certains raccourcis clavier, tels que les touches
de fonction ou la touche Super, à une machine virtuelle. Les frappes de touche
spéciales utilisées par ces raccourcis peuvent être capturées par votre système
d'exploitation local ou par l'application que vous utilisez pour accéder au bureau
graphique de votre machine virtuelle.
RH124-RHEL9.0-fr-2-20220609 27
chapitre 2 | Accès à la ligne de commande
Important
Dans les environnements actuels de formation adaptée au rythme de chacun et de
formation virtuelle fournis par Red Hat, l'utilisation de la touche Super peut s'avérer
difficile, car votre navigateur Web peut ne pas la transmettre à la machine virtuelle
dans l'environnement de formation.
Pour enfoncer et relâcher la touche Super sur le clavier à l'écran, cliquez deux
fois dessus. Le premier clic permet de maintenir la touche Super enfoncée, et le
deuxième clic de la relâcher.
Les autres touches que le clavier à l'écran traite comme des touches de
modification (comme Super) sont Shift, Ctrl, Alt et Caps . Les touches Esc
et Menu sont traitées comme des touches normales et non comme des touches de
modification.
Choisissez entre deux méthodes pour basculer entre les espaces de travail. La première méthode
consiste à appuyer sur Ctrl+Alt+LeftArrow ou Ctrl+Alt+RightArrow pour changer
d'espace de travail de manière séquentielle. La deuxième méthode consiste à basculer vers la vue
d'ensemble Activities et à cliquer sur l'espace de travail choisi.
L'utilisation de la vue d'ensemble Activities présente un avantage : vous pouvez cliquer sur les
fenêtres et les faire glisser entre les espaces de travail en utilisant le workspace selector sur le
côté droit de l'écran et la windows overview au centre de l'écran.
28 RH124-RHEL9.0-fr-2-20220609
chapitre 2 | Accès à la ligne de commande
Important
Comme la touche Super dans les environnements actuels de formation adaptée
au rythme de chacun et de formation virtuelle fournis par Red Hat, votre navigateur
Web ne transmet généralement pas les combinaisons de touches Ctrl+Alt à la
machine virtuelle dans l'environnement de formation.
Vous pouvez saisir ces combinaisons de touches pour changer d'espace de travail
à l'aide du clavier à l'écran. Au moins deux espaces de travail doivent être utilisés.
Ouvrez le clavier à l'écran et cliquez sur Ctrl, Alt, puis sur la LeftArrow ou sur la
RightArrow.
• Dans la vue d'ensemble Activities, sélectionnez Terminal dans le dash, dans Favoris ou avec le
bouton Show Applications.
• Recherchez terminal dans le champ de recherche en haut de windows overview.
• Appuyez sur la combinaison de touches Alt+F2 pour ouvrir la zone Enter a Command et entrez
gnome-terminal.
Lorsque vous ouvrez une fenêtre de terminal, une invite de shell s'affiche pour l'utilisateur qui a
lancé le programme de terminal graphique. L'invite de shell et la barre de titre de la fenêtre de
terminal indiquent le nom de l'utilisateur, le nom de l'hôte et le répertoire de travail actuels.
Pour verrouiller l'écran, à partir du menu système situé dans l'angle supérieur droit, cliquez sur le
bouton de verrouillage en bas du menu ou appuyez sur Super+L (ce qui pourrait peut-être plus
facile à retenir que Windows+L). L'écran se verrouille également si une session graphique reste
inactive pendant quelques minutes.
Un lock screen curtain apparaît et affiche l'heure du système et le nom de l'utilisateur connecté.
Pour déverrouiller l'écran, vous pouvez appuyer sur Enter, Space ou cliquer sur le bouton gauche
de la souris. Saisissez ensuite le mot de passe de l'utilisateur dans l'lock screen.
Pour vous déconnecter et fermer la session graphique actuelle, sélectionnez le menu système
dans l'angle supérieur droit de la barre supérieure et sélectionnez Power Off/Log out > Log Out.
Une fenêtre s'affiche, offrant la possibilité d'annuler Cancel ou de confirmer l'action Log Out.
RH124-RHEL9.0-fr-2-20220609 29
chapitre 2 | Accès à la ligne de commande
possibilité d'annuler Cancel ou de confirmer l'action Power Off. Si vous n'effectuez aucun choix, le
système s'arrête automatiquement au bout de 60 secondes.
Pour redémarrer le système, dans le menu système situé dans l'angle supérieur droit, sélectionnez
Power Off/Log out > Restart. Une fenêtre s'affiche, offrant la possibilité d'annuler Cancel
ou de confirmer l'action Restart. Si vous n'effectuez aucun choix, le système redémarre
automatiquement au bout de 60 secondes.
Références
Aide de GNOME
• yelp
• yelp help:gnome-help/shell-introduction
30 RH124-RHEL9.0-fr-2-20220609
chapitre 2 | Accès à la ligne de commande
Exercice guidé
Résultats
• Se connecter à un système Linux à l'aide de l'environnement de bureau GNOME 40
• Exécuter des commandes à partir d'une invite du shell dans un programme de terminal.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Connectez-vous à workstation en tant qu'utilisateur student avec le mot de passe
student.
1.1. Sur workstation, dans l'écran de connexion GNOME, cliquez sur le compte
d'utilisateur student. Saisissez student lorsque le mot de passe vous est demandé.
Important
Le script finish réinitialise le mot de passe de l'utilisateur student en student.
Vous devez exécuter le script à la fin de l'exercice.
2.1. Ouvrez une fenêtre Terminal et utilisez la commande passwd à l'invite du shell.
Dans l'environnement d'apprentissage virtuel avec clavier visuel, appuyez deux fois
sur la touche Super pour ouvrir la vue d'ensemble Activities. Tapez terminal et
appuyez sur Enter pour lancer Terminal.
2.2. Dans la fenêtre Terminal qui s'affiche, tapez passwd à l'invite du shell. Remplacez
le mot de passe student de l'utilisateur student par 55TurnK3y.
RH124-RHEL9.0-fr-2-20220609 31
chapitre 2 | Accès à la ligne de commande
3.3. Cliquez sur Log Out dans la boîte de dialogue de confirmation qui s'affiche.
3.4. Dans l'écran de connexion GNOME, cliquez sur le compte d'utilisateur student.
Saisissez 55TurnK3y lorsque le mot de passe vous est demandé.
4. Verrouillez l'écran.
4.1. Depuis le menu système dans l'angle supérieur droit, appuyez sur le bouton Lock.
5. Déverrouillez l'écran.
6.1. Dans le menu système situé dans l'angle supérieur droit, sélectionnez Power Off/Log
Out > Power Off. Une boîte de dialogue s'affiche avec les options Cancel et Power
Off dédiées à la machine.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
32 RH124-RHEL9.0-fr-2-20220609
chapitre 2 | Accès à la ligne de commande
Résultats
Gagnez du temps lors de l'exécution de commandes à partir d'une invite de shell avec des
raccourcis bash.
Lorsque vous êtes prêt à exécuter une commande, appuyez sur la touche Enter. Tapez chaque
commande sur une ligne séparée. Le résultat de la commande est affiché avant l'invite du shell
suivante.
Pour saisir plusieurs commandes sur une seule ligne, utilisez un point-virgule (;) pour les séparer.
Le point-virgule fait partie de la classe des caractères nommés métacaractères qui ont une
interprétation spéciale pour bash. Dans ce cas, le résultat des deux commandes est affiché avant
l'invite du shell suivante.
L'exemple suivant montre comment combiner deux commandes (command1 et command2) sur la
ligne de commande.
RH124-RHEL9.0-fr-2-20220609 33
chapitre 2 | Accès à la ligne de commande
La commande passwd sans option modifie le mot de passe de l'utilisateur actuel. Pour modifier
le mot de passe, commencez par spécifier le mot de passe d'origine du compte. Par défaut, la
commande passwd est configurée pour exiger un mot de passe fort, composé de minuscules, de
majuscules, de chiffres et de symboles, et qui n'est pas basé sur un mot du dictionnaire. Un super
utilisateur ou un utilisateur privilégié peut se servir de la commande passwd pour changer le mot
de passe d'un autre utilisateur.
Linux ne nécessite pas d'extensions de nom de fichier pour classifier les fichiers par type. La
commande file analyse l'en-tête compilé d'un fichier à la recherche d'un magic number à
2 chiffres et affiche son type. Les fichiers texte sont reconnus car ils ne sont pas compilés.
34 RH124-RHEL9.0-fr-2-20220609
chapitre 2 | Accès à la ligne de commande
Pour afficher le contenu de plusieurs fichiers, ajoutez le nom des fichiers à la commande cat sous
forme d'arguments.
Certains fichiers sont longs et leur affichage peut nécessiter plus d'espace que le terminal
n'en fournit. La commande cat n'affiche pas le contenu d'un fichier sous forme de pages. La
commande less affiche une page d'un fichier à la fois ; vous pouvez la faire défiler à votre guise.
Utilisez la commande less pour faire défiler vers le bas ou vers le haut des fichiers plus longs que
le contenu affichable dans une fenêtre de terminal. Utilisez les touches UpArrow et DownArrow
pour faire défiler vers le haut ou vers le bas. Appuyez sur q pour quitter la commande.
Les commandes head et tail affichent le début et la fin d'un fichier, respectivement. Par défaut,
ces commandes affichent 10 lignes du fichier, mais elles disposent toutes les deux d'une option -n
pour spécifier un nombre de lignes différent.
La commande wc compte les lignes, mots et caractères d'un fichier. Utilisez les options -l, -w ou
-c pour n'afficher respectivement que le nombre donné de lignes, de mots ou de caractères.
RH124-RHEL9.0-fr-2-20220609 35
chapitre 2 | Accès à la ligne de commande
une seule. Si les caractères saisis ne sont pas uniques, appuyez deux fois sur la touche Tab pour
afficher toutes les commandes qui commencent par les caractères saisis.
La saisie par tabulation permet de compléter les noms de fichiers quand ils sont saisis comme
arguments de commandes. Appuyez sur Tab pour compléter le nom du fichier autant qu'il est
possible. Une seconde pression sur la touche Tab entraîne l'affichage par le shell d'une liste de
tous les fichiers qui correspondent au schéma courant. Tapez des caractères supplémentaires
jusqu'à ce que le nom soit unique, puis utilisez la saisie semi-automatique par tabulation pour
compléter la commande.
Utilisez la commande useradd pour créer des utilisateurs sur le système. La commande useradd
comporte de nombreuses options difficiles à mémoriser. La saisie par tabulation vous permet de
compléter le nom de l'option avec une saisie minimale.
Pour écrire une commande sur plusieurs lignes, utilisez une barre oblique inverse (\), appelée
caractère d'échappement. La barre oblique inverse ignore la signification du caractère suivant.
36 RH124-RHEL9.0-fr-2-20220609
chapitre 2 | Accès à la ligne de commande
Vous avez appris précédemment que pour terminer une entrée de commande, vous devez appuyer
sur la touche Enter, le caractère de saut de ligne. En échappant le saut de ligne, le shell passe à
une nouvelle ligne de commande sans exécuter la commande. De cette manière, le shell accuse
réception de la demande en affichant une invite de continuation sur une nouvelle ligne vide,
appelée invite secondaire, et utilise le caractère supérieur à (>) par défaut. Les commandes
peuvent être saisies sur plusieurs lignes.
L'utilisation du caractère supérieur à (>) dans l'invite secondaire pose un problème : les nouveaux
apprenants peuvent l'insérer par erreur dans le cadre de la commande tapée. Le shell interprète
ensuite la saisie d'un caractère supérieur à comme une redirection de sortie non prévue par
l'utilisateur. La redirection de sortie est décrite dans un chapitre ultérieur. Ce manuel de cours
ne montre pas les invites secondaires dans une sortie écran pour éviter cette confusion. Un
utilisateur voit toujours l'invite secondaire dans la fenêtre shell, mais le contenu du cours n'affiche
intentionnellement que les caractères à saisir, comme illustré dans l'exemple ci-après.
Le point d'exclamation (!) est un métacaractère qui permet de rappeler les commandes
précédentes sans les retaper. La commande !number rappelle la commande qui correspond au
nombre spécifié. La commande !string rappelle la commande la plus récente qui commence par
la chaîne spécifiée.
RH124-RHEL9.0-fr-2-20220609 37
chapitre 2 | Accès à la ligne de commande
ls /etc
abrt hosts pulse
adjtime hosts.allow purple
aliases hosts.deny qemu-ga
...output omitted...
Les touches fléchées permettent de parcourir les commandes précédentes dans l'historique du
shell. La UpArrow modifie la commande précédente dans la liste de l'historique. La DownArrow
modifie la commande suivante dans la liste de l'historique. La LeftArrow et la RightArrow
déplacent le curseur vers la gauche et la droite dans la commande actuelle à partir de la liste de
l'historique afin que vous puissiez modifier la commande avant de l'exécuter.
Utilisez les combinaisons de touches Esc+. ou Alt+. pour insérer le dernier mot de la commande
précédente à l'emplacement actuel du curseur. L'utilisation répétée de la combinaison de touches
remplace ce texte par le dernier mot de commandes antérieures dans l'historique. La combinaison
de touches Alt+. est particulièrement pratique, car vous pouvez maintenir Alt enfoncée et
appuyer sur . à plusieurs reprises pour parcourir rapidement les commandes précédentes du
cycle.
Raccourci Description
Ces commandes d'édition de ligne de commande sont les plus utiles aux nouveaux utilisateurs.
Pour les autres commandes, reportez-vous à la page du manuel bash(1).
Références
Pages du manuel bash(1), date(1), file(1), magic(5), cat(1), more(1), less(1),
head(1), passwd(1), tail(1) et wc(1)
38 RH124-RHEL9.0-fr-2-20220609
chapitre 2 | Accès à la ligne de commande
Quiz
1. Quelle commande Bash affiche les cinq dernières lignes du fichier /var/log/
messages ?
a. head -n 10 /var/log/messages
b. tail 10 /var/log/messages
c. tail -n 5 /var/log/messages
d. tail -l 10 /var/log/messages
e. less /var/log/messages
2. Quels raccourci ou commande bash séparent les commandes sur la même ligne ?
a. En appuyant sur Tab
b. history
c. ;
d. !string
e. En appuyant sur Esc+.
RH124-RHEL9.0-fr-2-20220609 39
chapitre 2 | Accès à la ligne de commande
6. Quel raccourci ou commande bash exécute à nouveau une commande spécifique dans
la liste de l'historique ?
a. En appuyant sur Tab
b. !number
c. !string
d. history
e. En appuyant sur Esc+.
40 RH124-RHEL9.0-fr-2-20220609
chapitre 2 | Accès à la ligne de commande
Solution
1. Quelle commande Bash affiche les cinq dernières lignes du fichier /var/log/
messages ?
a. head -n 10 /var/log/messages
b. tail 10 /var/log/messages
c. tail -n 5 /var/log/messages
d. tail -l 10 /var/log/messages
e. less /var/log/messages
2. Quels raccourci ou commande bash séparent les commandes sur la même ligne ?
a. En appuyant sur Tab
b. history
c. ;
d. !string
e. En appuyant sur Esc+.
RH124-RHEL9.0-fr-2-20220609 41
chapitre 2 | Accès à la ligne de commande
6. Quel raccourci ou commande bash exécute à nouveau une commande spécifique dans
la liste de l'historique ?
a. En appuyant sur Tab
b. !number
c. !string
d. history
e. En appuyant sur Esc+.
42 RH124-RHEL9.0-fr-2-20220609
chapitre 2 | Accès à la ligne de commande
Open Lab
Résultats
• Exécutez des programmes simples à partir de la ligne de commande du shell bash.
• Exécutez les commandes pour identifier les types de fichiers et afficher des portions de
fichiers texte.
• Entraînez-vous à utiliser certains raccourcis de l'historique des commandes bash pour
répéter plus efficacement des commandes ou des parties de commandes.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Utilisez la commande date pour afficher la date et l'heure actuelles.
2. Affichez l'heure actuelle sur une horloge de 24 heures (par exemple, 13:57). Conseil : la
chaîne de format qui affiche cette sortie est %R.
3. Quel est le type du fichier /home/student/zcat ? Est-il lisible par des humains ?
4. Utilisez la commande wc et les raccourcis bash pour afficher la taille de zcat.
5. Affichez les 10 premières lignes du fichier zcat.
6. Affichez les 10 dernières lignes du fichier zcat.
7. Répétez la commande précédente avec exactement quatre frappes de touches ou moins.
8. Utilisez la commande tail avec l'option -n 20 pour afficher les 20 dernières lignes du
fichier. Utilisez la modification de ligne de commande pour accomplir cela avec un nombre
minimal de frappes de touches.
9. Utilisez l'historique du shell pour exécuter à nouveau la commande date +%R.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
RH124-RHEL9.0-fr-2-20220609 43
chapitre 2 | Accès à la ligne de commande
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
44 RH124-RHEL9.0-fr-2-20220609
chapitre 2 | Accès à la ligne de commande
Solution
Résultats
• Exécutez des programmes simples à partir de la ligne de commande du shell bash.
• Exécutez les commandes pour identifier les types de fichiers et afficher des portions de
fichiers texte.
• Entraînez-vous à utiliser certains raccourcis de l'historique des commandes bash pour
répéter plus efficacement des commandes ou des parties de commandes.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Utilisez la commande date pour afficher la date et l'heure actuelles.
2. Affichez l'heure actuelle sur une horloge de 24 heures (par exemple, 13:57). Conseil : la
chaîne de format qui affiche cette sortie est %R.
2.1. Utilisez l'argument +%R avec la commande date pour afficher l'heure actuelle sur une
horloge de 24 heures.
3. Quel est le type du fichier /home/student/zcat ? Est-il lisible par des humains ?
RH124-RHEL9.0-fr-2-20220609 45
chapitre 2 | Accès à la ligne de commande
4.1. Vous pouvez utiliser la commande wc pour afficher le nombre de lignes, de mots et
d'octets dans le script zcat. Au lieu de retaper le nom du fichier, utilisez le raccourci de
l'historique bash Esc+. (la combinaison de touches Esc et .) pour réutiliser l'argument
de la commande précédente.
5.1. La commande head affiche le début du fichier. Essayez à nouveau le raccourci Esc+..
6.1. Utilisez la commande tail pour afficher les 10 dernières lignes du fichier zcat.
case $1 in
--help) printf '%s\n' "$usage" || exit 1;;
--version) printf '%s\n' "$version" || exit 1;;
esac
[student@workstation]$ !!
tail zcat
With no FILE, or when FILE is -, read standard input.
46 RH124-RHEL9.0-fr-2-20220609
chapitre 2 | Accès à la ligne de commande
case $1 in
--help) printf '%s\n' "$usage" || exit 1;;
--version) printf '%s\n' "$version" || exit 1;;
esac
8. Utilisez la commande tail avec l'option -n 20 pour afficher les 20 dernières lignes du
fichier. Utilisez la modification de ligne de commande pour accomplir cela avec un nombre
minimal de frappes de touches.
case $1 in
--help) printf '%s\n' "$usage" || exit 1; exit;;
--version) printf '%s\n' "$version" || exit 1; exit;;
esac
9.1. Utilisez la commande history pour afficher la liste des commandes précédentes
et pour identifier la commande date spécifique à exécuter. Utilisez !number pour
exécuter la commande, où number est le numéro de commande à utiliser de la sortie de
la commande history.
L'historique de votre shell peut être différent de l'exemple suivant. Déterminez le
numéro de commande à utiliser en fonction de la sortie de votre propre commande
history.
RH124-RHEL9.0-fr-2-20220609 47
chapitre 2 | Accès à la ligne de commande
4 wc zcat
5 head zcat
6 tail zcat
7 tail -n 20 zcat
8 history
[student@workstation ~]$ !2
date +%R
14:02
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
48 RH124-RHEL9.0-fr-2-20220609
chapitre 2 | Accès à la ligne de commande
Résumé
• Le shell bash est un interpréteur de commandes qui invite les utilisateurs interactifs à spécifier
des commandes Linux.
• De nombreuses commandes ont une option --help qui affiche un message d'utilisation ou un
écran.
• Vous pouvez utiliser des espaces de travail pour organiser plusieurs fenêtres d'application.
• Le bouton Activities situé dans l'angle supérieur gauche de la barre supérieure fournit une vue
d'ensemble qui permet d'organiser les fenêtres et de démarrer les applications.
• Les commandes head et tail affichent le début et la fin d'un fichier, respectivement.
• Vous pouvez utiliser la saisie par tabulation pour compléter les noms de fichiers quand vous les
saisissez comme arguments de commandes.
• Vous pouvez utiliser l'interface graphique pour réaliser de nombreuses tâches administratives.
Vous pouvez désactiver l'interface afin de préserver les ressources pour exécuter des
applications.
• Vous pouvez écrire de nombreuses commandes sur la même ligne en utilisant le caractère ;
(point-virgule) et exécuter une seule commande sur plusieurs lignes en utilisant la barre oblique
inverse \.
RH124-RHEL9.0-fr-2-20220609 49
50 RH124-RHEL9.0-fr-2-20220609
chapitre 3
RH124-RHEL9.0-fr-2-20220609 51
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Résultats
Décrire comment Linux organise les fichiers, et l'objet des divers répertoires dans la hiérarchie du
système de fichiers.
Figure 3.1: Répertoires significatifs d'un système de fichiers dans Red Hat Enterprise Linux 9
Les sous-répertoires de / sont utilisés à des fins de standardisation, pour organiser les fichiers par
type et par utilisation afin de les trouver plus facilement. Par exemple, dans le répertoire racine
(root), le sous-répertoire /boot est utilisé pour le stockage des fichiers pour démarrer le système.
52 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Note
Les termes suivants aident à décrire le contenu du répertoire du système de
fichiers :
Le tableau ci-dessous répertorie certains des répertoires significatifs du système par nom et par
fonction.
EmplacementObjet
/home Répertoire personnel où les utilisateurs standard stockent leurs données et leurs
fichiers de configuration.
/tmp Espace ouvert à tous pour les fichiers temporaires. Les fichiers qui n'ont pas
été ouverts, changés ou modifiés depuis 10 jours sont automatiquement
supprimés de ce répertoire. Le répertoire /var/tmp est également un
répertoire temporaire, dans lequel les fichiers qui n'ont pas été ouverts, changés
ou modifiés depuis plus de 30 jours sont automatiquement supprimés.
RH124-RHEL9.0-fr-2-20220609 53
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
EmplacementObjet
Important
Dans Red Hat Enterprise Linux 7, quatre anciens répertoires de / ont un contenu
identique à celui de leurs homologues de /usr :
• /bin et /usr/bin
• /sbin et /usr/sbin
• /lib et /usr/lib
• /lib64 et /usr/lib64
Les anciennes versions de Red Hat Enterprise Linux incluaient des répertoires
distincts avec des ensembles de fichiers différents. Dans Red Hat Enterprise Linux 7
et versions ultérieures, les répertoires dans / sont des liens symboliques vers les
répertoires correspondants dans /usr.
Références
Page de manuel (7)hier
54 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Quiz
RH124-RHEL9.0-fr-2-20220609 55
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
9. Quel répertoire contient les programmes et les bibliothèques des logiciels installés ?
a. /etc
b. /lib
c. /usr
d. /var
56 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Solution
RH124-RHEL9.0-fr-2-20220609 57
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
9. Quel répertoire contient les programmes et les bibliothèques des logiciels installés ?
a. /etc
b. /lib
c. /usr
d. /var
58 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Résultats
Spécifier l'emplacement absolu et l'emplacement relatif des fichiers par rapport au répertoire de
travail actuel, déterminer et modifier le répertoire de travail et lister le contenu des répertoires.
Important
Un caractère d'espacement est acceptable dans un nom de fichier Linux. Le shell
utilise également des espaces pour distinguer les options et les arguments sur la
ligne de commande. Si une commande inclut un fichier dont le nom contient un
espace, le shell peut mal interpréter la commande et supposer que le nom de fichier
est à arguments multiples. Pour éviter cette erreur, placez ces noms de fichiers
entre guillemets afin que le shell interprète le nom comme un argument unique.
Red Hat recommande d'éviter d'utiliser des espaces dans les noms de fichiers.
Chemins absolus
Un chemin absolu est un nom complet qui spécifie l'emplacement exact du fichier dans la
hiérarchie du système de fichiers. Il commence au répertoire root (/) et inclut chaque sous-
répertoire à parcourir pour atteindre le fichier spécifique. Chaque fichier d'un système de fichiers
possède un nom de chemin absolu unique, reconnaissable à une règle simple : un nom de chemin
qui commence par une barre oblique (/) est un nom de chemin absolu.
Par exemple, le nom de chemin absolu pour le fichier du journal des messages du système est /
var/log/messages. Comme les noms de chemins absolus peuvent être longs à taper, on peut
aussi localiser les fichiers par rapport au répertoire de travail actuel de votre invite du shell.
Tout comme un chemin absolu, un chemin relatif identifie un emplacement unique, et ne spécifie
que le chemin nécessaire pour atteindre l'emplacement depuis le répertoire de travail. Les noms
de chemins relatifs suivent une règle simple : un nom de chemin qui commence par un caractère
quelconque, autre que la barre oblique, est un nom de chemin relatif. Par exemple, par rapport au
répertoire /var, le fichier journal des messages est log/messages.
RH124-RHEL9.0-fr-2-20220609 59
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Les systèmes de fichiers Linux, notamment ext4, XFS, GFS2et GlusterFS, sont sensibles à
la casse. La création des fichiers FileCase.txt et filecase.txt dans le même répertoire
génère deux fichiers uniques.
Les systèmes de fichiers non-Linux peuvent fonctionner différemment. Par exemple, VFAT, NTFS
de Microsoft et HFS+ d'Apple présentent un comportement de conservation de la casse. Bien que
ces systèmes de fichiers ne soient pas sensibles à la casse, ils affichent les noms de fichiers avec
la majuscule d'origine du fichier. Si vous créez les fichiers de l'exemple précédent sur un système
de fichiers VFAT, les deux noms devraient pointer vers le même fichier au lieu de deux fichiers
différents.
Utilisez la commande cd pour changer le répertoire de travail actuel de votre shell. Si vous ne
spécifiez aucun argument pour la commande, elle est remplacée par votre répertoire de base.
Dans l'exemple suivant, un mélange de chemins absolus et relatifs est utilisé avec la commande cd
pour modifier le répertoire de travail actuel du shell.
Dans l'exemple précédent, l'invite de shell par défaut affiche également le dernier composant du
chemin absolu vers le répertoire de travail actuel. Par exemple, pour le répertoire /home/user/
Videos, seul le répertoire Videos est affiché. L'invite affiche le caractère tilde (~) lorsque votre
répertoire de travail actuel est votre répertoire personnel.
La commande touch met à jour l'horodatage d'un fichier à la date et à l'heure actuelles, sans
rien y modifier. Cette commande est utile pour créer des fichiers vides, qui peuvent être utilisés
pour des exercices pratiques,car lorsque vous utilisez la commande touch avec un nom de fichier
qui n'existe pas, le fichier est créé. Dans l'exemple suivant, la commande touch crée des fichiers
d'exercice pratique dans les sous-répertoires Documents et Videos.
60 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
La commande ls comporte plusieurs options pour afficher les attributs des fichiers. Les options
les plus courantes sont -l (format de liste long), -a (tous les fichiers, y compris les fichiers
cachés), et -R (récursif, pour inclure le contenu de tous les sous-répertoires).
[user@host ~]$ ls -l
total 0
drwxr-xr-x. 2 user user 6 Mar 2 02:45 Desktop
drwxr-xr-x. 2 user user 6 Mar 2 02:45 Documents
drwxr-xr-x. 2 user user 6 Mar 2 02:45 Downloads
drwxr-xr-x. 2 user user 6 Mar 2 02:45 Music
drwxr-xr-x. 2 user user 6 Mar 2 02:45 Pictures
drwxr-xr-x. 2 user user 6 Mar 2 02:45 Public
drwxr-xr-x. 2 user user 6 Mar 2 02:45 Templates
drwxr-xr-x. 2 user user 6 Mar 2 02:45 Videos
[user@host ~]$ ls -la
total 40
drwx------. 17 user user 4096 Mar 2 03:07 .
drwxr-xr-x. 4 root root 35 Feb 10 10:48 ..
drwxr-xr-x. 4 user user 27 Mar 2 03:01 .ansible
-rw-------. 1 user user 444 Mar 2 04:32 .bash_history
-rw-r--r--. 1 user user 18 Aug 9 2021 .bash_logout
-rw-r--r--. 1 user user 141 Aug 9 2021 .bash_profile
-rw-r--r--. 1 user user 492 Aug 9 2021 .bashrc
drwxr-xr-x. 9 user user 4096 Mar 2 02:45 .cache
drwxr-xr-x. 9 user user 4096 Mar 2 04:32 .config
drwxr-xr-x. 2 user user 6 Mar 2 02:45 Desktop
drwxr-xr-x. 2 user user 6 Mar 2 02:45 Documents
...output omitted...
En haut de la liste se trouvent deux répertoires spéciaux. Un point (.) fait référence au répertoire
actif et deux points (..) au répertoire parent. Ces répertoires spéciaux existent dans tous les
répertoires du système et sont utiles lors de l'utilisation de commandes de gestion de fichiers.
Important
Les noms de fichiers qui commencent par un point (.) désignent des fichiers
cachés de la vue normale avec ls et d'autres commandes. Ce comportement
n'est pas une fonction de sécurité. Les fichiers cachés évitent que les fichiers de
configuration nécessaires à l'utilisateur n'encombrent les répertoires personnels. De
nombreuses commandes ne traitent les fichiers cachés qu'avec des options de ligne
de commande, évitant ainsi la copie accidentelle de la configuration d'un utilisateur
vers d'autres répertoires ou utilisateurs.
Pour protéger la consultation indue du contenu d'un fichier, il faut recourir aux
permissions de fichier.
RH124-RHEL9.0-fr-2-20220609 61
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Vous pouvez également utiliser le caractère spécial tilde (~) en combinaison avec d'autres
commandes pour faciliter l'interaction avec le répertoire personnel.
La commande cd .. utilise le répertoire caché (..) pour passer au niveau supérieur, répertoire
parent, sans avoir à connaître le nom exact du parent. L'autre répertoire caché (.) spécifie le
répertoire courant pour les commandes dans lesquelles l'emplacement actuel constitue l'argument
source ou de destination, ce qui évite de devoir saisir le nom de chemin absolu du répertoire.
62 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Références
info libc 'file name resolution' (GNU C Library Reference Manual)
https://www.gnu.org/software/libc/manual/html_node/File-Name-Resolution.html
UTF-8 et Unicode
http://www.utf-8.com/
RH124-RHEL9.0-fr-2-20220609 63
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Quiz
5. Quelle commande liste les fichiers dans l'emplacement actuel, avec un format long et
en incluant les fichiers cachés ?
a. llong ~
b. ls -a
c. ls -l
d. ls -al
64 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
RH124-RHEL9.0-fr-2-20220609 65
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Solution
5. Quelle commande liste les fichiers dans l'emplacement actuel, avec un format long et
en incluant les fichiers cachés ?
a. llong ~
b. ls -a
c. ls -l
d. ls -al
66 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
RH124-RHEL9.0-fr-2-20220609 67
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Résultats
Créer, copier, déplacer et supprimer des fichiers et des répertoires.
Tenez compte des options utilisées lors de l'exécution d'une commande. La signification de
certaines options peut différer d'une commande à l'autre.
Création de répertoires
La commande mkdir crée un ou plusieurs répertoires ou sous-répertoires. Elle prend comme
argument une liste de chemins d'accès aux répertoires que vous voulez créer.
Dans l'exemple suivant, les fichiers et les répertoires sont organisés sous le répertoire
/home/user/Documents. Utilisez la commande mkdir et une liste de noms de répertoire
séparés par des espaces pour créer plusieurs répertoires.
Si le répertoire existe, ou si un répertoire parent du répertoire que vous essayez de créer n'existe
pas, la commande mkdir échoue et affiche une erreur.
L'option -p (parent) de la commande mkdir crée les répertoires parents manquants pour la
destination demandée. Dans l'exemple suivant, la commande mkdir crée trois sous-répertoires
ChapterN avec une commande. L'option -p crée le répertoire parent Thesis manquant.
Thesis/Chapter1:
Thesis/Chapter2:
Thesis/Chapter3:
Utilisez la commande mkdir, option-p, avec prudence, car des fautes de frappe accidentelles
peuvent créer des répertoires non souhaités, sans pour autant générer de messages d'erreur.
68 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Dans l'exemple suivant, supposons que vous essayez de créer un sous-répertoire Watched dans
le répertoire Videos, mais que vous avez accidentellement oublié la lettre "s" dans Videos dans
votre commande mkdir.
La commande mkdir échoue parce que le répertoire Video n'existe pas. Si vous aviez utilisé la
commande mkdir avec l'option -p, le répertoire Video aurait été créé par inadvertance. Le sous-
répertoire Watched aurait été créé dans ce répertoire incorrect.
Vous pouvez également utiliser la commande cp pour copier plusieurs fichiers dans un répertoire.
Dans ce scénario, le dernier argument doit être un répertoire. Les fichiers copiés conservent
leur nom d'origine dans le nouveau répertoire. Si un fichier portant le même nom existe dans le
répertoire cible, le fichier existant est remplacé.
Note
Par défaut, la commande cp ne copie pas les répertoires ; elle les ignore.
Dans l'exemple suivant, deux répertoires sont répertoriés comme arguments : Thesis et
ProjectX. Le dernier argument, le répertoire ProjectX, est la cible et est valide en tant que
destination. L'argument Thesis est ignoré par la commande cp, car il est destiné à être copié et
qu'il s'agit d'un répertoire.
Thesis:
Chapter1 Chapter2 Chapter3
Vous pouvez copier des répertoires et leur contenu en utilisant la commande cp avec l'option -r.
Gardez à l'esprit que vous pouvez utiliser les répertoires spéciaux . et .. dans des combinaisons
RH124-RHEL9.0-fr-2-20220609 69
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
de commandes. Dans l'exemple suivant, le répertoire Thesis et son contenu sont copiés dans le
répertoire ProjectY.
./Thesis:
total 0
drwxr-xr-x. 2 user user 6 Mar 7 15:08 Chapter1
drwxr-xr-x. 2 user user 6 Mar 7 15:08 Chapter2
drwxr-xr-x. 2 user user 6 Mar 7 15:08 Chapter3
./Thesis/Chapter1:
total 0
./Thesis/Chapter2:
total 0
./Thesis/Chapter3:
total 0
[user@host Documents]$ ls -l
-rw-r--r--. 1 user user 7100 Mar 7 14:37 thesis_chapter1.txt
-rw-r--r--. 1 user user 11431 Mar 7 14:39 thesis_chapter2.txt
...output omitted...
[user@host Documents]$ mv thesis_chapter2.txt thesis_chapter2_reviewed.txt
[user@host Documents]$ ls -l
-rw-r--r--. 1 user user 7100 Mar 7 14:37 thesis_chapter1.txt
-rw-r--r--. 1 user user 11431 Mar 7 14:39 thesis_chapter2_reviewed.txt
...output omitted...
Utilisez la commande mv pour déplacer un fichier dans un répertoire différent. Dans l'exemple
suivant, le fichier thesis_chapter1.txt est déplacé du répertoire ~/Documents vers le
répertoire ~/Documents/Thesis/Chapter1. Vous pouvez utiliser la commande mv avec
l'option -v pour afficher une sortie détaillée des opérations de la commande.
70 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Important
Red Hat Enterprise Linux ne fournit pas de fonction d'annulation de la suppression
de la ligne de commande, ni de "corbeille" à partir de laquelle vous pouvez restaurer
les fichiers conservés pour suppression. Une corbeille est un composant d'un
environnement de bureau tel que GNOME, qui n'est pas utilisé par les commandes
exécutées à partir d'un shell.
Il est judicieux de vérifier votre répertoire de travail actuel avant de supprimer un fichier ou un
répertoire au moyen des chemins relatifs.
Vous pouvez utiliser la commande rm avec l'option -i pour demander de manière interactive une
confirmation avant suppression. Cette option est essentiellement le contraire de la commande rm
avec l'option -f qui force la suppression sans demander de confirmation à l'utilisateur.
RH124-RHEL9.0-fr-2-20220609 71
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Mise en garde
Si vous spécifiez à la fois les options -i et -f, l'option -f est prioritaire et aucune
confirmation ne vous est demandée avant que rm supprime les fichiers.
Vous pouvez également utiliser la commande rmdir pour supprimer des répertoires vides. Utilisez
la commande rm avec l'option -r pour supprimer les répertoires non vides.
Références
Pages du manuel cp(1), mkdir(1), mv(1), rm(1) et rmdir(1)
72 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Exercice guidé
Résultats
• Créer, organiser, copier et supprimer des fichiers et des répertoires.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Connectez-vous à la machine servera en tant qu'utilisateur student. Dans le répertoire
personnel de l'utilisateur student, créez trois sous-répertoires : Music, Pictures et
Videos.
1.1. Utilisez la commande ssh pour vous connecter à la machine servera en tant
qu'utilisateur student. Les systèmes sont configurés pour utiliser des clés SSH pour
l'authentification. Par conséquent, aucun mot de passe n'est requis.
2. Utilisez la commande touch pour créer des ensembles de fichiers d'exercices pratiques
vides à utiliser pendant cet atelier. Dans chaque ensemble, remplacez X par les chiffres de 1
à 6.
RH124-RHEL9.0-fr-2-20220609 73
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
3. Déplacez les fichiers de musique (extension .mp3) dans le répertoire Music, les fichiers
de captures d'écran (extension .jpg) dans le répertoire Pictures et les fichiers de films
(extension .avi) dans le répertoire Videos.
Pictures:
total 0
74 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Videos:
total 0
-rw-r--r--. 1 student student 0 Mar 7 20:58 film1.avi
-rw-r--r--. 1 student student 0 Mar 7 20:58 film2.avi
-rw-r--r--. 1 student student 0 Mar 7 20:58 film3.avi
-rw-r--r--. 1 student student 0 Mar 7 20:58 film4.avi
-rw-r--r--. 1 student student 0 Mar 7 20:58 film5.avi
-rw-r--r--. 1 student student 0 Mar 7 20:58 film6.avi
4. Créez trois sous-répertoires pour organiser vos fichiers et nommez-les friends, family
et work. Utilisez une seule commande pour créer les trois sous-répertoires en même
temps.
5. Copiez les fichiers qui contiennent les numéros 1 et 2 dans le répertoire friends et les
fichiers qui contiennent les numéros 3 et 4 dans le répertoire family. N'oubliez pas que
vous effectuez des copies. Par conséquent, les fichiers d'origine doivent rester dans leur
emplacement d'origine une fois l'étape terminée.
Lorsque vous copiez des fichiers provenant de plusieurs emplacements dans un
emplacement unique, Red Hat vous recommande de vous placer dans le répertoire avant
d'y copier les fichiers. Utilisez la syntaxe de chemin la plus simple, qu'elle soit absolue ou
relative, pour atteindre la source de chaque tâche de gestion de fichiers.
5.1. Copiez les fichiers contenant les numéros 1 et 2 dans le répertoire friends.
RH124-RHEL9.0-fr-2-20220609 75
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
5.2. Copiez les fichiers contenant les numéros 3 et 4 dans le répertoire family.
6. Copiez les répertoires family et friends et leur contenu dans le répertoire work.
7. Vos tâches de projets sont maintenant terminées et il est temps de nettoyer les répertoires.
Utilisez la commande rmdir -r pour supprimer de manière récursive les répertoires
family, friends et work, et leur contenu.
[student@servera work]$ cd ..
[student@servera ~]$ rm -r family friends work
[student@servera ~]$ ls -l
total 0
drwxr-xr-x. 2 student student 108 Mar 7 21:00 Music
drwxr-xr-x. 2 student student 108 Mar 7 21:00 Pictures
drwxr-xr-x. 2 student student 108 Mar 7 21:00 Videos
76 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 77
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Résultats
Faire en sorte que plusieurs noms de fichiers référencent le même fichier avec des liens matériels
et symboliques.
Vous pouvez créer deux types de liens : un lien matériel ou un lien symbolique. Ils ont chacun leurs
avantages et leurs inconvénients.
Vous pouvez déterminer si un fichier a plusieurs liens matériels avec la commande ls -l.
Elle rapporte notamment le nombre de liens de chaque fichier, le nombre de liens matériels
qu'il contient. Dans l'exemple suivant, le nombre de liens du fichier newfile.txt est de 1. Il a
exactement un chemin absolu : l'emplacement /home/user/newfile.txt.
Vous pouvez utiliser la commande ln pour créer un lien matériel (un autre nom de fichier) qui
pointe vers un fichier existant. La commande nécessite au moins deux arguments : un chemin vers
le fichier existant et le chemin vers le lien matériel que vous souhaitez créer.
Pour déterminer si deux fichiers sont liés par un lien matériel, utilisez la commande ls avec
l'option -i pour lister le numéro d'inode de chaque fichier. Si les fichiers sont sur le même système
de fichiers et que leurs numéros d'inodes sont les mêmes, les fichiers sont des liens matériels
pointant vers le même contenu de fichier de données.
78 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Important
Les liens matériels qui font référence au même fichier partagent la même structure
d'inode avec le nombre de liens, les mêmes droits d'accès, les mêmes propriétés
d'utilisateur et groupe, les mêmes horodatages et le même contenu de fichier.
Lorsque ces informations sont modifiées pour un lien matériel, les autres liens
matériels du même fichier affichent également les nouvelles informations. En
effet, chaque lien matériel pointe vers les mêmes données sur le périphérique de
stockage.
Même si le fichier d'origine est supprimé, vous pouvez toujours accéder au contenu du fichier
tant qu'il existe encore au moins un autre lien matériel. Les données sont supprimées du stockage
uniquement lorsque le dernier lien matériel est supprimé. Le contenu du fichier n'est alors plus
référencé par un lien matériel.
Deuxièmement, vous ne pouvez utiliser les liens matériels que si les deux fichiers sont sur le
même système de fichiers. La hiérarchie du système de fichiers peut être composée de plusieurs
périphériques de stockage. Selon la configuration de votre système, lorsque vous passez à un
nouveau répertoire, ce répertoire et son contenu peuvent être stockés sur un système de fichiers
différent.
Vous pouvez utiliser la commande df pour répertorier les répertoires situés sur différents
systèmes de fichiers. Par exemple, vous pouvez voir le résultat suivant :
[user@host ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 886788 0 886788 0% /dev
tmpfs 902108 0 902108 0% /dev/shm
tmpfs 902108 8696 893412 1% /run
tmpfs 902108 0 902108 0% /sys/fs/cgroup
/dev/mapper/rhel_rhel9--root 10258432 1630460 8627972 16% /
/dev/sda1 1038336 167128 871208 17% /boot
tmpfs 180420 0 180420 0% /run/user/1000
RH124-RHEL9.0-fr-2-20220609 79
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
créer un lien matériel entre les fichiers /var/tmp/link1 et /home/user/file, car ils sont
les deux sous-répertoires du répertoire / mais pas de n'importe quel autre répertoire de la liste.
Cependant, vous ne pouvez pas créer de lien matériel entre les fichiers /boot/test/badlinket
/home/user/file, car le premier fichier est dans un sous-répertoire du répertoire /boot (sur la
liste "Mounted on") et dans le système de fichiers /dev/sda1, tandis que le deuxième fichier est
dans le système de fichiers /dev/mapper/rhel_rhel9—root.
Les liens symboliques présentent certains avantages par rapport aux liens matériels :
• Ils peuvent lier deux fichiers sur des systèmes de fichiers différents.
• Ils peuvent pointer vers un répertoire ou un fichier spécial, pas seulement vers un fichier normal.
Dans l'exemple suivant, la commande ln -s crée un lien symbolique pour le fichier /home/user/
newfile-link2.txt. Le nom du lien symbolique est /tmp/newfile-symlink.txt.
Lorsque le fichier normal d'origine est supprimé, le lien symbolique pointe toujours vers ce fichier,
mais la cible n'existe plus. Un lien symbolique qui pointe vers un fichier manquant est appelé un
"lien symbolique suspendu".
80 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Important
Un des effets secondaires du lien symbolique non résolu dans l'exemple précédent
est que si vous créez un fichier avec le même nom que le fichier supprimé (/home/
user/newfile-link2.txt), le lien symbolique n'est plus suspendu et pointe
vers le nouveau fichier. Les liens matériels ne fonctionnent pas comme ça. Si vous
supprimez un lien matériel puis utilisez des outils normaux (plutôt que ln) pour
créer un fichier avec le même nom, le nouveau fichier ne sera pas lié à l'ancien
fichier. Pour comprendre leur fonctionnement, comparez les liens matériels et les
liens symboliques de la manière suivante :
• Un lien matériel pointe un nom vers des données sur un périphérique de stockage.
• Un lien symbolique pointe un nom vers un autre nom, qui pointe vers des données
sur un périphérique de stockage.
Un lien symbolique peut pointer vers un répertoire. Le lien symbolique se comporte alors comme
le répertoire. Si vous utilisez cd pour passer au lien symbolique, le répertoire de travail actuel
devient le répertoire lié. Certains outils peuvent indiquer que vous avez suivi un lien symbolique
pour y accéder. Par exemple, par défaut cd met à jour votre répertoire de travail actuel en utilisant
le nom du lien symbolique plutôt que le nom du répertoire actuel. Si vous souhaitez mettre à jour
le répertoire de travail actuel en utilisant le nom du répertoire réel, vous pouvez utiliser l'option -P.
L'exemple suivant crée un lien symbolique nommé /home/user/configfiles qui pointe vers le
répertoire /etc.
Références
Page de manuel (1)ln
RH124-RHEL9.0-fr-2-20220609 81
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Exercice guidé
Résultats
• Créer des liens matériels et des liens symboliques entre les fichiers.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Utilisez la commande ssh pour vous connecter à la machine servera en tant qu'utilisateur
student. La configuration du système prend en charge l'utilisation des clés SSH pour
l'authentification. Par conséquent, vous n'avez pas besoin de mot de passe.
82 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 83
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Résultats
Exécuter efficacement les commandes qui affectent de nombreux fichiers en utilisant les
fonctionnalités de filtrage par motif du shell bash.
Motif Correspondance
84 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Motif Correspondance
[[:space:]] Tout caractère d'espace blanc unique, qui peut inclure des tabulations,
des sauts de ligne, des retours chariot, des sauts de page ou des
espaces.
Pour l'exemple suivant, supposez que vous avez exécuté les commandes suivantes pour créer des
exemples de fichiers :
Dans l'exemple suivant, les deux premières commandes utilisent des correspondances de motif
simples avec l'astérisque (*) pour correspondre à tous les noms de fichiers qui commencent par
"a" et tous les noms de fichiers qui contiennent un "a", respectivement. La troisième commande
utilise l'astérisque et les crochets pour identifier tous les noms de fichiers commençant par "a" ou
"c".
[user@host glob]$ ls a*
able alpha
[user@host glob]$ ls *a*
able alpha baker bravo cast charlie delta easy
[user@host glob]$ ls [ac]*
able alpha cast charlie
L'exemple suivant utilise également des points d'interrogation (?) pour correspondre à certains de
ces noms de fichiers. Les deux commandes correspondent uniquement aux noms de fichiers de
quatre et cinq caractères, respectivement.
Dans l'exemple suivant, la commande echo est utilisée pour afficher la valeur du caractère tilde.
Vous pouvez également utiliser la commande echo pour afficher les valeurs des caractères
d'extension par accolades, variable et autres.
RH124-RHEL9.0-fr-2-20220609 85
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Une utilisation pratique de l'extension par accolades est de créer rapidement plusieurs fichiers ou
répertoires.
Vous pouvez affecter des données sous forme de valeur à une variable via la syntaxe suivante :
Vous pouvez utiliser l'extension par variable pour convertir le nom de la variable en sa valeur sur la
ligne de commande. Si une chaîne commence par un signe dollar ($), alors le shell essaie d'utiliser
le reste de cette chaîne en tant que nom de variable et de le remplacer par la valeur de la variable.
86 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Pour éviter les erreurs dues à d'autres extensions du shell, vous pouvez mettre le nom de la
variable entre accolades, par exemple ${VARIABLENAME}.
Les noms de variables ne peuvent contenir que des lettres (majuscules et minuscules), des
chiffres et des traits de soulignement. Les noms de variables sont sensibles à la casse et ne
peuvent pas commencer par un chiffre.
Note
Une forme plus ancienne de substitution de commande utilise des apostrophes
inversées : `command`. Bien que le shell bash accepte toujours ce format, essayez
de l'éviter car il est facile de confondre visuellement les apostrophes avec les
guillemets simples, et les apostrophes ne peuvent pas être imbriquées.
La barre oblique inversée (\) est un caractère d'échappement dans le shell Bash. Il protégera le
caractère qui le suit de son extension.
Dans l'exemple précédent, pour protéger le signe dollar de l'extension, Bash le traite comme un
caractère régulier sans extension variable sur $HOME.
RH124-RHEL9.0-fr-2-20220609 87
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Pour protéger les chaînes de caractères plus longues, vous pouvez utiliser des guillemets simples
(') ou doubles (") pour entourer ces chaînes. Ils ont des effets légèrement différents. Les
guillemets simples arrêtent toute extension du shell. Les guillemets doubles arrêtent la plupart des
extensions du shell.
Important
Il est facile de confondre les guillemets simples (') et l'apostrophe inversée de
substitution de commande (`) tant à l'écran que sur le clavier. L'utilisation de l'un
lorsque vous voulez utiliser l'autre entraîne un comportement inattendu du shell.
Références
Pages de manuel bash(1), cd(1), glob(7), isalpha(3), ls(1),
path_resolution(7) et pwd(1)
88 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Quiz
1. Quel motif correspond uniquement aux noms de fichiers se terminant par "b" ?
a. b*
b. *b
c. *b*
d. [!b]*
2. Quel motif correspond uniquement aux noms de fichiers commençant par "b" ?
a. b*
b. *b
c. *b*
d. [!b]*
3. Quel motif correspond uniquement aux noms de fichiers dont la première lettre est
différente de "b" ?
a. b*
b. *b
c. *b*
d. [!b]*
RH124-RHEL9.0-fr-2-20220609 89
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
6. Quel motif correspond uniquement aux noms de fichiers commençant par une lettre
en majuscule ?
a. ^?*
b. ^*
c. [upper]*
d. [[:upper:]]*
e. [[CAP]]*
7. Quel motif correspond uniquement aux noms de fichiers d'au moins trois caractères ?
a. ???*
b. ???
c. \3*
d. +++*
e. ...*
90 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Solution
1. Quel motif correspond uniquement aux noms de fichiers se terminant par "b" ?
a. b*
b. *b
c. *b*
d. [!b]*
2. Quel motif correspond uniquement aux noms de fichiers commençant par "b" ?
a. b*
b. *b
c. *b*
d. [!b]*
3. Quel motif correspond uniquement aux noms de fichiers dont la première lettre est
différente de "b" ?
a. b*
b. *b
c. *b*
d. [!b]*
RH124-RHEL9.0-fr-2-20220609 91
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
6. Quel motif correspond uniquement aux noms de fichiers commençant par une lettre
en majuscule ?
a. ^?*
b. ^*
c. [upper]*
d. [[:upper:]]*
e. [[CAP]]*
7. Quel motif correspond uniquement aux noms de fichiers d'au moins trois caractères ?
a. ???*
b. ???
c. \3*
d. +++*
e. ...*
92 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Open Lab
Résultats
• Utiliser des caractères génériques pour localiser et manipuler des fichiers.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Utilisez la commande ssh pour vous connecter à la machine serverb en tant qu'utilisateur
student. La configuration du système prend en charge l'utilisation des clés SSH pour
l'authentification.
2. Créez un répertoire appelé project_plans dans le répertoire Documents. Le répertoire
Documents doit être placé dans le répertoire personnel de l'utilisateur student. Créez deux
fichiers vides dans le répertoire project_plans appelés season1_project_plan.odf
et season2_project_plan.odf. Conseil : si le répertoire ~/Documents n'existe pas,
utilisez la commande mkdir avec l'option -p pour le créer.
3. Créez des ensembles de fichiers vides à utiliser au cours de l'atelier. Si vous ne reconnaissez
pas immédiatement le raccourci d'extension du shell prévu, utilisez la solution pour
apprendre et vous entraîner. Utilisez la saisie semi-automatique par tabulation du shell
pour trouver facilement le nom du chemin d'accès aux fichiers. Créez 12 fichiers appelés
tv_seasonX_episodeY.ogg dans le répertoire /home/student. Remplacez X par le
numéro de la saison et Y par le numéro de l'épisode, pour deux saisons de six épisodes
chacune.
4. En tant qu'auteur d'une série de romans policiers à succès, vous modifiez les
chapitres de votre prochain bestseller avant sa publication. Créez huit fichiers appelés
mystery_chapterX.odf. Remplacez X par les chiffres de 1 à 8.
5. Utilisez la commande unique pour créer deux sous-répertoires appelés season1 et season2
dans le répertoire Videos pour organiser les épisodes télévisés. Déplacez les épisodes
télévisés appropriés vers les sous-répertoires des saisons. N'utilisez que deux commandes et
spécifiez les destinations avec une syntaxe relative.
RH124-RHEL9.0-fr-2-20220609 93
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
6. Créez une hiérarchie de répertoires à deux niveaux avec une seule commande pour
organiser les chapitres du roman policier. Créez le sous-répertoire my_bestseller dans
le répertoire Documents et le sous-répertoire chapters dans le nouveau répertoire
my_bestseller. Créez trois sous-répertoires supplémentaires directement dans le
répertoire my_bestseller avec une seule commande. Nommez ces sous-répertoires
editor, changes et vacation. Vous n'avez pas besoin d'utiliser la commande mkdir -p
pour créer des parents, car le répertoire parent my_bestseller existe.
7. Choisissez le répertoire chapters. Utilisez le raccourci vers le répertoire personnel tilde
(~) pour déplacer tous les chapitres du livre dans le répertoire chapters, qui est désormais
votre répertoire courant. Utilisez la syntaxe la plus simple pour spécifier le répertoire de
destination.
Vous souhaitez envoyer les deux premiers chapitres à l'éditeur pour révision. Déplacez
uniquement ces deux chapitres dans le répertoire editor pour éviter de les modifier lors de
la révision. À partir du sous-répertoire chapters, utilisez l'extension par accolades avec une
plage pour spécifier les noms de fichiers de chapitres à déplacer et un chemin relatif pour le
répertoire de destination.
Lors de vos congés, vous avez l'intention d'écrire les chapitres 7 et 8. Utilisez une seule
commande pour déplacer les fichiers du répertoire chapters dans le répertoire vacation.
Spécifiez les noms de fichiers de chapitres en utilisant l'extension par accolades avec une
liste de chaînes et sans utiliser de caractères génériques.
8. Choisissez le répertoire de travail ~/Videos/season2, puis copiez le premier épisode
de la saison dans le répertoire vacation. Utilisez la commande cd unique pour changer
votre répertoire de travail par le répertoire ~/Documents/my_bestseller/vacation.
Listez ses fichiers. Utilisez l'argument du répertoire de travail précédent pour revenir au
répertoire season2. (Cet argument fonctionne si le dernier changement de répertoire avec
la commande cd a été accompli avec une commande plutôt que plusieurs commandes cd.)
À partir du répertoire season2, copiez le fichier de l'épisode 2 dans le répertoire vacation.
Utilisez à nouveau le raccourci pour revenir au répertoire vacation.
9. Les auteurs des chapitres 5 et 6 veulent expérimenter d'éventuels changements. Copiez les
deux fichiers du répertoire ~/Documents/my_bestseller/chapters dans le répertoire
~/Documents/my_bestseller/changes pour éviter que ces changements ne modifient
les fichiers d'origine. Accédez au répertoire ~/Documents/my_bestseller. Utilisez le
filtrage par motif entre crochets pour spécifier les numéros de chapitre à rechercher dans
l'argument de nom de fichier de la commande cp.
10. Remplacez votre répertoire en cours par le répertoire changes et utilisez la commande
date +%F avec substitution de commande pour copier mystery_chapter5.odf
dans un nouveau fichier qui inclut la date complète. Utilisez le format de nom
mystery_chapter5_YYYY-MM-DD.odf.
En utilisez la substitution de commande avec la commande date +%s, effectuez une autre
copie de mystery_chapter5.odf et ajoutez l'horodatage actuel (sous la forme du nombre
de secondes écoulées depuis l'époque, 1970-01-01 00:00 UTC) pour garantir un nom de
fichier unique.
94 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
11. Après un examen plus approfondi, vous décidez que les modifications de l'intrigue ne sont
pas nécessaires. Supprimez le répertoire changes.
Si nécessaire, accédez au répertoire changes et supprimez tous les fichiers du répertoire.
Vous ne pouvez pas supprimer un répertoire tant qu'il s'agit du répertoire de travail actuel.
Choisissez le répertoire parent du répertoire changes. Essayez de supprimer le répertoire
vide en utilisant la commande rm sans l'option récursive -r. Cette tentative devrait échoue.
Enfin, utilisez la commande rmdir pour supprimer le répertoire vide avec succès.
Une fois les vacances terminées, le répertoire vacation devient inutile. Supprimez-le en
utilisant la commande rm avec l'option récursive.
Une fois l'opération terminée, revenez au répertoire personnel de l'utilisateur student.
12. Créez un lien matériel vers le fichier ~/Documents/project_plans/
season2_project_plan.odf appelé ~/Documents/backups/
season2_project_plan.odf.back. Un lien matériel protège contre la suppression
accidentelle du fichier d'origine et met le fichier de sauvegarde à jour au fil des modifications
apportées au fichier d'origine. Conseil : si le répertoire ~/Documents/backups n'existe pas,
utilisez la commande mkdir pour le créer.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 95
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Solution
Résultats
• Utiliser des caractères génériques pour localiser et manipuler des fichiers.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Utilisez la commande ssh pour vous connecter à la machine serverb en tant qu'utilisateur
student. La configuration du système prend en charge l'utilisation des clés SSH pour
l'authentification.
Documents/project_plans:
96 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
total 0
-rw-r--r--. 1 student student 0 Mar 7 03:50 season1_project_plan.odf
-rw-r--r--. 1 student student 0 Mar 7 03:50 season2_project_plan.odf
3. Créez des ensembles de fichiers vides à utiliser au cours de l'atelier. Si vous ne reconnaissez
pas immédiatement le raccourci d'extension du shell prévu, utilisez la solution pour
apprendre et vous entraîner. Utilisez la saisie semi-automatique par tabulation du shell
pour trouver facilement le nom du chemin d'accès aux fichiers. Créez 12 fichiers appelés
tv_seasonX_episodeY.ogg dans le répertoire /home/student. Remplacez X par le
numéro de la saison et Y par le numéro de l'épisode, pour deux saisons de six épisodes
chacune.
4. En tant qu'auteur d'une série de romans policiers à succès, vous modifiez les
chapitres de votre prochain bestseller avant sa publication. Créez huit fichiers appelés
mystery_chapterX.odf. Remplacez X par les chiffres de 1 à 8.
5. Utilisez la commande unique pour créer deux sous-répertoires appelés season1 et season2
dans le répertoire Videos pour organiser les épisodes télévisés. Déplacez les épisodes
télévisés appropriés vers les sous-répertoires des saisons. N'utilisez que deux commandes et
spécifiez les destinations avec une syntaxe relative.
5.2. Déplacez les épisodes télévisés appropriés vers les sous-répertoires des saisons en
n'utilisant que deux commandes.
Videos/season1:
tv_season1_episode1.ogg tv_season1_episode3.ogg tv_season1_episode5.ogg
tv_season1_episode2.ogg tv_season1_episode4.ogg tv_season1_episode6.ogg
RH124-RHEL9.0-fr-2-20220609 97
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Videos/season2:
tv_season2_episode1.ogg tv_season2_episode3.ogg tv_season2_episode5.ogg
tv_season2_episode2.ogg tv_season2_episode4.ogg tv_season2_episode6.ogg
6. Créez une hiérarchie de répertoires à deux niveaux avec une seule commande pour
organiser les chapitres du roman policier. Créez le sous-répertoire my_bestseller dans
le répertoire Documents et le sous-répertoire chapters dans le nouveau répertoire
my_bestseller. Créez trois sous-répertoires supplémentaires directement dans le
répertoire my_bestseller avec une seule commande. Nommez ces sous-répertoires
editor, changes et vacation. Vous n'avez pas besoin d'utiliser la commande mkdir -p
pour créer des parents, car le répertoire parent my_bestseller existe.
Documents/my_bestseller:
chapters
Documents/my_bestseller/chapters:
Documents/project_plans:
season1_project_plan.odf season2_project_plan.odf
6.2. Créez trois répertoires supplémentaires appelés editor, changes et vacation dans
le répertoire my_bestseller en utilisant une seule commande.
Documents/my_bestseller:
changes chapters editor vacation
Documents/my_bestseller/changes:
Documents/my_bestseller/chapters:
Documents/my_bestseller/editor:
Documents/my_bestseller/vacation:
Documents/project_plans:
season1_project_plan.odf season2_project_plan.odf
98 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
votre répertoire courant. Utilisez la syntaxe la plus simple pour spécifier le répertoire de
destination.
Vous souhaitez envoyer les deux premiers chapitres à l'éditeur pour révision. Déplacez
uniquement ces deux chapitres dans le répertoire editor pour éviter de les modifier lors de
la révision. À partir du sous-répertoire chapters, utilisez l'extension par accolades avec une
plage pour spécifier les noms de fichiers de chapitres à déplacer et un chemin relatif pour le
répertoire de destination.
Lors de vos congés, vous avez l'intention d'écrire les chapitres 7 et 8. Utilisez une seule
commande pour déplacer les fichiers du répertoire chapters dans le répertoire vacation.
Spécifiez les noms de fichiers de chapitres en utilisant l'extension par accolades avec une
liste de chaînes et sans utiliser de caractères génériques.
7.1. Basculez sur le répertoire chapters et utilisez le raccourci vers le répertoire personnel
tilde (~) pour déplacer tous les chapitres du livre dans le répertoire chapters.
7.2. Déplacez les deux premiers chapitres dans le répertoire editor. Utilisez l'extension
par accolades avec une plage pour spécifier les noms de fichiers de chapitres à
déplacer et un chemin relatif pour le répertoire de destination.
7.3. Utilisez une seule commande pour déplacer les chapitres 7 et 8 du répertoire
chapters dans le répertoire vacation. Spécifiez les noms de fichiers de chapitres
en utilisant l'extension par accolades avec une liste de chaînes et sans utiliser de
caractères génériques.
RH124-RHEL9.0-fr-2-20220609 99
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
8.2. Utilisez une seule commande cd pour passer de votre répertoire de travail au répertoire
~/Documents/my_bestseller/vacation, listez ses fichiers et utilisez l'argument -
pour revenir au répertoire précédent. Copiez le fichier de l'épisode 2 dans le répertoire
vacation. Utilisez la commande cd avec l'argument - pour revenir au répertoire
vacation.
9. Les auteurs des chapitres 5 et 6 veulent expérimenter d'éventuels changements. Copiez les
deux fichiers du répertoire ~/Documents/my_bestseller/chapters dans le répertoire
~/Documents/my_bestseller/changes pour éviter que ces changements ne modifient
les fichiers d'origine. Accédez au répertoire ~/Documents/my_bestseller. Utilisez le
filtrage par motif entre crochets pour spécifier les numéros de chapitre à rechercher dans
l'argument de nom de fichier de la commande cp.
10. Remplacez votre répertoire en cours par le répertoire changes et utilisez la commande
date +%F avec substitution de commande pour copier mystery_chapter5.odf
dans un nouveau fichier qui inclut la date complète. Utilisez le format de nom
mystery_chapter5_YYYY-MM-DD.odf.
En utilisez la substitution de commande avec la commande date +%s, effectuez une autre
copie de mystery_chapter5.odf et ajoutez l'horodatage actuel (sous la forme du nombre
de secondes écoulées depuis l'époque, 1970-01-01 00:00 UTC) pour garantir un nom de
fichier unique.
100 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
11. Après un examen plus approfondi, vous décidez que les modifications de l'intrigue ne sont
pas nécessaires. Supprimez le répertoire changes.
Si nécessaire, accédez au répertoire changes et supprimez tous les fichiers du répertoire.
Vous ne pouvez pas supprimer un répertoire tant qu'il s'agit du répertoire de travail actuel.
Choisissez le répertoire parent du répertoire changes. Essayez de supprimer le répertoire
vide en utilisant la commande rm sans l'option récursive -r. Cette tentative devrait échoue.
Enfin, utilisez la commande rmdir pour supprimer le répertoire vide avec succès.
Une fois les vacances terminées, le répertoire vacation devient inutile. Supprimez-le en
utilisant la commande rm avec l'option récursive.
Une fois l'opération terminée, revenez au répertoire personnel de l'utilisateur student.
RH124-RHEL9.0-fr-2-20220609 101
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
/home/student/Documents/backups:
total 0
-rw-r--r--. 2 student student 0 Mar 7 03:50 season2_project_plan.odf.back
/home/student/Documents/my_bestseller:
total 0
drwxr-xr-x. 2 student student 118 Mar 7 04:07 chapters
drwxr-xr-x. 2 student student 62 Mar 7 04:06 editor
/home/student/Documents/my_bestseller/chapters:
total 0
-rw-r--r--. 1 student student 0 Mar 7 03:56 mystery_chapter3.odf
-rw-r--r--. 1 student student 0 Mar 7 03:56 mystery_chapter4.odf
-rw-r--r--. 1 student student 0 Mar 7 03:56 mystery_chapter5.odf
-rw-r--r--. 1 student student 0 Mar 7 03:56 mystery_chapter6.odf
/home/student/Documents/my_bestseller/editor:
total 0
-rw-r--r--. 1 student student 0 Mar 7 03:56 mystery_chapter1.odf
-rw-r--r--. 1 student student 0 Mar 7 03:56 mystery_chapter2.odf
/home/student/Documents/project_plans:
total 0
-rw-r--r--. 1 student student 0 Mar 7 03:50 season1_project_plan.odf
-rw-r--r--. 2 student student 0 Mar 7 03:50 season2_project_plan.odf
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
102 RH124-RHEL9.0-fr-2-20220609
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 103
chapitre 3 | Gestion des fichiers à partir de la ligne de commande
Résumé
• Les fichiers d'un système Linux sont organisés dans une arborescence de répertoires inversée
unique : la hiérarchie du système de fichiers.
• Les chemins absolus commencent par une barre oblique (/) et indiquent l'emplacement d'un
fichier dans la hiérarchie du système de fichiers.
• Les chemins relatifs ne commencent pas par une barre oblique (/) et indiquent l'emplacement
d'un fichier par rapport au répertoire de travail en cours.
• Vous pouvez utiliser les commandes en association avec les caractères spéciaux point (.),
double point (..) et tilde (~) pour faire référence à un emplacement de fichier dans le système
de fichiers.
• Les commandes mkdir, rmdir, cp, mv et rm sont des raccourcis clavier permettant de gérer
des fichiers sous Linux.
• Les liens matériels et les liens symboliques sont différents moyens de faire pointer plusieurs
noms de fichiers vers les mêmes données.
• Le shell Bash fournit des fonctionnalités de filtrage par motif, d'extension et de substitution
pour vous aider à exécuter efficacement des commandes.
104 RH124-RHEL9.0-fr-2-20220609
chapitre 4
RH124-RHEL9.0-fr-2-20220609 105
chapitre 4 | Obtention d'aide dans Red Hat Enterprise Linux
Résultats
Rechercher des informations dans les pages de manuel du système Linux local.
Le manuel historique du programmeur Linux, duquel proviennent les pages de manuel, était
suffisamment épais pour être divisé en plusieurs sections. Chaque section contient des
informations sur un sujet particulier.
Afin de distinguer des noms de rubriques identiques dans des sections différentes, les références
de pages de manuel sont suivies du numéro de section entre parenthèses après la rubrique. Par
exemple, passwd(1) décrit la commande pour modifier les mots de passe, tandis que passwd(5)
explique le format du fichier /etc/passwd qui stocke les comptes d'utilisateurs locaux.
Pour afficher des pages de manuel spécifiques, utilisez la commande man topic. Les pages
de manuel affichent le contenu un écran à la fois. La commande man recherche les sections du
106 RH124-RHEL9.0-fr-2-20220609
chapitre 4 | Obtention d'aide dans Red Hat Enterprise Linux
manuel par ordre alphanumérique. Par exemple, la commande man passwd affiche passwd(1)
par défaut. Pour afficher la rubrique de la page de manuel d'une section spécifique, vous pouvez
utiliser la commande man section topic. Par exemple, man 5 passwd affiche passwd(5).
Les rubriques d'administration du système les plus populaires se trouvent dans les sections 1
(commandes utilisateur), 5 (formats de fichiers) et 8 (commandes administratives). Les
administrateurs qui utilisent certains outils de résolution de problème utilisent également la
section 2 (appels système). Les sections restantes sont généralement des références pour les
programmeurs ou pour une administration avancée.
Le tableau suivant liste les commandes de navigation basiques lors de la visualisation des pages
de manuel :
Commande Résultat
RH124-RHEL9.0-fr-2-20220609 107
chapitre 4 | Obtention d'aide dans Red Hat Enterprise Linux
Important
Vous pouvez utiliser des expressions régulières pour effectuer une recherche
dans les pages man. Alors qu'une recherche de texte simple (tel que passwd)
fonctionne comme on pourrait s'y attendre, les expressions régulières utilisent des
métacaractères (comme $, *, . et ^) pour un filtrage par motif plus sophistiqué. Par
conséquent, la recherche de chaînes de caractères qui incluent des métacaractères
d'expressions de programme, comme make $$$, peut renvoyer des résultats
inattendus.
Vous trouverez plus d'informations sur les expressions régulières et la syntaxe dans
la rubrique du manuel regex(7).
Titres
Titre Description
108 RH124-RHEL9.0-fr-2-20220609
chapitre 4 | Obtention d'aide dans Red Hat Enterprise Linux
La commande man avec l'option -K (majuscule) recherche le mot-clé dans la page de texte
intégral, et pas seulement dans les titres et les descriptions. Une recherche en texte intégral utilise
plus de ressources système et prend plus de temps.
Avec la recherche de page en texte intégral, la commande man affiche la première page avec une
correspondance. Appuyez sur Q pour quitter cette première page ; la commande man affichera la
page suivante.
Dans cet exemple, man affiche chaque correspondance tout en vous permettant de les consulter
ou de les ignorer.
Note
Les recherches par mot-clé s'appuient sur un index généré par la commande
mandb(8) qui doit être exécutée en tant que root.
Références
Pages de manuel man(1), mandb(8), man-pages(7), less(1), intro(1), intro(2),
intro(5), intro(7) et intro(8)
RH124-RHEL9.0-fr-2-20220609 109
chapitre 4 | Obtention d'aide dans Red Hat Enterprise Linux
Exercice guidé
Résultats
• Utilisez le système manuel Linux man et trouvez des informations utiles par la recherche et
la navigation.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Sur workstation, affichez la page de manuel gedit. Affichez les options permettant de
modifier un fichier spécifique en utilisant gedit à partir de la ligne de commande.
Utilisez l'une des options de la page de manuel gedit pour ouvrir le fichier /home/
student/manual en utilisant gedit avec le curseur à la fin du fichier.
SYNOPSIS
gedit [OPTION...] [FILE...] [+LINE[:COLUMN]]
gedit [OPTION...] -
...output omitted...
1.2. Dans la page de manuel gedit, découvrez les options permettant de modifier un
fichier spécifique à partir de la ligne de commande.
110 RH124-RHEL9.0-fr-2-20220609
chapitre 4 | Obtention d'aide dans Red Hat Enterprise Linux
OPTIONS
...output omitted...
FILE Specifies the file to open when gedit starts.
...output omitted...
+LINE For the first file, go to the line specified by LINE (do not insert
a space between the "+" sign and the number). If LINE is missing, go to the last
line.
...output omitted...
1.3. Utilisez la commande gedit + pour ouvrir le fichier manual. Le numéro de ligne
manquant à côté de l'option + ouvre un fichier passé en tant qu'argument avec le
curseur à la fin de la dernière ligne.
Confirmez que le fichier est ouvert avec le curseur à la fin du fichier de la dernière
ligne du fichier. Appuyez sur Ctrl+q pour fermer l'application.
SYNOPSIS
su [options] [-] [user [argument...]]
DESCRIPTION
su allows to run commands with a substitute user and group ID.
RH124-RHEL9.0-fr-2-20220609 111
chapitre 4 | Obtention d'aide dans Red Hat Enterprise Linux
Note
Notez que les options séparées par des virgules sur une seule ligne, telles que -, -l
et --login, affichent le même comportement.
3. La commande man dispose également de ses propres pages de manuel. Ouvrez la page de
manuel de la commande man(1).
NAME
man - an interface to the on-line reference manuals
...output omitted...
DESCRIPTION
man is the system's manual pager. Each page argument given to man is
normally the name of a program, utility or function. The manual page
associated with each of these arguments is then found and displayed.
A section, if provided, will direct man to look only in that section
of the manual.
...output omitted...
4. Le dossier /usr/share/man contient toutes les pages de manuel. Localisez les pages
binaires, source et de manuel situées dans l'utilitaire passwd à l'aide de la commande
whereis. Vérifiez que le dossier /usr/share/man contient les pages de manuel de
l'utilitaire passwd.
5. Utilisez la commande man -k zip pour lister la page de manuel contenant des
informations détaillées sur une archive ZIP.
112 RH124-RHEL9.0-fr-2-20220609
chapitre 4 | Obtention d'aide dans Red Hat Enterprise Linux
6. Utilisez la commande man -k boot pour lister la page de manuel contenant une liste des
paramètres qui peut être transmise au noyau lors du démarrage.
7. Utilisez la commande man -k ext4 pour recherche la commande utilisée pour ajuster les
paramètres du système de fichiers ext4.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 113
chapitre 4 | Obtention d'aide dans Red Hat Enterprise Linux
Open Lab
Résultats
• Localiser les informations pertinentes sur les commandes en recherchant les pages de
manuel.
• Apprendre de nouvelles options pour les commandes de documentation les plus
courantes.
• Utiliser des outils appropriés pour afficher et imprimer de la documentation et d'autres
fichiers au format non textuel.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Sur la machine workstation, déterminez comment préparer une page de manuel à
l'impression. Plus précisément, recherchez le format par défaut ou la langue de rendu pour
l'impression.
2. Créez un fichier de sortie formaté en PostScript de la page de manuel passwd. Appelez
le fichier passwd.ps et placez-le dans le répertoire personnel de l'utilisateur student.
Déterminez le format du contenu du fichier. Inspectez le contenu du fichier passwd.ps en
utilisant la commande less.
Note
Comme vous devez enregistrer le résultat de la commande man dans un fichier, vous
pouvez utiliser le symbole >, qui redirige la sortie standard vers un fichier.
114 RH124-RHEL9.0-fr-2-20220609
chapitre 4 | Obtention d'aide dans Red Hat Enterprise Linux
3. Au moyen des pages de manuel, identifiez les commandes que vous pouvez utiliser pour
afficher et imprimer des fichiers PostScript.
4. Apprenez à utiliser la visionneuse evince(1) en mode aperçu. Déterminez également
comment ouvrir un document à partir d'une page spécifique. Ouvrez votre fichier PostScript
en utilisant evince trois fois : à partir du mode par défaut, avec l'option de prévisualisation,
puis pour commencer à la page 3. Fermez votre fichier de document lorsque vous avez
terminé.
5. À l'aide des pages du manuel, recherchez lp(1) et déterminez comment imprimer
un document quelconque à partir d'une page spécifique. Sans entrer de commande
(en l'absence d'imprimantes), apprenez la syntaxe, en une commande, pour imprimer
uniquement les pages 2 et 3 de votre fichier PostScript.
6. Utilisez le navigateur Firefox pour ouvrir le répertoire de la page de manuel du système
(/usr/share/doc) et accédez au sous-répertoire du paquetage man-db. Affichez les
manuels fournis. Une fois que vous avez fini de consulter les manuels man-db, localisez
le sous-répertoire du paquetage kexec-tools et accédez-y. Affichez le fichier kexec-
kdump-howto.txt qui décrit les options de configuration importantes du système stockées
dans le répertoire /etc/sysconfig.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 115
chapitre 4 | Obtention d'aide dans Red Hat Enterprise Linux
Solution
Résultats
• Localiser les informations pertinentes sur les commandes en recherchant les pages de
manuel.
• Apprendre de nouvelles options pour les commandes de documentation les plus
courantes.
• Utiliser des outils appropriés pour afficher et imprimer de la documentation et d'autres
fichiers au format non textuel.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Sur la machine workstation, déterminez comment préparer une page de manuel à
l'impression. Plus précisément, recherchez le format par défaut ou la langue de rendu pour
l'impression.
1.1. Utilisez la commande man man pour déterminer comment préparer une page de
manuel à l'impression.
116 RH124-RHEL9.0-fr-2-20220609
chapitre 4 | Obtention d'aide dans Red Hat Enterprise Linux
Note
La commande man avec l'option -t prépare une page de manuel pour l'impression,
en utilisant le langage PostScript par défaut.
Note
Comme vous devez enregistrer le résultat de la commande man dans un fichier, vous
pouvez utiliser le symbole >, qui redirige la sortie standard vers un fichier.
2.1. Utilisez la commande man -t pour créer un fichier formaté de la page de manuel
passwd.
RH124-RHEL9.0-fr-2-20220609 117
chapitre 4 | Obtention d'aide dans Red Hat Enterprise Linux
Note
Le résultat de file indique que le fichier est au format PostScript et que vous
l'avez confirmé en consultant le contenu du fichier. Remarquez les informations
relatives à PostScript dans les lignes d'en-tête. Utilisez q pour quitter la commande
less.
3. Au moyen des pages de manuel, identifiez les commandes que vous pouvez utiliser pour
afficher et imprimer des fichiers PostScript.
3.1. Recherchez dans les pages du manuel des informations sur les fichiers PostScript.
Utilisez l'option -k à cette fin.
Note
Utiliser plusieurs mots avec l'option -k permet de trouver les pages de manuel qui
correspondent à l'un ou l'autre de ces mots, ici celles dont la description contient
"postscript" ou "viewer". Remarquez les commandes evince(1) dans le résultat.
4.1. Utilisez la commande man evince pour apprendre à utiliser la visionneuse en mode
aperçu.
118 RH124-RHEL9.0-fr-2-20220609
chapitre 4 | Obtention d'aide dans Red Hat Enterprise Linux
Note
L'option -w (ou --preview) permet d'ouvrir evince en mode aperçu. L'option -i
ouvre evince à la page de démarrage spécifiée.
Note
Alors que le mode evince normal prend en charge l'affichage plein écran et des
styles de présentation, le mode aperçu evince est utile pour une navigation et une
impression rapides. Remarquez l'print icon au sommet.
5.1. Utilisez la commande man lp pour déterminer comment imprimer des pages
spécifiques d'un document.
Note
À partir de lp(1), vous apprenez que l'option -P spécifie la liste des pages à
imprimer dans le document. La commande lp n'envoie au spool de l'imprimante par
défaut que l'extrait qui commence à la page 2 et finit à la page 3. Par conséquent,
une réponse correcte est lp passwd.ps -P 2-3.
RH124-RHEL9.0-fr-2-20220609 119
chapitre 4 | Obtention d'aide dans Red Hat Enterprise Linux
Note
Vous pouvez créer des signets pour tout répertoire fréquemment utilisé. Après
avoir navigué jusqu'au répertoire man-db, cliquez pour ouvrir et afficher la version
texte du manuel, puis refermez-la. Cliquez sur la version PostScript pour l'ouvrir.
Comme nous l'avons vu précédemment, evince est la visionneuse par défaut du
système pour les documents PDF et PostScript. Quand vous aurez terminé, fermez
la visionneuse evince.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
120 RH124-RHEL9.0-fr-2-20220609
chapitre 4 | Obtention d'aide dans Red Hat Enterprise Linux
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 121
chapitre 4 | Obtention d'aide dans Red Hat Enterprise Linux
Résumé
• Utilisez la commande man pour visualiser les pages de manuel et afficher les informations sur les
composants d'un système Linux, tels que les fichiers, les commandes et les fonctions.
• Par principe, lorsque vous vous référez à une page de manuel, le nom d'une page est suivi de
son numéro de section entre parenthèses.
• Vous pouvez utiliser des expressions régulières pour rechercher du contenu dans les pages de
manuel.
122 RH124-RHEL9.0-fr-2-20220609
chapitre 5
Création, affichage et
modification de fichiers texte
Objectif Créer, afficher et modifier des fichiers texte à
partir de la sortie d'une commande ou dans un
éditeur de texte.
RH124-RHEL9.0-fr-2-20220609 123
chapitre 5 | Création, affichage et modification de fichiers texte
Résultats
Enregistrer la sortie ou les erreurs dans un fichier avec la redirection du shell et traiter la sortie de
la commande via plusieurs programmes de ligne de commande avec des pipes.
Un processus utilise des canaux numérotés appelés descripteurs de fichiers pour obtenir une
entrée et envoyer une sortie. Tous les processus commencent par au moins trois descripteurs de
fichier. Entrée standard (canal 0) lit les entrées du clavier. Sortie standard (canal 1) envoie une
sortie normale au terminal. Erreur standard (canal 2) envoie des messages d'erreur au terminal.
Si un programme ouvre des connexions séparées avec d'autres fichiers, il peut utiliser des
descripteurs de fichiers portant des numéros plus élevés.
124 RH124-RHEL9.0-fr-2-20220609
chapitre 5 | Création, affichage et modification de fichiers texte
Vous pouvez rediriger un processus stdout pour empêcher l'affichage de la sortie du processus
sur le terminal. Si vous redirigez stdout vers un fichier et que ce dernier n'existe pas, le fichier
est créé. Si le fichier existe et que la redirection ne s'ajoute pas au fichier, elle écrase le contenu
du fichier. Pour ignorer la sortie d'un processus, vous pouvez exécuter la redirection vers le fichier
spécial /dev/null vide qui ignore silencieusement la sortie du canal redirigée vers celui-ci.
Comme indiqué dans le tableau suivant, la redirection seule stdout n'empêche pas l'affichage
des messages d'erreur stderr sur le terminal.
RH124-RHEL9.0-fr-2-20220609 125
chapitre 5 | Création, affichage et modification de fichiers texte
Important
L'ordre des opérations de redirection est important. La séquence suivante redirige
la sortie standard vers le fichier output.log et redirige les messages d'erreur
standard vers le même emplacement que la sortie standard (output.log).
Copier les 100 dernières lignes du fichier /var/log/dmesg vers le fichier /tmp/last-100-
boot-messages.
126 RH124-RHEL9.0-fr-2-20220609
chapitre 5 | Création, affichage et modification de fichiers texte
Les quelques commandes suivantes génèrent des messages d'erreur, car certains répertoires
système sont inaccessibles aux utilisateurs normaux. Observez lorsque les messages d'erreur sont
redirigés.
Redirigez les erreurs à partir de la commande find vers le fichier /tmp/errors tout en affichant
la sortie de la commande normale sur le terminal.
Enregistrez la sortie des processus dans le fichier /tmp/output et les messages d'erreur dans le
fichier /tmp/errors.
[user@host ~]$ find /etc -name passwd > /tmp/output 2> /tmp/errors
Enregistrez la sortie des processus dans le fichier /tmp/output et supprimez les messages
d'erreur.
[user@host ~]$ find /etc -name passwd > /tmp/output 2> /dev/null
Construction de pipelines
Un pipeline est une séquence d'une ou plusieurs commandes séparées par une barre verticale
(|). Un pipeline connecte la sortie standard de la première commande à l'entrée standard de la
commande suivante.
Utilisez les pipelines pour manipuler et formater la sortie d'un processus par d'autres processus
avant sa transmission vers le terminal. Imaginez que les données "circulent" dans le pipeline d'un
processus à un autre et qu'elles sont modifiées par chaque commande du pipeline par lequel elles
transitent.
RH124-RHEL9.0-fr-2-20220609 127
chapitre 5 | Création, affichage et modification de fichiers texte
Note
Les pipelines et la redirection des E/S manipulent la sortie standard et l'entrée
standard. La redirection envoie la sortie standard vers des fichiers ou obtient
l'entrée standard depuis des fichiers. Les pipelines envoient la sortie standard
depuis un processus vers l'entrée standard d'un autre processus.
Exemples de pipelines
La liste suivante montre quelques exemples de pipelines :
Redirigez la sortie de la commande ls vers la commande less pour l'afficher sur un écran du
terminal à la fois.
Redirigez la sortie de la commande ls vers la commande wc -l, qui compte le nombre de lignes
reçues de ls et imprime la valeur correspondante sur le terminal.
[user@host ~]$ ls | wc -l
Redirigez la sortie de la commande ls -t vers la commande head pour afficher les 10 premières
lignes, avec le résultat final redirigé vers le fichier /tmp/first-ten-changed-files.
La commande tee surmonte cette limitation. Dans un pipeline, tee copie son entrée standard
vers sa sortie standard et redirige également sa sortie standard vers les fichiers fournis comme
arguments de la commande. Imaginez que les données sont comme de l'eau circulant à travers un
pipeline et visualisez tee comme un raccord en T qui dirige la sortie dans deux directions.
Figure 5.9: Traitement des E/S par pipeline avec la commande tee
128 RH124-RHEL9.0-fr-2-20220609
chapitre 5 | Création, affichage et modification de fichiers texte
Si vous utilisez la commande tee à la fin d'un pipeline, le terminal affiche la sortie des commandes
dans le pipeline et l'enregistre dans un fichier en même temps.
Utilisez la commande tee avec l'option -a pour ajouter le contenu à un fichier au lieu de l'écraser.
Important
Vous pouvez rediriger l'erreur standard via un pipeline, mais vous ne pouvez pas
utiliser les opérateurs de redirection associés (&> et &>>). L'exemple suivant
présente la méthode appropriée pour rediriger la sortie standard et l'erreur standard
via un pipeline :
Références
info bash (The GNU Bash Reference Manual)
• Section 17.1 : Redirect output to multiple files or processes (Rediriger la sortie vers
plusieurs fichiers ou processus)
Pages de manuel bash(1), cat(1), head(1), less(1), mail(1), tee(1), tty(1), wc(1)
RH124-RHEL9.0-fr-2-20220609 129
chapitre 5 | Création, affichage et modification de fichiers texte
Quiz
2. Quel opérateur de redirection de sortie envoie la sortie vers un fichier et envoie les
erreurs vers un autre fichier ?
a. > fichier 2> fichier2
b. > fichier 1> fichier2
c. > fichier &2> fichier2
d. | tee fichier
3. Quel opérateur de redirection de sortie envoie à la fois la sortie et les erreurs dans un
fichier, le créant ou écrasant son contenu ?
a. | tee fichier
b. 2 &> fichier
c. 1 &> fichier
d. &> fichier
4. Quel opérateur de redirection de sortie envoie la sortie et les erreurs vers le même
fichier et conserve le contenu du fichier s'il existe ?
a. > fichier 2> fichier2
b. &> fichier
c. >> fichier 2>&1
d. >> fichier 1>&1
130 RH124-RHEL9.0-fr-2-20220609
chapitre 5 | Création, affichage et modification de fichiers texte
6. Quel opérateur de redirection de sortie envoie la sortie en même temps sur l'écran et
dans un fichier ?
a. &> /dev/null
b. > fichier 2> fichier2
c. | tee fichier
d. | < fichier
RH124-RHEL9.0-fr-2-20220609 131
chapitre 5 | Création, affichage et modification de fichiers texte
Solution
2. Quel opérateur de redirection de sortie envoie la sortie vers un fichier et envoie les
erreurs vers un autre fichier ?
a. > fichier 2> fichier2
b. > fichier 1> fichier2
c. > fichier &2> fichier2
d. | tee fichier
3. Quel opérateur de redirection de sortie envoie à la fois la sortie et les erreurs dans un
fichier, le créant ou écrasant son contenu ?
a. | tee fichier
b. 2 &> fichier
c. 1 &> fichier
d. &> fichier
4. Quel opérateur de redirection de sortie envoie la sortie et les erreurs vers le même
fichier et conserve le contenu du fichier s'il existe ?
a. > fichier 2> fichier2
b. &> fichier
c. >> fichier 2>&1
d. >> fichier 1>&1
132 RH124-RHEL9.0-fr-2-20220609
chapitre 5 | Création, affichage et modification de fichiers texte
6. Quel opérateur de redirection de sortie envoie la sortie en même temps sur l'écran et
dans un fichier ?
a. &> /dev/null
b. > fichier 2> fichier2
c. | tee fichier
d. | < fichier
RH124-RHEL9.0-fr-2-20220609 133
chapitre 5 | Création, affichage et modification de fichiers texte
Résultats
Créer et modifier des fichiers texte à partir de la ligne de commande avec l'éditeur vim.
Vim est une version améliorée de l'éditeur vi qui est fourni avec les systèmes Linux et UNIX. Vim
est hautement configurable et efficace pour les utilisateurs avertis. Il comprend la division de
l'écran d'édition, le formatage par couleurs et la mise en surbrillance du texte en cours d'édition.
La principale raison de connaître Vim est qu'il est presque toujours installé par défaut sur un
serveur pour l'édition de fichiers texte. La norme POSIX (Portable Operating System Interface)
spécifie l'éditeur vi sous Linux, et de nombreux autres systèmes d'exploitation de type UNIX font
de même.
De plus, Vim est souvent utilisé comme mise en œuvre vi sur d'autres distributions ou systèmes
d'exploitation usuels. Par exemple, macOS comprend actuellement une installation légère de Vim
par défaut. Ainsi, les compétences Vim acquises pour Linux peuvent également s'avérer utiles
ailleurs.
Le paquetage vim-minimal vous permet d'installer l'éditeur vi avec les fonctions principales. Il
s'agit d'une installation légère comprenant uniquement les fonctions principales et les commandes
vi de base. Vous pouvez ouvrir un fichier pour le modifier en utilisant la commande vi.
134 RH124-RHEL9.0-fr-2-20220609
chapitre 5 | Création, affichage et modification de fichiers texte
Vous pouvez également utiliser le paquetage vim-enhanced pour installer l'éditeur Vim. Ce
paquetage un ensemble de fonctions plus complet, un système d'aide en ligne et un programme
de tutoriel. Pour lancer Vim dans ce mode amélioré, utilisez la commande vim.
Les fonctions principales de l'éditeur Vim sont disponibles dans les deux commandes.
Si vim-enhanced est installé, un alias de shell est défini, de sorte que si les utilisateurs réguliers
exécutent la commande vi, ils obtiennent automatiquement la commande vim à la place. Cet
alias ne s'applique pas aux utilisateurs root et aux autres utilisateurs avec des UID inférieurs à
200 (qui sont utilisés par les services système).
Si vim-enhanced est installé et qu'un utilisateur standard souhaite utiliser la commande vi, il
se peut qu'il doive utiliser la commande \vi pour remplacer temporairement l'alias. Vous pouvez
utiliser \vi --version et vim --version pour comparer les ensembles de fonctions des deux
commandes.
Lorsque vous ouvrez Vim pour la première fois, il démarre en mode commande qui est utilisé pour
la navigation, les couper-coller et d'autres modifications de texte. Appuyez sur la touche requise
pour accéder à des fonctions d'édition spécifiques.
• Une pression sur i ouvre le mode d'insertion, dans lequel tout le texte saisi s'ajoute au contenu
du fichier. Appuyez sur Esc pour revenir au mode de commande.
• Une pression sur v ouvre le mode visuel, dans lequel il est possible de sélectionner des
caractères multiples pour manipuler le texte. Utilisez Shift+V pour sélectionner plusieurs
RH124-RHEL9.0-fr-2-20220609 135
chapitre 5 | Création, affichage et modification de fichiers texte
lignes et Ctrl+V pour sélectionner un bloc. Pour quitter le mode visuel, utilisez les touches v,
Shift+V ou Ctrl+V.
• La touche : ouvre le mode commande étendu pour effectuer des tâches comme écrire un
fichier (pour l'enregistrer), ou encore quitter l'éditeur Vim.
Note
Si vous n'êtes pas sûr du mode que Vim utilise, appuyez sur Esc plusieurs fois pour
revenir en mode commande. Vous pouvez appuyer sur la touche Esc à plusieurs
reprises en mode commande.
Connaître ces commandes permet à l'utilisateur Vim d'accomplir toute tâche d'édition.
• Mode caractère : v
• Mode ligne : Shift+v
• Mode bloc : Ctrl+v
Le mode caractère met en surbrillance les phrases dans un bloc de texte. Le mot VISUAL apparaît
au bas de l'écran. Appuyez sur v pour passer en mode caractère visuel. Shift+v permet de
passer en mode ligne. VISUAL LINE apparaît au bas de l'écran.
Le mode bloc visuel est parfait pour manipuler des fichiers de données. Appuyez sur la touche
Ctrl+v pour entrer dans le bloc visuel depuis le curseur. VISUAL BLOCK apparaît au bas de
l'écran. Utilisez les touches fléchées pour mettre en surbrillance la section à modifier.
136 RH124-RHEL9.0-fr-2-20220609
chapitre 5 | Création, affichage et modification de fichiers texte
Note
Commencez par vous familiariser avec le workflow de base de Vim. Il faut de la
pratique pour comprendre les nombreuses fonctionnalités de Vim. Familiarisez-
vous avec ces bases, puis enrichissez votre vocabulaire Vim en apprenant d'autres
raccourcis clavier Vim.
Une liste complète des options de configuration vimrc est disponible dans les références.
Références
Page de manuel (1)vim
RH124-RHEL9.0-fr-2-20220609 137
chapitre 5 | Création, affichage et modification de fichiers texte
Exercice guidé
Résultats
• Modifier des fichiers avec Vim.
• Acquérir des compétences dans Vim à l'aide de la commande vimtutor.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Utilisez la commande ssh pour vous connecter à la machine servera en tant qu'utilisateur
student.
138 RH124-RHEL9.0-fr-2-20220609
chapitre 5 | Création, affichage et modification de fichiers texte
Cette première leçon apprend à quitter le logiciel sans conserver les modifications non
souhaitées. Tous les changements sont perdus. Il est parfois préférable de perdre des
modifications plutôt que de laisser un fichier essentiel dans un état incorrect.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 139
chapitre 5 | Création, affichage et modification de fichiers texte
Résultats
Définir des variables shell pour exécuter des commandes et modifier les scripts de démarrage
bash pour définir des variables shell et d'environnement afin de modifier le comportement du shell
et des programmes exécutés à partir de celui-ci.
Les variables shell sont uniques à une session shell particulière. Si deux fenêtres de terminal ou
deux sessions de connexion indépendantes sont ouvertes sur le même serveur distant, vous
exécutez deux shells. Chaque shell a son propre ensemble de valeurs pour ses variables shell.
Les noms de variables peuvent contenir des lettres majuscules ou minuscules, des chiffres et le
caractère de soulignement (_). Par exemple, les commandes suivantes définissent des variables
shell :
N'oubliez pas que cette modification affecte uniquement le shell dans lequel vous exécutez la
commande, et non pas les autres shells que vous exécutez sur ce serveur.
Vous pouvez utiliser la commande set pour lister toutes les variables shell actuellement définies.
(Elle liste également toutes les fonctions du shell que vous pouvez ignorer.) Pour améliorer la
visibilité, vous pouvez canaliser la sortie vers la commande less afin de l'afficher page par page.
140 RH124-RHEL9.0-fr-2-20220609
chapitre 5 | Création, affichage et modification de fichiers texte
Par exemple, la commande suivante définit la variable shell COUNT sur 40.
Si vous saisissez à la place la commande echo $COUNT, la valeur de la variable COUNT est
imprimée.
Vous pouvez également utiliser une variable pour désigner un nom de fichier long pour plusieurs
commandes.
Important
Vous pouvez toujours utiliser des accolades dans l'extension de variable, bien
qu'elles soient souvent inutiles.
RH124-RHEL9.0-fr-2-20220609 141
chapitre 5 | Création, affichage et modification de fichiers texte
Un autre exemple est la variable PS1 qui contrôle l'apparence de l'invite du shell. Si vous modifiez
cette valeur, l'apparence de votre invite de shell change. Diverses extensions de caractères
spéciaux prises en charge par l'invite sont listées dans la section "PROMPTING" de la page de
manuel bash(1).
Étant donné que la valeur définie par la variable PS1 est une invite, Red Hat recommande de
terminer l'invite par un espace de fin. Deuxièmement, chaque fois que la valeur d'une variable
contient un espace sous n'importe quelle forme, à savoir un espace, une tabulation ou un retour, la
valeur doit être encadrée par des guillemets simples ou doubles. Des résultats inattendus peuvent
se produire si les guillemets sont omis. La variable PS1 précédente est conforme à la fois à la
recommandation d'espace de fin et à la règle des guillemets.
142 RH124-RHEL9.0-fr-2-20220609
chapitre 5 | Création, affichage et modification de fichiers texte
Si une variable shell n'est pas une variable d'environnement, seul le shell peut l'utiliser. Cependant,
si une variable shell est une variable d'environnement, le shell et tous les programmes qui
s'exécutent à partir de ce shell peuvent utiliser la variable.
Note
Les variables HISTFILE, HISTFILESIZE et PS1 de la section précédente n'ont pas
besoin d'être exportées en tant que variables d'environnement, car seul le shell lui-
même les utilise et non les programmes que vous exécutez à partir du shell.
Vous pouvez affecter toute variable définie dans le shell en tant que variable d'environnement en
la marquant pour exportation avec la commande export.
Les applications et les sessions utilisent ces variables pour déterminer leur comportement. Par
exemple, le shell définit automatiquement la variable HOME avec le nom de fichier du répertoire
personnel de l'utilisateur au démarrage. Vous pouvez utiliser cette variable pour aider les
programmes à déterminer l'emplacement d'enregistrement des fichiers.
Un autre exemple est la variable LANG, qui définit l'encodage régional. Cette variable ajuste la
langue préférée de la sortie du programme ; le jeu de caractères ; le formatage des dates, des
chiffres et de la devise ; et l'ordre de tri des programmes. Si elle est réglée sur en_US.UTF-8, le
paramètre régional utilise l'anglais américain avec l'encodage de caractères Unicode UTF-8. Si elle
est réglée sur fr_FR.UTF-8, par exemple, l'encodage de caractères Unicode UTF-8 français est
utilisé.
Une autre variable d'environnement importante est PATH. La variable PATH contient une liste de
répertoires séparés des deux-points contenant des programmes :
Lorsque vous exécutez une commande telle que la commande ls, le shell recherche le fichier
exécutable ls dans chacun de ces répertoires dans l'ordre, et exécute le premier fichier
correspondant qu'il trouve. (Sur un système classique, il s'agit du fichier /usr/bin/ls.)
Vous pouvez facilement ajouter des répertoires à votre variable PATH. Par exemple, vous souhaitez
peut-être exécuter des programmes ou des scripts exécutables comme des commandes normales
RH124-RHEL9.0-fr-2-20220609 143
chapitre 5 | Création, affichage et modification de fichiers texte
Pour lister toutes les variables d'environnement d'un shell, exécutez la commande env :
Important
Par convention, les variables d'environnement et les variables shell qui sont
automatiquement définies par le shell ont des noms dont toutes les lettres sont en
majuscule. Si vous définissez vos propres variables, vous pouvez utiliser des noms
en minuscules pour éviter les conflits de noms.
Les scripts exacts qui s'exécutent dépendent des caractéristiques suivantes : shell interactif ou
non et shell de connexion ou sans connexion. Un utilisateur entre directement des commandes
dans un shell interactif, tandis qu'un shell non interactif s'exécute en arrière-plan sans intervention
de l'utilisateur, comme un script. Un shell de connexion est invoqué lorsqu'un utilisateur se
connecte localement via le terminal ou à distance via le protocole SSH. Un shell sans connexion
est invoqué à partir d'une session existante, comme l'ouverture d'un terminal à partir de l'interface
graphique GNOME.
144 RH124-RHEL9.0-fr-2-20220609
chapitre 5 | Création, affichage et modification de fichiers texte
Pour créer une variable disponible pour tous vos shells interactifs, modifiez le fichier ~/.bashrc.
Pour appliquer une variable une seule fois après la connexion de l'utilisateur, définissez-la dans le
fichier ~/.bash_profile.
Par exemple, pour changer l'éditeur par défaut lorsque vous vous connectez via SSH, vous pouvez
modifier la variable EDITOR dans votre fichier ~/.bash_profile :
# .bash_profile
Note
Le meilleur moyen d'ajuster les paramètres qui affectent tous les comptes
d'utilisateur est d'ajouter un fichier, avec l'extension .sh, qui contient les
modifications dans le répertoire /etc/profile.d. Pour créer les fichiers dans le
répertoire /etc/profile, connectez-vous en tant qu'utilisateur root.
Alias bash
Les alias bash sont des raccourcis vers d'autres commandes bash. Par exemple, si vous devez
taper fréquemment une commande longue, vous pouvez créer un alias plus court pour l'appeler.
Vous utilisez la commande alias pour créer des alias. Prenons l'exemple suivant qui crée un alias
hello pour une commande echo.
Vous pouvez ensuite exécuter la commande hello qui invoque la commande echo.
Ajoutez des alias au fichier ~/.bashrc d'un utilisateur afin qu'ils soient disponibles dans n'importe
quel shell interactif.
RH124-RHEL9.0-fr-2-20220609 145
chapitre 5 | Création, affichage et modification de fichiers texte
[user@host ~]$
Pour annuler l'exportation d'une variable sans en annuler la définition, utilisez la commande
export -n :
Références
Pages du manuel bash(1), env(1) et builtins(1)
146 RH124-RHEL9.0-fr-2-20220609
chapitre 5 | Création, affichage et modification de fichiers texte
Exercice guidé
Résultats
• Modifier le profil d'un utilisateur.
• Créer une variable shell.
• Créer une variable d'environnement.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande permet de s'assurer que toutes les ressources requises sont disponibles.
Instructions
1. Remplacez la variable shell PS1 de l'utilisateur student par [\u@\h \t \w]$ (rappelez-
vous de mettre la valeur de PS1 entre guillemets et de mettre un espace de fin après le
signe dollar). Cette modification ajoute le temps à l'invite.
1.1. Utilisez la commande ssh pour vous connecter à servera en tant qu'utilisateur
student.
1.3. Ajoutez la variable shell PS1 et sa valeur au fichier ~/.bashrc. Définissez la valeur de
la variable shell, y compris un espace de fin à la fin, entre guillemets.
...output omitted...
export PATH
PS1='[\u@\h \t \w]$ '
RH124-RHEL9.0-fr-2-20220609 147
chapitre 5 | Création, affichage et modification de fichiers texte
2. Attribuez une valeur à une variable shell locale. Les noms de variables peuvent contenir des
lettres majuscules ou minuscules, des chiffres et le caractère de soulignement. Récupérez
la valeur de la variable.
2.1. Créez une variable appelée file avec la valeur tmp.zdkei083. Le fichier
tmp.zdkei083 existe dans le répertoire personnel student.
3. Attribuez une valeur à la variable editor. Utilisez une commande pour affecter la variable
en tant que variable d'environnement.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
148 RH124-RHEL9.0-fr-2-20220609
chapitre 5 | Création, affichage et modification de fichiers texte
RH124-RHEL9.0-fr-2-20220609 149
chapitre 5 | Création, affichage et modification de fichiers texte
Open Lab
Résultats
• Utiliser Vim pour modifier des fichiers.
• Utiliser le mode visuel Vim pour simplifier la modification de fichiers volumineux.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Sur workstation, créez la variable shell lab_file et affectez editing_final_lab.txt
en tant que valeur. Listez le répertoire personnel student, y compris les répertoires et les
fichiers cachés, et redirigez la sortie vers le fichier editing_final_lab.txt en utilisant la
variable shell.
2. Utiliser Vim pour modifier le fichier editing_final_lab.txt. Utilisez la variable shell
lab_file.
3. Passez en mode visuel sur ligne de Vim. Votre sortie d'écran peut être différente de ces
exemples. Supprimez les trois premières lignes du fichier editing_final_lab.txt.
4. Passez en mode visuel de Vim. Supprimez les sept derniers caractères de la première
colonne sur la première ligne. Ne conservez que les quatre premiers caractères de la
première colonne.
Utilisez les touches de direction pour positionner le curseur au niveau du dernier caractère de
la première colonne sur la première ligne. Supprimez la sélection en tapant x.
5. Passez en mode bloc visuel de Vim. Répétez l'opération de l'étape précédente, mais cette
fois, sélectionnez de la deuxième à la dernière ligne. Ne conservez que les quatre premiers
caractères de la première colonne.
6. Accédez au mode bloc visuel de Vim et supprimez la quatrième colonne du fichier.
7. Passez en mode bloc visuel de Vim pour supprimer la colonne time, mais laissez les colonnes
mois et jour sur toutes les lignes.
8. Accédez au mode de ligne visuel de Vim et supprimez les lignes qui contiennent les chaînes
Desktop et Public.
9. Enregistrez vos modifications, puis fermez le fichier.
150 RH124-RHEL9.0-fr-2-20220609
chapitre 5 | Création, affichage et modification de fichiers texte
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 151
chapitre 5 | Création, affichage et modification de fichiers texte
Solution
Résultats
• Utiliser Vim pour modifier des fichiers.
• Utiliser le mode visuel Vim pour simplifier la modification de fichiers volumineux.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Sur workstation, créez la variable shell lab_file et affectez editing_final_lab.txt
en tant que valeur. Listez le répertoire personnel student, y compris les répertoires et les
fichiers cachés, et redirigez la sortie vers le fichier editing_final_lab.txt en utilisant la
variable shell.
Sur la machine workstation, créez la variable shell lab_file et affectez la valeur
editing_final_lab.txt. Utilisez la commande ls -al dans le répertoire personnel
student et redirigez la sortie vers le fichier editing_final_lab.txt.
3. Passez en mode visuel sur ligne de Vim. Votre sortie d'écran peut être différente de ces
exemples. Supprimez les trois premières lignes du fichier editing_final_lab.txt.
Utilisez les touches de direction pour positionner le curseur sur le premier caractère de la
première ligne. Passez en mode visuel sur ligne avec Shift+V. Déplacez la sélection vers
le bas en appuyant deux fois sur la flèche vers le bas afin de sélectionner les trois premières
lignes. Supprimez les lignes en tapant x.
152 RH124-RHEL9.0-fr-2-20220609
chapitre 5 | Création, affichage et modification de fichiers texte
4. Passez en mode visuel de Vim. Supprimez les sept derniers caractères de la première
colonne sur la première ligne. Ne conservez que les quatre premiers caractères de la
première colonne.
Utilisez les touches de direction pour positionner le curseur au niveau du cinquième caractère
de la première colonne sur la première ligne. Passez en mode visuel en tapant v.
Utilisez les touches de direction pour positionner le curseur au niveau du dernier caractère de
la première colonne sur la première ligne. Supprimez la sélection en tapant x.
5. Passez en mode bloc visuel de Vim. Répétez l'opération de l'étape précédente, mais cette
fois, sélectionnez de la deuxième à la dernière ligne. Ne conservez que les quatre premiers
caractères de la première colonne.
Utilisez les touches de direction pour positionner le curseur au niveau du cinquième caractère
de la deuxième ligne. Passez en mode visuel en utilisant le raccourci clavier Ctrl+V. Utilisez
RH124-RHEL9.0-fr-2-20220609 153
chapitre 5 | Création, affichage et modification de fichiers texte
7. Passez en mode bloc visuel de Vim pour supprimer la colonne time, mais laissez les colonnes
mois et jour sur toutes les lignes.
Utilisez les touches de direction pour positionner le curseur sur le premier caractère de
la septième colonne actuelle. Passez en mode bloc visuel en tapant Ctrl+V. Utilisez
154 RH124-RHEL9.0-fr-2-20220609
chapitre 5 | Création, affichage et modification de fichiers texte
8. Accédez au mode de ligne visuel de Vim et supprimez les lignes qui contiennent les chaînes
Desktop et Public.
Utilisez les touches de direction pour placer le curseur sur un caractère quelconque de
la ligne Desktop. Passez en mode visuel avec un V majuscule. La ligne complète est
sélectionnée. Supprimez la sélection en tapant x. Répétez l'opération pour la ligne avec la
chaîne Public.
RH124-RHEL9.0-fr-2-20220609 155
chapitre 5 | Création, affichage et modification de fichiers texte
156 RH124-RHEL9.0-fr-2-20220609
chapitre 5 | Création, affichage et modification de fichiers texte
13. Vérifiez que la liste de répertoires se trouve à la fin du fichier de l'atelier. Utilisez la variable
shell lab_file.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 157
chapitre 5 | Création, affichage et modification de fichiers texte
Résumé
• Les programmes ou processus en cours d'exécution ont trois canaux de communication
standard : une entrée standard, une sortie standard et une erreur standard.
• Vous pouvez utiliser redirection des E/S pour lire l'entrée standard d'un fichier ou écrire la sortie
ou les erreurs d'un processus dans un fichier.
• Les pipelines permettent de connecter une sortie standard d'un processus à une entrée
standard d'un autre processus, et de formater la sortie ou de créer des commandes complexes.
• Vous devez savoir comment utiliser au moins un éditeur de texte en ligne de commande, et
Vim est l'option recommandée car il est généralement installé par défaut dans les distributions
Linux.
• Les variables shell peuvent vous aider à exécuter des commandes et sont uniques à une session
shell.
• Vous pouvez modifier le comportement du shell ou des processus avec les variables
d'environnement.
158 RH124-RHEL9.0-fr-2-20220609
chapitre 6
RH124-RHEL9.0-fr-2-20220609 159
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Résultats
Décrire l'objet des utilisateurs et des groupes sur un système Linux.
Les utilisateurs ont des noms d'utilisateur pour les identifier aux utilisateurs humains et faciliter le
travail. En interne, le système distingue les comptes d'utilisateurs par le numéro d'identification
unique, l'identifiant d'utilisateur ou UID, qui leur sont attribués. Dans la plupart des scénarios, si
un humain utilise un compte d'utilisateur, le système attribue un mot de passe secret à l'utilisateur
pour prouver qu'il est l'utilisateur autorisé à se connecter.
Les trois principaux types de comptes d'utilisateur sont super utilisateur, utilisateur système et
utilisateur normal.
• Le compte super utilisateur administre le système. Le nom du super utilisateur est root et le
compte est associé à l'UID 0. Le super utilisateur dispose d'un accès complet au système.
• Les comptes utilisateur système sont utilisés par des processus fournissant des services de
support. Ces processus, ou démons, n'ont généralement pas besoin de s'exécuter en tant
que super utilisateur. Il s'agit de comptes sans privilège assignés qui permettent de sécuriser
leurs fichiers et d'autres ressources les uns des autres et des utilisateurs standard du système.
Les utilisateurs ne se connectent pas de manière interactive à l'aide d'un compte d'utilisateur
système.
• La plupart des utilisateurs ont des comptes d'utilisateurs standard qu'ils utilisent pour leur
travail quotidien. Comme les utilisateurs système, les utilisateurs standard ont un accès limité au
système.
Utilisez la commande id pour afficher des informations sur l'utilisateur actuellement connecté.
[user01@host ~]$ id
uid=1000(user01) gid=1000(user01) groups=1000(user01)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Pour afficher des informations basiques sur un autre utilisateur, transmettez le nom d'utilisateur à
la commande id comme argument :
160 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Utilisez la commande ps pour afficher des informations relatives au processus. Par défaut, seul
les processus du shell actuel sont affichés. Utilisez la commande ps avec l'option -a pour afficher
tous les processus liés à un terminal. Utilisez la commande ps avec l'option -u pour afficher
l'utilisateur associé à un processus. Dans la sortie suivante, la première colonne indique le nom de
l'utilisateur.
Le résultat de la commande précédente affiche les utilisateurs par nom, mais en interne, le
système d'exploitation les repère à l'aide de leur identifiant utilisateur. La mise en correspondance
des noms d'utilisateur et des UID est définie dans les bases de données des informations sur les
comptes. Par défaut, les systèmes utilisent le fichier /etc/passwd pour stocker les informations
concernant les utilisateurs locaux.
Chaque ligne du fichier /etc/passwd contient des informations sur un utilisateur. Le fichier est
divisé en sept champs séparés par deux-points. Voici un exemple de ligne de /etc/passwd :
RH124-RHEL9.0-fr-2-20220609 161
chapitre 6 | Gestion des utilisateurs et des groupes locaux
• 1000 : numéro GID du groupe principal de ce compte utilisateur. Les groupes seront abordés
plus loin dans cette section.
• User One : bref commentaire, description ou nom réel de cet utilisateur.
• /home/user01 : répertoire personnel de l'utilisateur et répertoire de travail initial au
démarrage du shell de connexion.
• /bin/bash : programme shell par défaut de cet utilisateur, qui s'exécute lors de la connexion.
Certains comptes utilisent le shell /sbin/nologin pour interdire les connexions interactives
avec ce compte.
Comme les utilisateurs, les groupes ont des noms de groupe pour une reconnaissance plus facile.
En interne, le système distingue les comptes d'utilisateurs du numéro d'identification unique qui
leur est attribué : l'identifiant d'utilisateur ou UID . La mise en correspondance des noms de groupe
et des GID est définie dans les bases de données de gestion des identités des comptes de groupe.
Par défaut, les systèmes utilisent le fichier /etc/group pour stocker les informations concernant
les groupes locaux.
Chaque ligne du fichier /etc/group contient des informations sur un groupe. Chaque entrée
de groupe est divisée en quatre champs séparés par deux-points. Voici un exemple de ligne de /
etc/group :
Lors de la création d'un utilisateur standard, un groupe est créé avec le même nom que l'utilisateur,
pour être le groupe principal de l'utilisateur. L'utilisateur est le seul membre de ce groupe privé
d'utilisateurs. Cette conception d'appartenance à un groupe simplifie la gestion des autorisations
de fichier, afin que les groupes d'utilisateurs soient séparés par défaut.
Les utilisateurs peuvent également avoir des groupes secondaires. L'appartenance à des groupes
secondaires est stockée dans le fichier /etc/group. Les utilisateurs ont accès aux fichiers en
fonction de l'accès de l'un de leurs groupes indépendamment qu'il s'agisse de groupes principaux
ou secondaires. Par exemple, si l'utilisateur user01 a un groupe principal user01 et les groupes
supplémentaires wheel et webadmin, il peut alors lire les fichiers lisibles par l'un de ces trois
groupes.
162 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
[user01@host ~]$ id
uid=1001(user01) gid=1003(user01) groups=1003(user01),10(wheel),10000(webadmin)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Références
Pages de manuel id(1), passwd(5) et group(5)
(Notez que le paquetage glibc-devel doit être installé pour que ce nœud info
soit disponible.)
RH124-RHEL9.0-fr-2-20220609 163
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Quiz
164 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
RH124-RHEL9.0-fr-2-20220609 165
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Solution
166 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
RH124-RHEL9.0-fr-2-20220609 167
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Résultats
Se connecter en tant que super utilisateur pour gérer un système Linux et accorder à d'autres
utilisateurs un accès super utilisateur à l'aide de la commande sudo.
Le super utilisateur
La plupart des systèmes d'exploitation ont une sorte de super utilisateur qui a tout pouvoir sur le
système. Dans Red Hat Enterprise Linux, il s'agit de l'utilisateur root. Cet utilisateur a le pouvoir
d'outrepasser les privilèges normaux sur le système de fichiers. Vous pouvez l'utiliser pour gérer
et administrer le système. Pour les tâches comme l'installation ou la suppression de logiciels, et
pour gérer des fichiers et des répertoires du système, l'utilisateur doit augmenter ses privilèges au
niveau de ceux de l'utilisateur root.
En règle générale, seul l'utilisateur root, par rapport aux utilisateurs normaux, peut contrôler
la plupart des périphériques, à quelques exceptions près. Par exemple, les utilisateurs normaux
peuvent contrôler des périphériques amovibles, tels que des périphériques USB. Ainsi, les
utilisateurs normaux sont autorisés à ajouter et supprimer des fichiers et à gérer un périphérique
amovible, mais par défaut, seul l'utilisateur root peut gérer les disques durs.
Ce privilège illimité est toutefois assorti de responsabilités. L'utilisateur root a une capacité
infinie à endommager le système : suppression de fichiers et de répertoires, suppression de
comptes d'utilisateur, ajout de portes dérobées, etc. Si le compte d'utilisateur root est compromis,
le système est en danger et vous risquez de perdre le contrôle administratif. Red Hat encourage
les administrateurs à se connecter en tant qu'utilisateur normal et à n'augmenter leurs privilèges
au niveau root que lorsque cela est nécessaire.
Le compte root sous Linux équivaut à peu près au compte Administrator local sous Microsoft
Windows. Dans Linux, la plupart des administrateurs système se connectent à l'aide d'un compte
d'utilisateur sans privilège et utilisent divers outils pour disposer temporairement des privilèges
root.
Mise en garde
Les utilisateurs Microsoft Windows peuvent être habitués à se connecter en tant
qu'utilisateur local Administrator pour effectuer des tâches d'administrateur
système. Aujourd'hui, cette pratique n'est pas recommandée, les utilisateurs
obtiennent des privilèges pour effectuer l'administration par appartenance au
groupe Administrators. De même, dans RHEL, Red Hat recommande aux
administrateurs système de ne jamais se connecter directement en tant que root.
À la place, les administrateurs système se connectent en tant qu'utilisateur normal
et utiliser d'autres mécanismes (su, sudo ou PolicyKit, par exemple) pour
obtenir temporairement des privilèges de super utilisateur.
Une fois connecté en tant que root, tout l'environnement du bureau s'exécute
inutilement avec des privilèges administratifs. Une vulnérabilité de sécurité qui
pourrait normalement compromettre uniquement un compte d'utilisateur normal
peut potentiellement compromettre l'ensemble du système.
168 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Cet exemple utilise la commande su du compte user01 pour basculer vers le compte user02 :
Si vous omettez le nom d'utilisateur, la commande su ou su - tente de basculer vers root par
défaut.
[user01@host ~]$ su -
Password: root_password
[root@host ~]#
La commande su démarre un shell sans connexion, alors que la commande su - (avec l'option de
tiret) lance un shell de connexion. La principale différence qui existe entre ces deux commandes
est que su - configure l'environnement shell comme s'il s'agissait d'une nouvelle connexion sous
cette identité, alors que su lance un shell sous l'identité de cet utilisateur, mais en conservant les
paramètres d'environnement courants.
Dans la plupart des cas, les administrateurs doivent exécuter su - pour obtenir les paramètres
d'environnement normaux de l'utilisateur. Pour plus d'informations, consultez la page de manuel
bash(1).
Note
La commande su est le plus souvent utilisée pour obtenir une interface de ligne
de commande (une invite shell) exécutée sous l'identité d'un autre utilisateur,
généralement root. Cependant, vous pouvez l'utiliser avec la commande su avec
l'option -c pour lancer n'importe quel programme sous une autre identité. Ce
comportement est similaire à l'utilitaire runas de Windows. Exécutez info su
pour afficher davantage de détails.
À la différence de la commande su, sudo nécessite généralement que les utilisateurs entrent leur
propre mot de passe pour l'authentification, et non le mot de passe du compte d'utilisateur auquel
ils tentent d'accéder. Autrement dit, les utilisateurs qui utilisent la commande sudo pour exécuter
des commandes en tant que root n'ont pas besoin de connaître le mot de passe root. Au lieu de
cela, ils utilisent leurs propres mots de passe pour authentifier l'accès.
RH124-RHEL9.0-fr-2-20220609 169
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Le tableau suivant résume les différences entre les commandes su, su - et sudo :
su su - sudo
En outre, vous pouvez configurer la commande sudo pour autoriser des utilisateurs spécifiques
à exécuter une commande sous une autre identité, ou uniquement certaines commandes sous
l'identité de cet utilisateur. Par exemple, si vous configurez la commande sudo pour autoriser
l'utilisateur user01 à exécuter la commande usermod en tant que root, vous pouvez exécuter la
commande suivante pour verrouiller ou déverrouiller le compte d'un utilisateur :
Si un utilisateur essaie d'exécuter une commande sous une autre identité et que la configuration
sudo ne l'autorise pas, bash bloque la commande, consigne la tentative dans le journal et, par
défaut, envoie un e-mail à l'utilisateur root.
Un autre avantage de sudo est de consigner par défaut toutes les commandes exécutées dans
/var/log/secure.
Dans Red Hat Enterprise Linux 7 et les versions ultérieures, tous les membres du groupe wheel
peuvent utiliser sudo pour exécuter des commandes sous l'identité de n'importe quel utilisateur, y
compris root, avec leur propre mot de passe.
170 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Mise en garde
Historiquement, les systèmes UNIX utilisent l'appartenance au groupe wheel
pour accorder ou contrôler l'accès de super utilisateur. RHEL 6 et versions
antérieures n'accordait au groupe wheel aucun privilège particulier par défaut.
Les administrateurs système qui ont déjà utilisé ce groupe à des fins non standard
doivent mettre à jour une configuration précédente, afin d'éviter que des utilisateurs
inattendus et non autorisés n'obtiennent un accès administratif sur les systèmes
RHEL 7 et versions ultérieures.
Par exemple, un administrateur peut obtenir un shell interactif en tant que root sur une instance
AWS Elastic Cloud Computing (EC2) à l'aide de l'authentification SSH par clé publique pour se
connecter en tant qu'utilisateur normal ec2-user, puis exécuter la commande sudo -i pour
accéder au shell de l'utilisateur root.
Configuration de Sudo
Le fichier /etc/sudoers est le fichier de configuration principal associé à la commande sudo.
Pour éviter les problèmes si plusieurs administrateurs tentent de le modifier en même temps, vous
pouvez le modifier uniquement avec la commande visudo spéciale. L'éditeur visudo valide
également le fichier pour s'assurer qu'il n'y a pas d'erreur de syntaxe.
Par exemple, la ligne suivante du fichier /etc/sudoers active l'accès sudo pour les membres du
groupe wheel.
• La chaîne %wheel est l'utilisateur ou le groupe auquel la règle s'applique. Le symbole % avant le
mot wheel spécifie un groupe.
• La commande ALL=(ALL:ALL) spécifie que sur n'importe quel hôte avec ce fichier (le premier
ALL), les utilisateurs du groupe wheel peuvent exécuter des commandes en tant que n'importe
quel autre utilisateur (le deuxième ALL) et n'importe quel autre groupe (le troisième ALL) sur le
système.
• La commande ALL finale spécifie que les utilisateurs du groupe wheel peuvent exécuter
n'importe quelle commande.
Par défaut, le fichier /etc/sudoers comprend également le contenu de tous les fichiers du
répertoire /etc/sudoers.d dans le fichier de configuration. Avec cette hiérarchie, vous pouvez
ajouter l'accès sudo pour un utilisateur en mettant un fichier approprié dans ce répertoire.
RH124-RHEL9.0-fr-2-20220609 171
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Note
Il est pratique de placer les fichiers de configuration dans le répertoire /etc/
sudoers.d. Vous pouvez activer ou désactiver l'accès sudo en copiant un fichier
dans le répertoire ou en le supprimant.
Dans ce cours, vous créez et supprimez des fichiers dans le répertoire /etc/
sudoers.d pour configurer l'accès sudo pour les utilisateurs et les groupes.
Pour activer l'accès sudo complet pour l'utilisateur user01, vous pouvez créer le fichier /etc/
sudoers.d/user01 avec le contenu suivant :
Pour activer l'accès sudo complet pour le groupe group01, vous pouvez créer le fichier /etc/
sudoers.d/group01 avec le contenu suivant :
Vous pouvez également configurer sudo pour permettre à un utilisateur d'exécuter des
commandes sous une autre identité sans entrer son mot de passe avec la commande NOPASSWD:
ALL :
Bien que l'octroi de ce niveau d'accès à un utilisateur ou un groupe présente des risques évidents
pour la sécurité, les administrateurs système utilisent fréquemment cette approche avec des
instances de cloud, des machines virtuelles et des systèmes de provisionnement pour configurer
des serveurs. Vous devez soigneusement protéger le compte avec cet accès et demander une
authentification SSH par clé publique afin qu'un utilisateur sur un système distant puisse y
accéder.
Par exemple, l'Amazon Machine Image (AMI) officielle de Red Hat Enterprise Linux dans Amazon
Web Services Marketplace est fournie avec les mots de passe verrouillés root et ec2-user. Le
compte ec2-user est configuré pour permettre un accès interactif distant via l'authentification
SSH par clé publique. L'utilisateur ec2-user peut également exécuter une commande en
tant que root sans mot de passe car la dernière ligne du fichier /etc/sudoers de l'AMI est
configurée comme suit :
Vous pouvez réactiver l'obligation de saisir un mot de passe pour sudo ou apporter d'autres
modifications pour renforcer la sécurité dans le cadre de la configuration du système.
172 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Références
Pages de manuel su(1), sudo(8), visudo(8) et sudoers(5)
(Notez que le paquetage glibc-doc doit être installé pour que ce nœud info soit
disponible.)
RH124-RHEL9.0-fr-2-20220609 173
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Exercice guidé
Résultats
• Utiliser la commande sudo pour basculer vers l'utilisateur root et accéder au shell
interactif en tant que root sans connaître le mot de passe du super utilisateur.
• Expliquer comment les commandes su et su - affectent l'environnement shell en
exécutant ou non les scripts de connexion.
• Utilisez la commande sudo pour exécuter d'autres commandes en tant qu'utilisateur
root.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. À partir de workstation, ouvrez une session SSH sur servera en tant qu'utilisateur
student.
2.1. Exécutez id pour afficher les informations sur l'utilisateur et le groupe actuels.
[student@servera ~]$ id
uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
174 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
2.3. Imprimez les valeurs des variables HOME et PATH pour déterminer le chemin du
répertoire personnel et des exécutables de l'utilisateur, respectivement.
3. Basculez vers l'utilisateur root dans un shell sans connexion et explorez le nouvel
environnement shell.
3.1. Exécutez la commande sudo su à l'invite du shell pour devenir l'utilisateur root.
3.2. Exécutez id pour afficher les informations sur l'utilisateur et le groupe actuels.
[root@servera student]# id
uid=0(root) gid=0(root) groups=0(root)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
3.4. Imprimez les valeurs des variables HOME et PATH pour déterminer le chemin du
répertoire personnel et des exécutables de l'utilisateur, respectivement.
RH124-RHEL9.0-fr-2-20220609 175
chapitre 6 | Gestion des utilisateurs et des groupes locaux
3.5. Quittez le shell de l'utilisateur root pour revenir au shell de l'utilisateur student.
4.1. Exécutez la commande sudo su - à l'invite du shell pour devenir l'utilisateur root.
La commande sudo peut ou non vous demander le mot de passe student, en
fonction de la période d'expiration de sudo. La période d'expiration par défaut est
de cinq minutes. Si vous vous êtes authentifié auprès de sudo dans les cinq dernières
minutes, la commande sudo ne vous demande pas le mot de passe. Si cela fait plus
de cinq minutes que vous vous êtes authentifié auprès de sudo, vous devez entrer
student comme mot de passe pour être authentifié auprès de sudo.
4.2. Exécutez id pour afficher les informations sur l'utilisateur et le groupe actuels.
[root@servera ~]# id
uid=0(root) gid=0(root) groups=0(root)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
4.4. Imprimez les valeurs des variables HOME et PATH pour déterminer le chemin du
répertoire personnel et des exécutables de l'utilisateur, respectivement.
4.5. Quittez le shell de l'utilisateur root pour revenir au shell de l'utilisateur student.
176 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
5. Vérifiez que l'utilisateur operator1 peut exécuter n'importe quelle commande en tant
qu'utilisateur avec la commande sudo.
6.2. Essayez d'afficher les cinq dernières lignes de /var/log/messages sans utiliser
sudo. Cette opération doit échouer.
6.3. Essayez d'afficher les cinq dernières lignes de /var/log/messages avec sudo.
Cela doit fonctionner. Exemple de résultat : revenez au système workstation en
tant qu'utilisateur student.
Note
La sortie précédente peut différer sur votre système.
6.4. Essayez de faire une copie de /etc/motd comme /etc/motdOLD sans utiliser
sudo. Cette opération doit échouer.
RH124-RHEL9.0-fr-2-20220609 177
chapitre 6 | Gestion des utilisateurs et des groupes locaux
6.5. Essayez de faire une copie de /etc/motd comme /etc/motdOLD avec sudo. Cela
doit fonctionner.
6.6. Essayez de supprimer /etc/motdOLD sans utiliser sudo. Cette opération doit
échouer.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
178 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Résultats
Créer, modifier et supprimer des comptes d'utilisateurs locaux.
La commande useradd --help affiche les options de base permettent de remplacer les valeurs
par défaut. Dans la plupart des cas, vous pouvez utiliser les mêmes options avec la commande
usermod pour modifier un utilisateur existant.
Le fichier /etc/login.defs définit certaines valeurs par défaut des comptes d'utilisateurs,
comme la plage des numéros UID valides et les règles de vieillissement des mots de passe. Les
valeurs de ce fichier affectent uniquement les comptes d'utilisateurs nouvellement créés. Une
modification apportée à ce fichier n'affecte pas les utilisateurs existants.
Dans Red Hat Enterprise Linux 9, la commande useradd affecte aux nouveaux utilisateurs le
premier UID libre supérieur ou égal à 1000, sauf si vous spécifiez de manière explicite un UID à
l'aide de l'option -u.
RH124-RHEL9.0-fr-2-20220609 179
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Mise en garde
Lorsque vous supprimez un utilisateur sans spécifier l'option userdel -r, les
fichiers de l'utilisateur appartiennent à un UID non affecté. Si vous créez un
utilisateur et que l'UID de l'utilisateur supprimé est affecté à cet utilisateur, le
nouveau compte sera propriétaire de ces fichiers, ce qui représente un risque pour
la sécurité. En règle générale, les politiques de sécurité de l'organisation interdisent
la suppression des comptes d'utilisateur et empêchent leur utilisation, pour éviter ce
scénario.
L'exemple suivant montre comment cela peut entraîner une fuite d'informations :
Vous pouvez remarquer que user02 possède maintenant tous les fichiers
dont user01 était auparavant le propriétaire. L'utilisateur root peut utiliser la
commande find / -nouser -o -nogroup pour trouver tous les fichiers et
répertoires sans propriétaire.
180 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Un utilisateur standard doit choisir un mot de passe d'au moins huit caractères. N'utilisez pas un
mot du dictionnaire, le nom d'utilisateur ou le mot de passe précédent.
Plages d'UID
Red Hat Enterprise Linux utilise des numéros et plages de numéros UID à des fins spécifiques.
• UID 1-200 : UID de compte système affectés de manière statique aux processus système.
• UID 201-999 : UID attribués aux processus système qui ne possèdent pas de fichiers sur ce
système. Les logiciels qui nécessitent un UID sans privilège se voient attribuer dynamiquement
un UID à partir de ce pool disponible.
• UID 1000+ : plage d'UID à affecter aux utilisateurs standard sans privilèges.
Note
RHEL 6 et les versions antérieures utilisent des UID compris entre 1 et 499 pour les
utilisateurs système et des UID supérieurs à 500 pour les utilisateurs standard. Vous
pouvez modifier les plages par défaut useradd et groupadd dans le fichier /etc/
login.defs.
Références
Pages de manuel useradd(8), usermod(8) et userdel(8)
RH124-RHEL9.0-fr-2-20220609 181
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Exercice guidé
Résultats
• Configurer un système Linux avec des comptes d'utilisateur supplémentaires.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. À partir de workstation, ouvrez une session SSH sur servera en tant qu'utilisateur
student et basculez vers l'utilisateur root.
182 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
5. Mettez à jour les comptes d'utilisateur operator1 et operator2 afin d'y inclure les
commentaires Operator One et Operator Two, respectivement. Vérifiez que les
commentaires existent pour les comptes d'utilisateur.
5.1. Exécutez la commande usermod -c pour mettre à jour les commentaires du compte
d'utilisateur operator1.
5.2. Exécutez la commande usermod -c pour mettre à jour les commentaires du compte
d'utilisateur operator2.
5.3. Affichez le fichier /etc/passwd pour confirmer que les commentaires de chacun
des utilisateurs operator1 et operator2 existent.
6. Supprimez l'utilisateur operator3 ainsi que toutes ses données personnelles. Vérifiez que
operator3 n'existe pas.
RH124-RHEL9.0-fr-2-20220609 183
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Notez que la sortie précédente n'affiche pas les informations de compte d'utilisateur
de l'utilisateur operator3.
6.4. Quittez le shell de l'utilisateur root pour revenir au shell de l'utilisateur student.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
184 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Résultats
Créer, modifier et supprimer des comptes de groupes locaux.
La commande groupadd avec l'option -g spécifie un GID particulier pour le groupe à utiliser.
Note
En raison de la création automatique de groupes privés d'utilisateurs (GID 1000+),
certains administrateurs réservent une plage distincte de GID pour créer des
groupes secondaires à d'autres fins. Cependant, cette gestion supplémentaire n'est
pas nécessaire, car l'UID d'un utilisateur et le GID principal n'ont pas besoin d'être
identiques.
La commande groupadd avec l'option -r crée des groupes de systèmes. Comme avec les
groupes normaux, les groupes système utilisent un GID de la plage de GID système valides
listés dans le fichier /etc/login.defs. Les éléments de configuration SYS_GID_MIN et
SYS_GID_MAX dans le fichier /etc/login.defs définissent la plage de GID système.
RH124-RHEL9.0-fr-2-20220609 185
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Notez que le nom du groupe est mis à jour de group0022 vers group02. La commande
groupmod avec l'option -g sert à spécifier un nouveau GID.
Note
Vous ne pouvez pas supprimer un groupe s'il s'agit du groupe principal d'un
utilisateur existant. Comme pour la commande userdel, vérifiez d'abord pour vous
assurer de localiser les fichiers dont le groupe est propriétaire.
186 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Important
La commande usermod avec l'option -a active le mode d'ajout. Sans l'option -a,
la commande supprime l'utilisateur de l'un des groupes secondaires actuels qui ne
sont pas inclus dans la liste des options -G.
Les groupes secondaires d'un utilisateur sont les groupes supplémentaires configurés pour
l'utilisateur et affichés sur l'entrée de l'utilisateur dans le fichier /etc/group. Une utilisation peut
appartenir à autant de groupes secondaires que nécessaire pour mettre en œuvre efficacement
l'accès aux fichiers et les autorisations.
Pour la configuration des autorisations de fichiers basées sur les groupes, il n'y a pas de différence
entre les groupes principal et secondaire d'un utilisateur. Si l'utilisateur appartient à un groupe
auquel a été attribué l'accès à des fichiers spécifiques, cet utilisateur a accès à ces fichiers.
La seule distinction entre les appartenances principale et secondaire d'un utilisateur se produit
lorsqu'un utilisateur crée un fichier. Les nouveaux fichiers doivent avoir un propriétaire d'utilisateur
et un propriétaire de groupe, qui est affecté lors de la création du fichier. Le groupe principal de
l'utilisateur est utilisé pour la propriété du groupe du nouveau fichier, à moins qu'il ne soit remplacé
par des options de commande.
Utilisez la commande newgrp pour changer de groupe principal dans cette session shell. Vous
pouvez basculer entre n'importe quel groupe principal ou secondaire auquel vous appartenez,
mais un seul groupe à la fois peut être principal. Votre groupe principal reviendra le groupe par
défaut si vous vous déconnectez, puis vous reconnectez. Dans cet exemple, le groupe appelé
group01 devient temporairement le groupe principal de cet utilisateur.
[user03@host ~]# id
uid=1007(user03) gid=1009(user03) groups=1009(user03),10000(group01)
[user03@host ~]$ newgrp group01
[user03@host ~]# id
uid=1007(user03) gid=10000(group01) groups=1009(user03),10000(group01)
RH124-RHEL9.0-fr-2-20220609 187
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Références
Pages de manuel group(5), groupadd(8), groupdel(8) et usermod(8)
188 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Exercice guidé
Résultats
• Créer des groupes et les utiliser comme groupes secondaires.
• Configurer l'accès sudo pour un groupe.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande crée les comptes d'utilisateur nécessaires pour configurer correctement
l'environnement.
Instructions
1. À partir de workstation, ouvrez une session SSH sur servera en tant qu'utilisateur
student et basculez vers l'utilisateur root.
RH124-RHEL9.0-fr-2-20220609 189
chapitre 6 | Gestion des utilisateurs et des groupes locaux
6.3. Examinez le fichier /etc/group pour vérifier les membres des groupes secondaires.
6.4. Créez le fichier /etc/sudoers.d/admin de telle sorte que les membres du groupe
admin disposent de tous les privilèges administratifs.
190 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
6.5. Basculez vers l'utilisateur sysadmin1 (un membre du groupe admin) et vérifiez que
vous pouvez exécuter une commande sudo.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 191
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Résultats
Définir une politique de gestion des mots de passe pour les utilisateurs, ainsi que verrouiller et
déverrouiller manuellement les comptes d'utilisateur.
À l'instar du fichier /etc/passwd, chaque utilisateur dispose d'un accès dans le fichier /etc/
shadow. Un exemple d'entrée du fichier /etc/shadow comporte neuf champs séparés par des
deux-points :
$6$CSsXcYG1L/4ZfHr/$2W6evvJahUfzfHpc9X.45Jc6H30E
192 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
• CSsXcYG1L/4ZfHr/ : sel utilisé pour chiffrer le mot de passe ; initialement choisi au hasard.
• 2W6evvJahUfzfHpc9X.45Jc6H30E : hachage chiffré du mot de passe de l'utilisateur ; le sel
et le mot de passe non chiffré sont combinés, puis chiffrés pour générer le hachage de mot de
passe.
L'association d'un sel au mot de passe sert principalement à se défendre contre les attaques
utilisant des listes précalculées de hachages de mots de passe. L'ajout de sels modifie les
hachages obtenus, de sorte que la liste précalculée est inutile. Si un attaquant obtient une copie
d'un fichier /etc/shadow qui utilise des sels, il doit deviner les mots de passe par force brute, ce
qui nécessite plus de temps et d'efforts.
L'exemple suivant illustre la commande chage pour modifier la politique de mot de passe de
l'utilisateur sysadmin05. La commande définit un âge minimum (-m) de zéro jour, un âge
maximum (-M) de 90 jours, une période d'avertissement (-W) de 7 jours et une période d'inactivité
(-I) de 14 jours.
Supposons que vous gériez les politiques de mot de passe des utilisateurs sur un serveur Red Hat.
L'utilisateur cloudadmin10 est nouveau dans le système et vous souhaitez définir une politique
de vieillissement de mot de passe personnalisée. Vous souhaitez définir l'expiration du compte
dans 30 jours à partir d'aujourd'hui, vous utilisez donc les commandes suivantes :
RH124-RHEL9.0-fr-2-20220609 193
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Utilisez la commande chage avec l'option -E pour modifier la date d'expiration de l'utilisateur
cloudadmin10.
Après quelques jours, vous remarquez dans le fichier journal /var/log/secure que l'utilisateur
cloudadmin10 a un comportement étrange. L'utilisateur a essayé d'utiliser sudo pour interagir
avec des fichiers appartenant à d'autres utilisateurs. Vous pensez que l'utilisateur a peut-être
laissé une session ssh ouverte alors qu'il travaillait sur une autre machine. Vous souhaitez que
l'utilisateur cloudadmin10 modifie le mot de passe lors de la prochaine connexion. Pour ce faire,
vous utilisez la commande suivante.
La prochaine fois que l'utilisateur cloudadmin10 se connecte, il est invité à modifier le mot de
passe.
Note
La commande date peut calculer une date ultérieure. L'option -u indique l'heure en
UTC.
Vous pouvez modifier la configuration de vieillissement du mot de passe par défaut dans le
fichier /etc/login.defs. Les options PASS_MAX_DAYS et PASS_MIN_DAYS définissent
respectivement l'âge maximum et minimum par défaut du mot de passe. La variable
PASS_WARN_AGE représente la période d'avertissement par défaut du mot de passe. Toute
modification des politiques de vieillissement des mots de passe par défaut affecte les utilisateurs
créés après la modification. Les utilisateurs existants continuent à utiliser les anciens paramètres
de péremption du mot de passe plutôt que les nouveaux. Pour plus d'informations sur le fichier /
etc/login.defs, reportez-vous au cours Sécurité de Red Hat : Linux dans des environnements
physiques, virtuels et cloud (RH415) et à la page de manuel login.defs(5).
194 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Restriction d'accès
Vous pouvez utiliser la commande usermod pour modifier les dates d'expiration d'un utilisateur.
Par exemple, la commande usermod avec l'option -L verrouille un compte d'utilisateur et
l'utilisateur ne peut pas se connecter au système.
Si un utilisateur quitte l'entreprise a une certaine date, l'administrateur peut verrouiller et faire
expirer le compte avec une seule commande usermod. La date doit correspondre au nombre
de jours depuis le 1970-01-01 ou utiliser le format AAAA-MM-JJ. Dans l'exemple suivant, la
commande usermod verrouille et fait expirer l'utilisateur cloudadmin10 le 2022-08-14.
Le shell nologin
Le shell nologin agit en tant que shell de substitution pour les comptes d'utilisateur qui ne
sont pas prévus pour se connecter de manière interactive au système. Une bonne pratique en
matière de sécurité consiste à empêcher un compte de se connecter au système lorsqu'il n'en a
pas besoin. Par exemple, un serveur de messagerie peut exiger un compte pour le stockage du
courrier et un mot de passe pour permettre à l'utilisateur de s'authentifier auprès d'un client de
messagerie pour récupérer le courrier. Cet utilisateur n'a pas besoin de se connecter directement
au système.
La solution courante à cette situation est de définir le shell de connexion de l'utilisateur sur /
sbin/nologin. Si l'utilisateur tente de se connecter directement au système, le shell nologin
ferme simplement la connexion.
Important
Le shell nologin empêche l'utilisation interactive du système, mais ne bloque
pas tous les accès. Les utilisateurs peuvent être en mesure de s'authentifier pour
envoyer ou récupérer des fichiers par le biais d'applications comme les navigateurs
Web, les programmes de transfert de fichiers ou les programmes de lecture de
courrier s'ils utilisent le mot de passe de l'utilisateur pour s'authentifier.
RH124-RHEL9.0-fr-2-20220609 195
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Références
Pages de manuel chage(1), usermod(8), shadow(5), crypt(3) et login.defs(5)
196 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Exercice guidé
Résultats
• Forcer un changement de mot de passe lorsque l'utilisateur se connecte au système pour
la première fois.
• Forcer un changement de mot de passe tous les 90 jours.
• Configurer le compte pour qu'il expire 180 jours à compter du jour actuel.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. À partir de workstation, ouvrez une session SSH en tant que student sur servera.
2.1. En tant qu'utilisateur student, utilisez les droits d'administration pour verrouiller le
compte operator1.
2.2. Tentez de vous connecter en tant qu'operator1. Cette commande doit échouer.
RH124-RHEL9.0-fr-2-20220609 197
chapitre 6 | Gestion des utilisateurs et des groupes locaux
2.4. Tentez de vous connecter à nouveau en tant qu'operator1. Cette fois, la commande
doit aboutir.
3.2. Définissez l'âge maximal du mot de passe de l'utilisateur operator1 sur 90 jours.
3.3. Vérifiez que le mot de passe de l'utilisateur operator1 expire 90 jours après sa
modification.
198 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
6.2. Quittez le shell de l'utilisateur operator1 pour revenir à l'utilisateur student, puis
basculez vers l'utilisateur root.
7. Configurez le compte operator1 pour qu'il expire 180 jours à compter du jour actuel.
7.1. Déterminez une date située 180 jours dans le futur. Utilisez le format %F avec la
commande date pour obtenir la valeur exacte. La date renvoyée ici est un exemple ;
utilisez la valeur sur votre système pour les étapes suivant celle-ci.
7.2. Définissez le compte pour qu'il expire à la date affichée à l'étape précédente. Par
exemple :
RH124-RHEL9.0-fr-2-20220609 199
chapitre 6 | Gestion des utilisateurs et des groupes locaux
8. Définissez les mots de passe pour qu'ils expirent 180 jours à compter de la date actuelle
pour tous les utilisateurs. Utilisez les droits administratifs pour modifier le fichier de
configuration.
8.1. Définissez PASS_MAX_DAYS sur 180 dans /etc/login.defs. Utilisez les droits
administratifs lorsque vous ouvrez le fichier avec l'éditeur de texte. Vous pouvez
utiliser la commande vim /etc/login.defs pour effectuer cette étape.
...output omitted...
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be
# used.
# PASS_MIN_DAYS Minimum number of days allowed between
# password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a
# password expires.
#
PASS_MAX_DAYS 180
PASS_MIN_DAYS 0
PASS_WARN_AGE 7
...output omitted...
Important
Les paramètres d'expiration de mot de passe et de compte par défaut s'appliquent
aux nouveaux utilisateurs, mais pas aux utilisateurs existants.
200 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 201
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Open Lab
Résultats
• Définir une politique de péremption du mot de passe par défaut pour le mot de passe de
l'utilisateur local.
• Créer et utiliser un groupe secondaire pour les nouveaux utilisateurs.
• Créer trois utilisateurs avec le nouveau groupe secondaire.
• Définir un mot de passe initial pour les utilisateurs créés.
• Configurer les membres du groupe secondaire pour qu'ils utilisent la commande sudo
pour exécuter n'importe quelle commande en tant qu'utilisateur.
• Définir une politique de péremption de mot de passe propre à l'utilisateur.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. À partir de la machine workstation, ouvrez une session SSH sur la machine serverb en
tant qu'utilisateur student et basculez vers l'utilisateur root.
2. Sur la machine serverb, assurez-vous que les nouveaux utilisateurs changent leur mot de
passe tous les 30 jours.
3. Créez le groupe consultants avec le GID 35000.
4. Configurez les droits administratifs de tous les membres du groupe consultants pour
exécuter n'importe quelle commande en tant qu'utilisateur.
5. Créez les utilisateurs consultant1, consultant2 et consultant3 avec le groupe
consultants comme groupe secondaire.
6. Définissez les mot de passe consultant1, consultant2 et consultant3 sur redhat.
7. Définissez les comptes consultant1, consultant2 et consultant3 pour qu'ils expirent
dans 90 jours à compter du jour actuel.
8. Changez la politique de mot de passe du compte consultant2, pour qu'elle exige un
nouveau mot de passe tous les 15 jours.
202 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 203
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Solution
Résultats
• Définir une politique de péremption du mot de passe par défaut pour le mot de passe de
l'utilisateur local.
• Créer et utiliser un groupe secondaire pour les nouveaux utilisateurs.
• Créer trois utilisateurs avec le nouveau groupe secondaire.
• Définir un mot de passe initial pour les utilisateurs créés.
• Configurer les membres du groupe secondaire pour qu'ils utilisent la commande sudo
pour exécuter n'importe quelle commande en tant qu'utilisateur.
• Définir une politique de péremption de mot de passe propre à l'utilisateur.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. À partir de la machine workstation, ouvrez une session SSH sur la machine serverb en
tant qu'utilisateur student et basculez vers l'utilisateur root.
2. Sur la machine serverb, assurez-vous que les nouveaux utilisateurs changent leur mot de
passe tous les 30 jours.
204 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
...output omitted...
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be
# used.
# PASS_MIN_DAYS Minimum number of days allowed between
# password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a
# password expires.
#
PASS_MAX_DAYS 30
PASS_MIN_DAYS 0
PASS_WARN_AGE 7
...output omitted...
4. Configurez les droits administratifs de tous les membres du groupe consultants pour
exécuter n'importe quelle commande en tant qu'utilisateur.
RH124-RHEL9.0-fr-2-20220609 205
chapitre 6 | Gestion des utilisateurs et des groupes locaux
7.1. Déterminez une date située 90 jours dans le futur. La date renvoyée ici est un
exemple ; la valeur affichée, à utiliser dans l'étape suivante, correspond à la date et à
l'heure actuelles dans votre système.
9.1. Définissez le dernier jour du changement de mot de passe sur 0 de sorte que les
utilisateurs soient obligés de changer le mot de passe lors de leur première connexion
au système.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
206 RH124-RHEL9.0-fr-2-20220609
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 207
chapitre 6 | Gestion des utilisateurs et des groupes locaux
Résumé
• Les types de comptes d'utilisateur dans Linux sont : super utilisateur, utilisateur système et
utilisateur normal.
• Vous pouvez exécuter des commandes en tant que super utilisateur avec les commandes su et
sudo.
• La commande chage affiche et configure les paramètres d'expiration du mot de passe pour les
utilisateurs.
208 RH124-RHEL9.0-fr-2-20220609
chapitre 7
RH124-RHEL9.0-fr-2-20220609 209
chapitre 7 | Contrôle de l'accès aux fichiers
Résultats
Lister les permissions du système de fichiers sur les fichiers et les répertoires, et évaluez l'effet de
ces permissions sur l'accès des utilisateurs et des groupes.
Les fichiers sont associés à trois catégories d'utilisateurs, auxquelles s'appliquent des permissions.
Le fichier est la propriété d'un utilisateur, généralement le créateur du fichier. Le fichier appartient
également à un groupe unique. Il s'agit généralement du groupe principal dont dépend l'utilisateur
ayant créé le fichier. Vous pouvez toutefois modifier ce groupe.
Vous pouvez définir des permissions différentes pour l'utilisateur propriétaire (permissions de
l'utilisateur), le groupe propriétaire (permissions du groupe) et tous les autres utilisateurs du
système autres que l'utilisateur ou un membre du groupe propriétaire (permissions des autres).
Les permissions les plus spécifiques prévalent. Les permissions de l'utilisateur prévalent sur les
permissions du groupe, lesquelles priment sur les les autres permissions.
Comme exemple de la façon dont l'appartenance à un groupe facilite la collaboration entre les
utilisateurs, imaginez que votre système a deux utilisateurs : alice et bob. alice est membre
des groupes alice et web, et bob est membre des groupes bob, wheel et web. Quand alice
et bob collaborent, les fichiers doivent être associés au groupe web, et les permissions du groupe
doivent autoriser les deux utilisateurs à accéder aux fichiers.
Il existe trois catégories de permissions : lecture, écriture et exécution. Le tableau suivant explique
comment ces permissions affectent l'accès aux fichiers et répertoires.
w (écriture) Le contenu du fichier Des fichiers peuvent être créés dans le répertoire
peut être modifié. ou supprimés de celui-ci.
210 RH124-RHEL9.0-fr-2-20220609
chapitre 7 | Contrôle de l'accès aux fichiers
Si un utilisateur dispose uniquement d'un accès en lecture à un répertoire, il peut lister les noms
des fichiers qu'il contient. Cependant, l'utilisateur ne peut pas accéder à d'autres informations,
telles que les permissions ou les horodatages. Si un utilisateur dispose uniquement d'un accès
d'exécution sur un répertoire, il ne peut pas lister les noms de fichiers dans le répertoire. S'il
connaît le nom d'un fichier qu'il est autorisé à lire, il peut accéder au contenu de ce fichier depuis
l'extérieur du répertoire en spécifiant explicitement le nom de fichier relatif.
Toute personne qui possède ou a des permissions d'écriture sur un répertoire peut supprimer
des fichiers sur celui-ci, indépendamment de la propriété ou des permissions sur le fichier lui-
même. Vous pouvez ignorer ce comportement en utilisant la permission sticky bit, présentée
ultérieurement dans ce chapitre.
Note
Les permissions de fichier Linux fonctionnent différemment des permissions de
système de fichiers NTFS de Microsoft. Sous Linux, les permissions s'appliquent
uniquement au fichier ou répertoire sur lequel elles sont définies. Les sous-
répertoires d'un répertoire n'héritent pas automatiquement des permissions du
répertoire parent. Toutefois, les permissions de répertoire peuvent bloquer l'accès
au contenu du répertoire en fonction de leur degré de restriction.
La permission read sur un répertoire Linux est similaire à List folder contents
sous Windows. La permission write sur un répertoire Linux est similaire à Modify
sous Windows. Elle implique la possibilité de supprimer des fichiers et des sous-
répertoires. Sous Linux, avec les permissions write et le sticky bit sur un répertoire,
seul l'utilisateur ou le propriétaire du groupe peut supprimer des fichiers, ce qui est
similaire au comportement Write de Windows.
Utilisez la commande ls avec l'option -d pour afficher les informations détaillées du répertoire
lui-même, et non de son contenu.
Le premier caractère de la longue liste est le type de fichier ; il doit être interprété comme suit :
RH124-RHEL9.0-fr-2-20220609 211
chapitre 7 | Contrôle de l'accès aux fichiers
Les neuf caractères suivants représentent les permissions de fichier. Ces caractères sont
interprétés comme trois ensembles de trois caractères : le premier ensemble correspond aux
permissions qui s'appliquent au propriétaire du fichier, le second ensemble correspond au groupe
propriétaire du fichier et le dernier ensemble s'applique à tous les autres utilisateurs (mondiaux).
Si un ensemble est une chaîne rwx, il possède les trois autorisations : lire, écrire et exécuter. Si une
lettre a été remplacée par un tiret -, alors cet ensemble n'a pas cette permission.
Après la deuxième colonne (nombre de liens), le premier nom spécifie le propriétaire du fichier et
le deuxième nom, le groupe à qui appartient le fichier.
Ces utilisateurs travaillent avec des fichiers dans le répertoire dir. La longue liste de fichiers
présents dans ce répertoire se présente comme suit :
212 RH124-RHEL9.0-fr-2-20220609
chapitre 7 | Contrôle de l'accès aux fichiers
La commande ls avec l'option -a affiche les permissions des fichiers cachés, y compris les
fichiers spéciaux utilisés pour représenter le répertoire et son parent. Dans cet exemple, le
répertoire spécial . reflète les permissions de dir lui-même et le répertoire spécial .. les
permissions de son répertoire parent.
Le tableau suivant explore certains des effets de cet ensemble de permissions sur ces utilisateurs :
RH124-RHEL9.0-fr-2-20220609 213
chapitre 7 | Contrôle de l'accès aux fichiers
Références
Page de manuel (1)ls
214 RH124-RHEL9.0-fr-2-20220609
chapitre 7 | Contrôle de l'accès aux fichiers
Quiz
1. Quel est le fichier standard que l'utilisateur operator1 possède et que tous les
utilisateurs peuvent lire ?
a. app1.log
b. app2.log
c. db1.conf
d. db2.conf
RH124-RHEL9.0-fr-2-20220609 215
chapitre 7 | Contrôle de l'accès aux fichiers
216 RH124-RHEL9.0-fr-2-20220609
chapitre 7 | Contrôle de l'accès aux fichiers
Solution
1. Quel est le fichier standard que l'utilisateur operator1 possède et que tous les
utilisateurs peuvent lire ?
a. app1.log
b. app2.log
c. db1.conf
d. db2.conf
RH124-RHEL9.0-fr-2-20220609 217
chapitre 7 | Contrôle de l'accès aux fichiers
218 RH124-RHEL9.0-fr-2-20220609
chapitre 7 | Contrôle de l'accès aux fichiers
Résultats
Changer les permissions et la propriété des fichiers avec des outils de ligne de commande.
Who est la classe de l'utilisateur, comme indiqué dans le tableau suivant. Si vous ne fournissez pas
de classe d'utilisateur, la commande chmod utilise le groupe all par défaut.
What est l'opérateur qui modifie Which, comme indiqué dans le tableau ci-dessous.
Which est le mode. Il spécifie les permissions des fichiers ou des répertoires, comme indiqué dans
le tableau ci-dessous.
RH124-RHEL9.0-fr-2-20220609 219
chapitre 7 | Contrôle de l'accès aux fichiers
La méthode symbolique de modification des permissions de fichier utilise des lettres pour
représenter les différents groupes de permissions : u pour l'utilisateur, g pour le groupe, o pour les
autres (other) et a pour tous (all).
Avec la méthode symbolique, vous n'avez pas besoin de définir un nouveau groupe de permissions
dans son ensemble. Vous pouvez, au contraire, modifier une ou plusieurs des permissions
existantes. Utilisez le signe plus (+) ou moins (-) pour ajouter ou supprimer des permissions,
respectivement, ou le signe égal (=) pour remplacer un groupe de permissions dans son
intégralité.
Une seule lettre représente les permissions proprement dites : r pour la lecture, w pour l'écriture
et x pour l'exécution. Vous pouvez utiliser un X majuscule comme indicateur de permission pour
ajouter des permissions d'exécution uniquement si le fichier est un répertoire ou si la permission
d'exécution (execute) est déjà définie pour l'utilisateur, le groupe ou autre.
La liste suivante présente quelques exemples de modification des permissions avec la méthode
symbolique :
Supprimez les permissions de lecture et d'écriture du groupe et des autres sur le fichier
document.pdf :
Vous pouvez utiliser la commande chmod avec l'option -R pour définir des permissions de manière
récursive sur les fichiers de toute une arborescence de répertoires. Par exemple, la commande
next ajoute de manière récursive les permissions de lecture, d'écriture et d'exécution aux membres
du répertoire myfolder et aux fichiers et répertoires qu'il contient.
Vous pouvez également associer la commande chmod avec l'option -R à l'option -X pour définir
les permissions de manière symbolique. La commande chmod avec l'option X vous permet de
définir la permission d'exécution (recherche) sur les répertoires, de sorte que leur contenu soit
accessible sans avoir à modifier les permissions de la plupart des fichiers. Restez toutefois prudent
220 RH124-RHEL9.0-fr-2-20220609
chapitre 7 | Contrôle de l'accès aux fichiers
avec l'option X, car si un fichier est associé à un ensemble de permissions d'exécution, l'option X
définit également la permission d'exécution spécifiée sur ce fichier.
Par exemple, la commande suivante définit de manière récursive un accès en lecture et en écriture
au répertoire demodir, ainsi qu'à tous ses enfants, pour le propriétaire du groupe, mais applique
les permissions d'exécution de groupe uniquement aux répertoires et aux fichiers ayant déjà une
exécution définie pour user, group ou other.
Avec la méthode octale, les permissions sont représentées par un nombre octal à trois chiffres (ou
quatre, pour les permissions avancées). Un seul chiffre octal peut représenter n'importe quelle
valeur de 0 à 7.
Dans la représentation octale à trois chiffres des permissions, chaque chiffre représente un niveau
d'accès, de gauche à droite : utilisateur (user), groupe (group), autre (other). Pour déterminer
chaque chiffre :
• Commencez par 0.
• Si vous souhaitez ajouter des permissions de lecture pour ce niveau d'accès, ajoutez 4.
• Si vous souhaitez ajouter des permissions d'écriture, ajoutez 2.
• Si vous souhaitez ajouter des permissions d'exécution, ajoutez 1.
Le schéma suivant illustre la manière dont les systèmes interprètent la valeur de permission octale
644.
Les administrateurs expérimentés utilisent souvent des autorisations octales, car elles sont plus
faciles à mettre en œuvre sur des fichiers uniques ou correspondants, tout en offrant un contrôle
total des permissions.
La liste suivante présente quelques exemples de modification des permissions avec la méthode
octale :
RH124-RHEL9.0-fr-2-20220609 221
chapitre 7 | Contrôle de l'accès aux fichiers
Définissez les permissions de lecture et d'écriture pour l'utilisateur, ainsi que les permissions de
lecture pour le groupe et les autres sur le fichier sample.txt :
Définissez les permissions de lecture, d'écriture et d'exécution pour l'utilisateur, les permissions
de lecture et d'exécution pour le groupe, et aucune permission pour les autres sur le répertoire
sampledir :
Seul l'utilisateur root peut modifier l'utilisateur propriétaire d'un fichier. Cependant, le
propriétaire du fichier et l'utilisateur root peuvent définir la propriété du groupe. L'utilisateur
root peut accorder la propriété du fichier à n'importe quel groupe, mais seuls les utilisateurs
standard peuvent modifier la propriété du groupe du fichier s'ils sont membres du groupe de
destination.
Vous pouvez modifier la propriété d'un fichier à l'aide de la commande chown (modifier le
propriétaire). Par exemple, pour accorder la propriété du fichier app.conf à l'utilisateur student,
utilisez la commande suivante :
Vous pouvez également utiliser la commande chown pour modifier la propriété de groupe d'un
fichier en faisant précéder le nom du groupe de deux-points (:). Par exemple, la commande
suivante permet de faire passer la propriété de groupe du répertoire Pictures sur admins :
222 RH124-RHEL9.0-fr-2-20220609
chapitre 7 | Contrôle de l'accès aux fichiers
Au lieu d'utiliser la commande chown, certains utilisateurs changent la propriété du groupe avec la
commande chgrp. Cette commande fonctionne de la même manière que chown, sauf que vous
ne pouvez l'utiliser que pour changer la propriété du groupe et les deux-points (:) avant le nom du
groupe ne sont pas nécessaires.
Important
Vous pouvez rencontrer une syntaxe chown alternative qui sépare le propriétaire et
le groupe avec un point au lieu de deux-points :
Red Hat recommande de ne pas utiliser cette syntaxe et de toujours utiliser les
deux-points. Comme le point est un caractère valide dans un nom d'utilisateur, la
commande chown risque de mal interpréter votre intention. La commande peut
interpréter l'utilisateur et le groupe comme un nom de fichier. Utilisez plutôt les
deux-points lors de la définition simultanée de l'utilisateur et du groupe.
Références
Pages du manuel ls(1), chmod(1), chown(1) et chgrp(1)
RH124-RHEL9.0-fr-2-20220609 223
chapitre 7 | Contrôle de l'accès aux fichiers
Exercice guidé
Résultats
• Créer un répertoire de collaboration accessible à tous les membres d'un groupe particulier
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. À partir de workstation, connectez-vous à servera en tant qu'utilisateur student et
basculez vers l'utilisateur root.
4. Vérifiez que les permissions du groupe consultants permettent à ses membres de créer
et de supprimer des fichiers dans le répertoire /home/consultants. Utilisez la méthode
symbolique pour définir les autorisations appropriées.
Ces permissions doivent empêcher les autres utilisateurs d'accéder aux fichiers. Utilisez la
méthode octale pour définir les autorisations appropriées.
224 RH124-RHEL9.0-fr-2-20220609
chapitre 7 | Contrôle de l'accès aux fichiers
4.1. Vérifiez que les permissions du groupe consultants permettent à ses membres de
créer et de supprimer des fichiers dans le répertoire /home/consultants.
Notez que le groupe consultants ne dispose actuellement pas de la permission
d'écriture.
5. Quittez le shell root et basculez vers l'utilisateur consultant1. Le mot de passe est
redhat.
7. Listez la propriété par défaut des utilisateurs et groupes du nouveau fichier et ses
permissions.
8. Veillez à ce que tous les membres du groupe consultants puissent modifier le fichier
consultant1.txt. Transférez la propriété du groupe du fichier consultant1.txt au
groupe consultants.
RH124-RHEL9.0-fr-2-20220609 225
chapitre 7 | Contrôle de l'accès aux fichiers
9. Quittez le shell et basculez vers l'utilisateur consultant2. Le mot de passe est redhat.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
226 RH124-RHEL9.0-fr-2-20220609
chapitre 7 | Contrôle de l'accès aux fichiers
Résultats
Contrôler les permissions par défaut des fichiers créés par les utilisateurs, expliquer l'effet des
autorisations spéciales, et utiliser des autorisations spéciales et par défaut pour définir le groupe
propriétaire des fichiers créés dans un répertoire.
Permissions spéciales
Les permissions spéciales constituent un quatrième type de permission en plus des types
d'utilisateur, de groupe et autres de base. Comme leur nom l'indique, ces permissions fournissent
des fonctions d'accès supplémentaires au-delà des possibilités offertes par les types de
permission de base. Cette section détaille l'impact des permissions spéciales, résumées dans le
tableau ci-dessous.
g+s (sgid) Le fichier s'exécute sous Les fichiers créés dans le répertoire ont un
l'identité du groupe qui en propriétaire de groupe qui correspond au
est le propriétaire. propriétaire de groupe du répertoire.
o+t (sticky) Sans effet. Les utilisateurs qui ont accès en écriture
au répertoire ne peuvent supprimer que les
fichiers qu'ils possèdent. Ils ne peuvent pas
supprimer ni forcer l'enregistrement sur ceux
qui appartiennent à d'autres utilisateurs.
La permission setuid d'un fichier exécutable indique que les commandes sont exécutées au nom
de l'utilisateur propriétaire du fichier, et non au nom de l'utilisateur qui a exécuté la commande. La
commande passwd est un bon exemple :
Dans une liste longue, vous pouvez repérer les permissions setuid au s minuscule présent à
l'endroit où se trouve normalement le caractère x (permissions d'exécution pour le propriétaire).
Si le propriétaire ne dispose pas des permissions d'exécution, ce caractère est remplacé par un S
majuscule.
RH124-RHEL9.0-fr-2-20220609 227
chapitre 7 | Contrôle de l'accès aux fichiers
La permission spéciale setgid sur un répertoire indique que les fichiers créés dans ce répertoire
héritent de la propriété de groupe de ce répertoire, plutôt que de la propriété du groupe de
l'utilisateur qui les a créés. Cette fonctionnalité sert généralement pour les répertoires de
collaboration de groupe, afin d'attribuer automatiquement un fichier au groupe partagé, au
lieu du groupe privé par défaut, ou dans le cas où les fichiers d'un répertoire doivent toujours
appartenir à un groupe spécifique. Le répertoire /run/log/journal constitue un exemple de ce
comportement :
Si la permission setgid est définie sur un fichier exécutable, les commandes sont exécutées au
nom du groupe propriétaire du fichier, et non au nom de l'utilisateur qui a exécuté la commande.
Cette condition est similaire à la façon dont setuid fonctionne. La commande locate est un
bon exemple :
Dans une liste longue, vous pouvez repérer les permissions setgid au s minuscule présent à
l'endroit où se trouve normalement le caractère x (permissions d'exécution pour le groupe). Si le
groupe ne dispose pas des permissions d'exécution, ce caractère est remplacé par un S majuscule.
Enfin, le sticky bit d'un répertoire définit une restriction spéciale sur la suppression de fichiers. Seul
le propriétaire du fichier (et l'utilisateur root) peut supprimer des fichiers dans le répertoire. Le
répertoire /tmp en est un exemple :
Dans une liste longue, vous pouvez repérer les permissions sticky au t minuscule présent à
l'endroit où se trouve normalement le caractère x (permissions d'exécution pour les autres). Si
"other" ne dispose pas des permissions d'exécution, ce caractère est remplacé par un T majuscule.
228 RH124-RHEL9.0-fr-2-20220609
chapitre 7 | Contrôle de l'accès aux fichiers
Si vous créez un répertoire, ses permissions octales initiales sont 0777 (drwxrwxrwx). Si vous
créez un fichier standard, ses permissions octales initiales sont 0666 (-rw-rw-rw-). Vous devez
toujours explicitement ajouter la permission d'exécution à un fichier standard. Cette étape rend
plus difficile pour un attaquant de compromettre un système, de créer un fichier malveillant et de
l'exécuter.
De plus, la session shell définit un umask pour restreindre davantage les permissions initiales
d'un fichier. L'umask est un masque de bits octal qui désactive les permissions des nouveaux
fichiers et répertoires créés par un processus. Si un bit est défini dans l'umask, il bloque la
permission correspondante pour les nouveaux fichiers. Par exemple, l'umask précédent 0002
bloque le bit d'écriture des autres utilisateurs. Les zéros en préfixe indiquent que les permissions
spéciales, d'utilisateur et de groupe ne sont pas bloquées. Un umask égal à 0077 bloque toutes
les permissions pour le groupe et pour les autres, pour tous les fichiers nouvellement créés.
Utilisez la commande umask avec un seul argument octal pour modifier l'umask du shell courant.
L'argument doit être une valeur octale qui correspond à la nouvelle valeur de l'umask. Vous pouvez
omettre les zéros en préfixe dans l'umask.
Les valeurs umask par défaut du système pour les utilisateurs du shell bash sont définies dans les
fichiers /etc/profile et /etc/bashrc. Les utilisateurs peuvent outrepasser les paramètres
par défaut du système dans les fichiers .bash_profile ou .bashrc de leurs répertoires
personnels.
Si vous créez un fichier standard, ses permissions octales initiales sont 0666 (000 110 110 110, en
représentation binaire). Ensuite, l'umask 0002 (000 000 000 010) désactive le bit de permission
d'écriture pour "other". Enfin, le propriétaire et le groupe ont tous deux la permission de lecture et
d'écriture sur les fichiers tandis que la permission "other" est configurée pour la lecture (000 110
110 100).
RH124-RHEL9.0-fr-2-20220609 229
chapitre 7 | Contrôle de l'accès aux fichiers
Si vous créez un répertoire, ses permissions octales initiales sont 0777 (000 111 111 111). Ensuite,
l'umask 0002 (000 000 000 010) désactive le bit de permission d'écriture pour "other". Enfin, le
propriétaire et le groupe ont tous deux les permissions d'écriture, de lecture et d'exécution sur les
répertoires tandis que la permission "other" est configurée pour la lecture et l'exécution (000 111 111
101).
En définissant la valeur umask sur 0, les permissions sur les fichiers pour « other » passent de
lecture à lecture et écriture. Les permissions sur les répertoires pour "other" passent de lecture et
exécution à lecture, écriture et exécution.
Pour masquer toutes les permissions sur les fichiers et les répertoires pour « other », définissez la
valeur umask sur 007.
230 RH124-RHEL9.0-fr-2-20220609
chapitre 7 | Contrôle de l'accès aux fichiers
Un umask de 027 garantit que les nouveaux fichiers disposent des permissions de lecture et
d'écriture pour l'utilisateur et de lecture pour le groupe. Les nouveaux répertoires ont un accès en
lecture et en écriture pour le groupe et aucune autorisation pour les autres.
Les scripts de démarrage du shell définissent l'umask par défaut des utilisateurs. Par défaut,
si l'UID du compte est égal à 200 ou plus et si votre nom d'utilisateur et votre nom de groupe
principal sont identiques, un umask de 002 est attribué au compte. Sinon, l'umask est de 022.
L'utilisateur root peut modifier l'umask par défaut en ajoutant un script de démarrage shell
local-umask.sh dans le répertoire /etc/profile.d/. Voici un exemple de fichier local-
umask.sh :
L'exemple précédent défini l'umask sur 007 pour les utilisateurs avec un UID supérieur à 199 et
avec un nom d'utilisateur et un nom de groupe principal correspondants, et sur 022 pour tout
le monde. Si vous souhaitez définir l'umask sur 022 pour tout le monde, créez ce fichier avec le
contenu suivant :
L'umask actuel d'un shell s'applique jusqu'à ce que vous vous déconnectiez du shell et que vous
vous reconnectiez.
RH124-RHEL9.0-fr-2-20220609 231
chapitre 7 | Contrôle de l'accès aux fichiers
Références
Pages du manuel bash(1), ls(1), chmod(1) et umask(1)
232 RH124-RHEL9.0-fr-2-20220609
chapitre 7 | Contrôle de l'accès aux fichiers
Exercice guidé
Résultats
• Créer un répertoire partagé dans lequel les nouveaux fichiers appartiennent
automatiquement au groupe operators.
• Faire des essais avec différents paramètres umask.
• Ajuster les permissions par défaut pour des utilisateurs spécifiques.
• Vérifier votre ajustement.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Connectez-vous au système servera en tant qu'utilisateur student.
RH124-RHEL9.0-fr-2-20220609 233
chapitre 7 | Contrôle de l'accès aux fichiers
5.3. Créez un fichier group dans le répertoire /tmp/shared. Listez les permissions du
fichier.
Note
Le groupe propriétaire du fichier /tmp/shared/group n'est pas operators mais
operator1.
6.1. Définissez l'ID de groupe sur le groupe operators pour le répertoire /tmp/shared.
234 RH124-RHEL9.0-fr-2-20220609
chapitre 7 | Contrôle de l'accès aux fichiers
6.3. Vérifiez que le groupe operators est le propriétaire du groupe pour le nouveau
fichier.
7.4. Créez un fichier ops_prod.txt dans le répertoire /tmp/shared/. Vérifiez que les
nouveaux fichiers créés ont un accès en lecture seule pour le groupe operators et
aucun accès pour les autres utilisateurs.
RH124-RHEL9.0-fr-2-20220609 235
chapitre 7 | Contrôle de l'accès aux fichiers
10. Changez l'umask par défaut pour l'utilisateur operator1. Le nouvel umask empêche tout
accès aux utilisateurs qui n'appartiennent pas à son groupe. Confirmez que l'umask a été
modifié.
11. Sur servera, fermez tous les shells utilisateur operator1 et student. Revenez au
système workstation en tant qu'utilisateur student.
Mise en garde
Si vous ne parvenez pas à quitter tous les shells operator1, le script de fin échoue.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
236 RH124-RHEL9.0-fr-2-20220609
chapitre 7 | Contrôle de l'accès aux fichiers
Open Lab
Résultats
• Créer un répertoire dans lequel les utilisateurs peuvent travailler en collaboration sur des
fichiers.
• Créer des fichiers auxquels la propriété du groupe est automatiquement attribuée.
• Créer des fichiers non accessibles en dehors du groupe.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Connectez-vous à serverb en tant qu'utilisateur student. Basculez vers l'utilisateur root
et utilisez redhat comme mot de passe.
2. Créez un répertoire /home/techdocs.
3. Transférez la propriété du groupe du répertoire /home/techdocs au groupe techdocs.
4. Vérifiez que les utilisateurs du groupe techdocs ne peuvent pas créer de fichiers dans le
répertoire /home/techdocs.
5. Définissez les permissions sur le répertoire /home/techdocs. Sur le répertoire /home/
techdocs, configurez setgid (2), les permissions de lecture/écriture/exécution (7) pour le
propriétaire/l'utilisateur et le groupe, et aucune permission (0) pour les autres utilisateurs.
6. Vérifiez que les permissions sont correctement définies.
Le groupe techdocs a maintenant une permission d'écriture.
7. Confirmez que les utilisateurs du groupe techdocs peuvent désormais créer et modifier
des fichiers dans le répertoire /home/techdocs. Les utilisateurs qui ne sont pas membres
du groupe techdocs ne peuvent pas modifier ni créer des fichiers dans le répertoire
/home/techdocs. Les utilisateurs tech1 et tech2 sont membres du groupe techdocs.
L'utilisateur database1 ne fait pas partie de ce groupe.
8. Modifiez les scripts de connexion globaux. Les utilisateurs normaux doivent disposer d'un
paramètre umask qui permet à l'utilisateur et au groupe de créer, d'écrire et d'exécuter des
fichiers et des répertoires, tout en empêchant les autres utilisateurs d'afficher, de modifier ou
d'exécuter de nouveaux fichiers et répertoires.
RH124-RHEL9.0-fr-2-20220609 237
chapitre 7 | Contrôle de l'accès aux fichiers
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
238 RH124-RHEL9.0-fr-2-20220609
chapitre 7 | Contrôle de l'accès aux fichiers
Solution
Résultats
• Créer un répertoire dans lequel les utilisateurs peuvent travailler en collaboration sur des
fichiers.
• Créer des fichiers auxquels la propriété du groupe est automatiquement attribuée.
• Créer des fichiers non accessibles en dehors du groupe.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Connectez-vous à serverb en tant qu'utilisateur student. Basculez vers l'utilisateur root
et utilisez redhat comme mot de passe.
RH124-RHEL9.0-fr-2-20220609 239
chapitre 7 | Contrôle de l'accès aux fichiers
4. Vérifiez que les utilisateurs du groupe techdocs ne peuvent pas créer de fichiers dans le
répertoire /home/techdocs.
7.1. Basculez vers l'utilisateur tech1. Créez un fichier techdoc1.txt dans le répertoire /
home/techdocs. Quittez le shell de l'utilisateur tech1.
240 RH124-RHEL9.0-fr-2-20220609
chapitre 7 | Contrôle de l'accès aux fichiers
8. Modifiez les scripts de connexion globaux. Les utilisateurs normaux doivent disposer d'un
paramètre umask qui permet à l'utilisateur et au groupe de créer, d'écrire et d'exécuter des
fichiers et des répertoires, tout en empêchant les autres utilisateurs d'afficher, de modifier ou
d'exécuter de nouveaux fichiers et répertoires.
RH124-RHEL9.0-fr-2-20220609 241
chapitre 7 | Contrôle de l'accès aux fichiers
Définissez un umask de 007 pour les utilisateurs dont l'UID est supérieur à 199 et dont
le nom d'utilisateur et le nom de groupe principal correspondent. Définissez un umask
de 022 pour tous les autres.
L'exemple suivant montre le contenu ajouté attendu dans le fichier /etc/profile.
8.3. En tant qu'utilisateur student, vérifiez que l'umask global bascule sur 007.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
242 RH124-RHEL9.0-fr-2-20220609
chapitre 7 | Contrôle de l'accès aux fichiers
Résumé
• Les permissions de propriété de fichier comportent trois catégories. Un fichier appartient à un
utilisateur, à un seul groupe et à d'autres utilisateurs. La permission la plus spécifique s'applique.
Les permissions de l'utilisateur prévalent sur les permissions du groupe, lesquelles priment sur
les autres permissions.
• L'option -l de la commande ls développe la liste des fichiers pour inclure à la fois les
permissions du fichier et les droits de propriété.
• La commande chmod peut utiliser l'une des deux méthodes pour représenter les autorisations :
symbolique ou octale.
• La commande umask sans argument affiche la valeur actuelle de l'umask du shell. Chaque
processus sur le système a un umask. Les valeurs umask par défaut pour bash sont définies dans
les fichiers /etc/profile et /etc/bashrc.
• Les permissions spéciales suid, sgid et sticky fournissent des fonctions supplémentaires
liées à l'accès aux fichiers.
RH124-RHEL9.0-fr-2-20220609 243
244 RH124-RHEL9.0-fr-2-20220609
chapitre 8
RH124-RHEL9.0-fr-2-20220609 245
chapitre 8 | Contrôle et gestion des processus Linux
Résultats
Déterminer l'état, l'utilisation des ressources et la propriété des programmes en cours d'exécution
sur un système, afin de les contrôler.
L' environnement d'un processus est une liste d'informations qui inclut les éléments suivants :
Un processus parent existant réplique son propre espace d'adressage, appelé une fourche de
processus, pour créer une nouvelle structure de processus enfant. Un identifiant de processus
unique (PID) est affecté à chaque nouveau processus à des fins de suivi et de sécurité. Le
PID et l'identifiant du processus parent (PPID) sont des éléments de l'environnement du
nouveau processus. Tout processus peut créer un processus enfant. Tous les processus sont des
descendants du processus système initial, systemd, sur un système Red Hat.
Through the fork routine, a child process inherits security identities, previous and current file
descriptors, port and resource privileges, environment variables, and program code. Un processus
enfant peut ensuite exécuter son propre code de programme.
246 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
libérant ainsi la dernière ressource du processus enfant. Le processus parent poursuit ensuite
l'exécution de son propre code de programme.
Le schéma et le tableau suivants décrivent en détail les états des processus Linux.
RH124-RHEL9.0-fr-2-20220609 247
chapitre 8 | Contrôle et gestion des processus Linux
248 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
Utilisez des signaux pour suspendre, arrêter, reprendre, terminer ou interrompre des processus.
Les processus peuvent intercepter les signaux du noyau, d'autres processus et d'autres utilisateurs
sur le même système. Les signaux sont abordés ultérieurement dans ce chapitre.
• le numéro d'identification de l'utilisateur (UID), qui détermine les privilèges des processus ;
• le numéro d'identification unique du processus (PID) ;
• la quantité de processeur utilisée et temps réel ;
• la quantité de mémoire allouée ;
• l'emplacement du processus stdout, appelé terminal de contrôle ;
• l'état du processus actif.
Important
La version Linux de la commande ps prend en charge trois formats d'option :
• les options UNIX (POSIX), qui peuvent être regroupées et doivent être précédées
d'un tiret ;
• les options BSD, qui peuvent être regroupées, mais ne doivent pas comprendre
de tiret ;
• les options longues GNU, qui sont précédées de deux tirets.
La commande ps avec l'option aux commune affiche tous les processus, y compris les processus
sans terminal de contrôle. Une longue liste (options lax) fournit plus de détails et s'affiche plus
rapidement en évitant les recherches de nom d'utilisateur. La syntaxe UNIX équivalente utilise les
options -ef pour afficher tous les processus. Dans les exemples suivants, les threads du noyau
planifiés sont affichés entre parenthèses en haut de la liste.
RH124-RHEL9.0-fr-2-20220609 249
chapitre 8 | Contrôle et gestion des processus Linux
Par défaut, la commande ps sans option sélectionne tous les processus avec l'identifiant
d'utilisateur effectif (EUID) comme utilisateur actif, et les processus qui sont associés au terminal
qui exécute la commande. Les processus zombies sont listés avec l'étiquette exiting ou
defunct.
Vous pouvez utiliser la commande ps avec l'option --forest peut afficher les processus sous
forme d'arborescence afin de pouvoir visualiser les relations entre les processus parents et
enfants.
La sortie par défaut de la commande ps est triée par numéro d'identification de processus. À
première vue, la sortie peut sembler utiliser l'ordre chronologique, mais le noyau réutilise les ID
de processus, de sorte que l'ordre est moins structuré qu'il n'y paraît. Utilisez la commande ps
avec l'option -O ou --sort pour trier la sortie. L'ordre d'affichage correspond à celui du tableau
des processus système, qui réutilise les lignes du tableau à mesure que les processus meurent et
réapparaissent.
Références
info libc signal (GNU C Library Reference Manual)
• Section 26 : Processus
250 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
Quiz
2. Quel état représente un processus qui a libéré toutes ses ressources sauf son PID ?
a. D
b. R
c. S
d. T
e. Z
3. Quel processus un parent utilise-t-il pour dupliquer son espace d'adressage et créer
un processus enfant ?
a. exec
b. fork
c. zombie
d. syscall
e. reap
RH124-RHEL9.0-fr-2-20220609 251
chapitre 8 | Contrôle et gestion des processus Linux
Solution
2. Quel état représente un processus qui a libéré toutes ses ressources sauf son PID ?
a. D
b. R
c. S
d. T
e. Z
3. Quel processus un parent utilise-t-il pour dupliquer son espace d'adressage et créer
un processus enfant ?
a. exec
b. fork
c. zombie
d. syscall
e. reap
252 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
Résultats
Utiliser le contrôle de tâche bash pour gérer plusieurs processus démarrés à partir de la même
session de terminal.
Une tâche est associée à chaque pipeline saisi à l'invite du shell. Tous les processus de ce pipeline
font partie de la tâche et du même groupe de processus. Vous pouvez considérer le pipeline
minimal comme étant une seule commande saisie à l'invite du shell qui crée une tâche avec un seul
membre.
Une seule tâche peut lire en même temps l'entrée et les signaux générés par le clavier depuis une
fenêtre de terminal donnée. Les processus qui font partie de cette tâche sont les processus en
avant-plan de ce terminal de contrôle.
Chaque terminal exécute sa propre session et peut disposer d'un processus en avant-plan et de
n'importe quel nombre de processus en arrière-plan indépendants. Une tâche se trouve dans une
seule session, qui appartient à son terminal de contrôle.
Lorsqu'une ligne de commande contenant un pipe (|) est envoyée à l'arrière-plan, le PID de la
dernière commande du pipeline s'affiche. Tous les processus du pipeline sont membres de cette
tâche.
RH124-RHEL9.0-fr-2-20220609 253
chapitre 8 | Contrôle et gestion des processus Linux
Utilisez la commande jobs pour afficher la liste des tâches de la session du shell.
Utilisez la commande fg pour amener une tâche en arrière-plan au premier plan. Utilisez le format
(%jobNumber) pour spécifier le processus à mettre en avant-plan.
[user@host ~]$ fg %1
sleep 10000
Dans l'exemple précédent, la commande sleep est exécutée en avant-plan sur le terminal de
contrôle. Le shell lui-même repasse en état de veille et attend la fin de ce processus enfant.
Pour envoyer un processus en avant-plan vers l'arrière-plan, appuyez sur la requête suspend
générée par le clavier (Ctrl+z) dans le terminal. La tâche est placée à l'arrière-plan et est
suspendue.
La commande ps j affiche les informations relatives aux tâches. Utilisez la commande ps j pour
rechercher les informations relatives au processus et à la session.
Dans l'exemple suivant, la commande sleep est actuellement suspendue et l'état du processus
est T.
[user@host ~]$ ps j
PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
2764 2768 2768 2768 pts/0 6377 Ss 1000 0:00 /bin/bash
2768 5947 5947 2768 pts/0 6377 T 1000 0:00 sleep 10000
2768 6377 6377 2768 pts/0 6377 R+ 1000 0:00 ps j
[user@host ~]$ bg %1
[1]+ sleep 10000 &
254 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
Le shell informe l'utilisateur qui tente de quitter la fenêtre de terminal (session) que des tâches
ont été suspendues. Si l'utilisateur tente à nouveau de quitter immédiatement la session, les
tâches suspendues sont éliminées.
Note
Dans les exemples précédents, le signe + indique que cette tâche est la tâche
actuelle par défaut. Si une commande de contrôle de tâche est utilisée sans
argument %jobNumber, l'action est effectuée sur la tâche par défaut. Le signe -
indique la tâche précédente qui deviendra la tâche par défaut à la fin de la tâche par
défaut en cours.
Références
Page info Bash (The GNU Bash Reference Manual)
https://www.gnu.org/software/bash/manual
RH124-RHEL9.0-fr-2-20220609 255
chapitre 8 | Contrôle et gestion des processus Linux
Exercice guidé
Résultats
• Utiliser le contrôle des tâches pour suspendre et redémarrer les processus utilisateur.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Sur la machine workstation, ouvrez deux fenêtres de terminal côte à côte. Dans
cette section, ces deux terminaux sont appelés gauche et droite. Sur chaque terminal,
connectez-vous à la machine servera en tant qu'utilisateur student.
256 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
Note
Le script control s'exécute jusqu'à ce que le processus soit arrêté. Le script ajoute
des arguments de ligne de commande au fichier ~/control_outfile une fois par
seconde.
4. Dans le shell du terminal de droite, vérifiez que le nouveau processus est bien en train
d'écrire dans le fichier /home/student/control_outfile.
5. Dans le terminal de gauche, appuyez sur Ctrl+z pour suspendre le processus en cours. Le
shell renvoie l'ID de la tâche entre crochets. Dans le shell du terminal de droite, vérifiez que
la sortie du processus est arrêtée.
^Z
[1]+ Stopped control technical
[student@servera ~]$
[student@servera ~]$ bg
[1]+ control technical &
RH124-RHEL9.0-fr-2-20220609 257
chapitre 8 | Contrôle et gestion des processus Linux
6.4. Dans le shell du terminal de droite, vérifiez que la commande tail génère une sortie.
...output omitted...
technical technical technical technical technical technical technical technical
8. Dans le shell du terminal de gauche, utilisez la commande jobs pour afficher les trois
processus en cours. Dans le shell du terminal de droite, vérifiez que les trois processus sont
bien en train d'ajouter des éléments au fichier.
...output omitted...
technical documents database technical documents database technical documents
database technical documents database
...output omitted...
9. Suspendez le processus control technical. Vérifiez qu'il a été suspendu. Mettez fin au
processus control documents et vérifiez qu'il a été arrêté.
[student@servera ~]$ fg %1
control technical
^Z
[1]+ Stopped control technical
[student@servera ~]$ jobs
[1]+ Stopped control technical
[2] Running control documents &
[3]- Running control database &
9.2. Dans le shell du terminal de droite, vérifiez que le processus control technical
n'envoie plus de sortie.
258 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
[student@servera ~]$ fg %2
control documents
^C
[student@servera ~]$ jobs
[1]+ Stopped control technical
[3]- Running control database &
9.4. Dans le shell du terminal de droite, vérifiez que le processus control documents
n'envoie plus de sortie.
...output omitted...
database database database database database database database database
...no further output...
10. Dans le shell du terminal de gauche, affichez les tâches restantes. Les tâches suspendues
ont pour état T. Les autres tâches en arrière-plan dorment et ont un état de S.
[student@servera ~]$ ps jT
PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
27277 27278 27278 27278 pts/1 28702 Ss 1000 0:00 -bash
27278 28234 28234 27278 pts/1 28702 T 1000 0:00 /bin/bash /home/student/
bin/control technical
27278 28251 28251 27278 pts/1 28702 S 1000 0:00 /bin/bash /home/student/
bin/control database
28234 28316 28234 27278 pts/1 28702 T 1000 0:00 sleep 1
28251 28701 28251 27278 pts/1 28702 S 1000 0:00 sleep 1
27278 28702 28702 27278 pts/1 28702 R+ 1000 0:00 ps jT
11. Dans le shell du terminal de gauche, affichez les tâches en cours. Mettez fin au processus
control database et vérifiez qu'il a été arrêté.
Utilisez la commande fg avec l'ID de tâche pour mettre le processus control database
à l'avant-plan. Appuyez sur Ctrl+c pour mettre fin au processus. Vérifiez que le processus
est arrêté.
RH124-RHEL9.0-fr-2-20220609 259
chapitre 8 | Contrôle et gestion des processus Linux
[student@servera ~]$ fg %3
control database
^C
[student@servera ~]$ jobs
[1]+ Stopped control technical
12. Dans le shell du terminal de droite, utilisez la commande Ctrl+c pour arrêter la commande
tail. Supprimez le fichier ~/control_outfile.
...output omitted...
^C
[student@servera ~]$ rm ~/control_outfile
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
260 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
Suppression de processus
Résultats
Utiliser les commandes pour arrêter les processus et communiquer avec eux, définir les
caractéristiques d'un processus démon, et arrêter les sessions et les processus utilisateur.
Le tableau suivant répertorie les principaux signaux utilisés régulièrement par les administrateurs
système pour la gestion des processus. Les signaux sont indiqués par leur nom abrégé (HUP) ou
par leur nom complet (SIGHUP).
RH124-RHEL9.0-fr-2-20220609 261
chapitre 8 | Contrôle et gestion des processus Linux
Note
Les numéros des signaux varient d'une plateforme Linux à l'autre, mais leur nom et
leur signification sont standardisés. Il est conseillé d'utiliser des noms de signaux
plutôt que des numéros lors de la signalisation. Les numéros abordés dans cette
section s'appliquent aux systèmes d'architecture x86_64.
Chaque signal possède une action par défaut, qui est généralement l'une des suivantes :
Les programmes réagissent aux signaux d'événements attendus pour mettre en œuvre des
routines de traitement pour ignorer, remplacer ou étendre l'action par défaut d'un signal.
Vous pouvez spécifier des signaux à l'aide de leur nom (par exemple, les options -HUP ou -
SIGHUP), soit à l'aide de leur numéro (l'option -1 associée). Les utilisateurs peuvent supprimer
leurs processus, mais doivent disposer des privilèges root pour supprimer ceux des autres.
La commande kill utilise un numéro PID pour envoyer un signal à un processus. Malgré son nom,
vous pouvez utiliser la commande kill pour envoyer n'importe quel signal, et pas seulement ceux
pour arrêter des programmes. Vous pouvez utiliser la commande kill avec l'option -l pour lister
les noms et les numéros de tous les signaux disponibles.
262 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
user 5205 0.0 0.1 222448 3124 pts/1 S 16:39 0:00 /bin/bash /home/
user/bin/control job3
user 5783 0.0 0.0 221860 964 pts/1 S+ 16:43 0:00 grep --color=auto
job
[1] Terminated control job1
[user@host ~]$ kill -9 5199
[user@host ~]$ ps aux | grep job
user 5205 0.0 0.1 222448 3124 pts/1 S 16:39 0:00 /bin/bash /home/
user/bin/control job3
user 5930 0.0 0.0 221860 1048 pts/1 S+ 16:44 0:00 grep --color=auto
job
[2]- Killed control job2
[user@host ~]$ kill -SIGTERM 5205
user 5986 0.0 0.0 221860 1048 pts/1 S+ 16:45 0:00 grep --color=auto job
[3]+ Terminated control job3
La commande killall peut signaler plusieurs processus en fonction de leur nom de commande.
RH124-RHEL9.0-fr-2-20220609 263
chapitre 8 | Contrôle et gestion des processus Linux
user 6219 0.0 0.0 221860 1052 pts/1 S+ 17:00 0:00 grep --color=auto
pkill
[3]+ Terminated control pkill3
[user@host ~]$ ps aux | grep test
user 6281 0.0 0.1 222448 3012 pts/1 S 17:04 0:00 /bin/bash /home/
user/bin/control test1
user 6285 0.0 0.1 222448 3128 pts/1 S 17:04 0:00 /bin/bash /home/
user/bin/control test2
user 6292 0.0 0.1 222448 3064 pts/1 S 17:04 0:00 /bin/bash /home/
user/bin/control test3
user 6318 0.0 0.0 221860 1080 pts/1 S+ 17:04 0:00 grep --color=auto
test
[user@host ~]$ pkill -U user
[user@host ~]$ ps aux | grep test
user 6870 0.0 0.0 221860 1048 pts/0 S+ 17:07 0:00 grep --color=auto
test
Tout d'abord, pour déconnecter un utilisateur, identifiez la session de connexion à arrêter. Utilisez
la commande w pour lister les connexions des utilisateurs et les processus en cours. Notez les
colonnes TTY et FROM pour déterminer les sessions à fermer.
Toutes les sessions de connexion sont associées à un périphérique de terminal (TTY). Si le nom
du périphérique est pts/N, alors il s'agit d'un pseudo-terminal associé à une fenêtre de terminal
graphique ou à une session de connexion à distance. S'il est ttyN, l'utilisateur se trouve sur la
console d'un système, une autre console ou un autre périphérique terminal connecté en direct.
[user@host ~]$ w
12:43:06 up 27 min, 5 users, load average: 0.03, 0.17, 0.66
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty2 12:26 14:58 0.04s 0.04s -bash
bob tty3 12:28 14:42 0.02s 0.02s -bash
user pts/1 desktop.example.com 12:41 2.00s 0.03s 0.03s w
[user@host ~]$
Découvrez le temps qu'un utilisateur a passé sur le système en affichant l'heure d'ouverture de
sa session. Les ressources processeur consommées par les tâches en cours, y compris les tâches
en arrière-plan et les processus enfants, se trouvent dans la colonne JCPU pour chaque session.
La consommation des ressources processeur pour l'exécution des processus en avant-plan est
affichée dans la colonne PCPU.
Les signaux peuvent être envoyés aux processus et aux sessions un par un ou par groupes.
Pour mettre fin à tous les processus d'un utilisateur, utilisez la commande pkill. Parce que le
processus initial d'une session de connexion (leader de session) est destiné à traiter les demandes
de fermeture et à ignorer les signaux involontaires envoyés par le clavier, l'arrêt de tous les
processus et des shells de connexion d'un utilisateur requiert le signal SIGKILL.
264 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
Important
Les administrateurs utilisent fréquemment SIGKILL.
Comme le signal SIGKILL ne peut être ni traité ni ignoré, il est toujours fatal.
Cependant, il force l'arrêt des processus sans les autoriser à exécuter les routines
d'auto-nettoyage. Red Hat recommande d'envoyer d'abord le signal SIGTERM, puis
d'essayer avec le signal SIGINT et de réessayer avec le signal SIGKILL si les deux
échouent.
Tout d'abord, utilisez la commande pgrep pour identifier les numéros PID à supprimer. Cette
commande fonctionne de manière similaire à la commande pkill, y compris les mêmes options,
sauf que la commande pgrep liste les processus au lieu de les arrêter.
Lorsque des processus requérant une attention particulière sont exécutés au cours d'une
même session de connexion, il n'est pas forcément nécessaire d'arrêter tous les processus d'un
utilisateur. Utilisez la commande w pour déterminer le terminal de contrôle de la session, puis
arrêtez uniquement les processus qui font référence au même identifiant de terminal. À moins que
SIGKILL ne soit spécifié, le leader de session (ici, le shell de connexion Bash) traite la demande
d'arrêt et y survit, mais il est mis fin à tous les autres processus de la session.
Vous pouvez appliquer la même méthode d'arrêt sélectif en utilisant les relations entre processus
parents et enfants. Utilisez la commande pstree pour afficher l'arborescence des processus
d'un système ou d'un seul utilisateur. Utilisez le PID des processus parents pour arrêter tous les
processus enfants créés. Le shell de connexion Bash parent survit cette fois, car le signal ne
s'adresse qu'à ses processus enfants.
RH124-RHEL9.0-fr-2-20220609 265
chapitre 8 | Contrôle et gestion des processus Linux
└─sleep(8427)
[root@host ~]# pkill -P 8391
[root@host ~]# pgrep -l -u bob
bash(8391)
[root@host ~]# pkill -SIGKILL -P 8391
[root@host ~]# pgrep -l -u bob
bash(8391)
Références
Pages de manuel kill(1), killall(1), pgrep(1), pkill(1), pstree(1), signal(7)
et w(1)
266 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
Exercice guidé
Suppression de processus
Dans cet exercice, vous utilisez des signaux pour gérer et arrêter les processus.
Résultats
• Démarrer et arrêter plusieurs processus shell.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Sur la machine workstation, ouvrez deux fenêtres de terminal côte à côte. Dans
cette section, ces terminaux sont appelés gauche et droite. Sur chaque terminal, utilisez
la commande ssh pour vous connecter à la machine servera en tant qu'utilisateur
student.
RH124-RHEL9.0-fr-2-20220609 267
chapitre 8 | Contrôle et gestion des processus Linux
Note
Le script instance s'exécute jusqu'à ce que le processus soit arrêté. Il ajoute
des arguments de ligne de commande au fichier ~/instance_outfile une fois
toutes les 5 secondes.
4. Dans le shell du terminal de droite, vérifiez que les trois processus sont bien en train
d'ajouter du contenu au fichier /home/student/instance_outfile.
6. Utilisez des signaux pour suspendre le processus instance network. Vérifiez que le
processus instance network est défini sur Stopped. Vérifiez que le processus network
n'ajoute plus de contenu au fichier ~/instance_output.
6.1. Arrêtez le processus instance network. Vérifiez que le processus est arrêté.
268 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
6.2. Dans le shell du terminal de droite, visualisez la sortie de commande tail. Vérifiez
que le mot network n'est plus ajouté au fichier ~/instance_outfile.
...output omitted...
interface connection interface connection interface connection interface
7.1. Arrêtez le processus instance interface. Vérifiez que le processus est arrêté.
7.2. Dans le shell du terminal de droite, visualisez la sortie de commande tail. Vérifiez
que le mot interface n'est plus ajouté au fichier ~/instance_outfile.
...output omitted...
connection connection connection connection connection connection connection
connection
8.1. Reprenez le processus instance network. Vérifiez que le processus est dans l'état
Running.
8.2. Dans le shell du terminal de droite, visualisez la sortie de commande tail. Vérifiez
que le mot network est ajouté au fichier ~/instance_outfile.
...output omitted...
network connection network connection network connection network connection
network connection
9. Dans le terminal gauche, terminez les deux tâches restantes. Vérifiez qu'il ne reste plus de
tâches et que la sortie est arrêtée.
RH124-RHEL9.0-fr-2-20220609 269
chapitre 8 | Contrôle et gestion des processus Linux
10. Dans le shell du terminal de gauche, listez les processus en cours d'exécution sur tous les
shells de terminal ouverts. Arrêtez les processus tail. Vérifiez que les processus ne sont
plus en cours d'exécution.
10.1. Listez tous les processus en cours d'exécution. Affinez la recherche pour afficher
uniquement les lignes tail.
10.2. Arrêtez le processus tail. Vérifiez que le processus n'est plus en cours d'exécution.
10.3. Dans le shell du terminal de droite, vérifiez que la commande tail n'est plus en cours
d'exécution.
...output omitted...
network connection network connection network connection Terminated
[student@servera ~]$
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
270 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
Résultats
Définir la charge moyenne et déterminer les processus serveur gourmands en ressources.
Le noyau collecte l'indice de charge actuelle toutes les cinq secondes en fonction du nombre de
processus se trouvant dans des états exécutables et ne pouvant être interrompus. Ce nombre est
accumulé et signalé en tant que moyenne mobile exponentielle de la dernière minute, et des cinq
et quinze dernières minutes.
• L'indice de charge est une moyenne du nombre de processus prêts à être exécutés (ayant l'état
R) ou attendant que les opérations d'E/S se terminent (ayant l'état D).
La moyenne de charge est une mesure approximative du nombre de processus en attente d'une
demande pour pouvoir effectuer quoi que ce soit d'autre. La demande peut concerner le temps
nécessaire au processeur pour exécuter le processus. Sinon, la demande pourrait concerner la fin
de l'exécution E/S d'un disque critique, et le processus ne peut pas être exécuté sur le processeur
tant que la demande n'est pas terminée, même si le processeur est inactif. Dans les deux cas,
la charge du système est touchée et le système semble fonctionner plus lentement car des
processus sont en attente d'exécution.
RH124-RHEL9.0-fr-2-20220609 271
chapitre 8 | Contrôle et gestion des processus Linux
Les trois valeurs de la charge moyenne représentent la charge au cours de la dernière minute,
et des cinq et quinze dernières minutes. Cela permet de savoir si la charge du système semble
augmenter ou diminuer.
Utilisez la commande lscpu pour déterminer le nombre de processeurs présents sur un système.
Dans l'exemple suivant, le système est un système simple socket double cœur avec deux
hyperthreads par cœur. D'une façon générale, Linux traite cette configuration de processeurs
comme un système à quatre processeurs pour l'ordonnancement.
Une file d'attente inactive de processeurs possède un indice de charge de 0. Chaque processus en
attente de processeur ajoute 1 à l'indice de charge. Si un processus est en cours d'exécution sur un
processeur, l'indice de charge est de 1, la ressource (le processeur) est en cours d'utilisation, mais
aucune demande n'est en attente. Si ce processus est exécuté pendant une minute complète, sa
contribution à la moyenne de charge d'une minute est de 1.
272 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
ont pas obtenues. Cette mesure représente toujours la charge du système en raison de ressources
limitées empêchant l'exécution des processus.
Tant qu'une ressource n'est pas saturée, la charge moyenne demeure inférieure à 1, puisque les
tâches se retrouvent rarement placées en file d'attente. La charge moyenne n'augmente que
lorsque la saturation d'une ressource oblige les requêtes à rester en file d'attente, où elles sont
prises en compte par la routine de calcul de la charge. Lorsque le taux d'utilisation de la ressource
atteint 100 %, chaque requête supplémentaire commence à connaître des délais d'attente de
services.
• La mémoire virtuelle (VIRT) est la mémoire totale utilisée par le processus, y compris
l'ensemble résident, les bibliothèques partagées et toute page de mémoire mappée ou
échangée. (Identifiée par VSZ dans la commande ps.)
• La mémoire résidente (RES) est la mémoire physique utilisée par le processus, y compris tout
objet partagé résident. (Identifiée par RSS dans la commande ps.)
Clé Objet
RH124-RHEL9.0-fr-2-20220609 273
chapitre 8 | Contrôle et gestion des processus Linux
Clé Objet
Shift+b Active l'utilisation des caractères gras dans l'affichage, dans l'en-tête et pour
les processus Running.
Shift+h Affiche ou masque les fils d'exécution ; affiche le récapitulatif des processus ou
fil par fil.
Shift+p Trie la liste des processus en fonction de l'utilisation du processeur, par ordre
décroissant.
q Quitte.
Note
Les raccourcis clavier s, k et r ne sont pas disponibles lorsque la commande top est
lancée en mode sécurisé.
Références
Pages du manuel ps(1), top(1), uptime(1) et w(1)
274 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
Exercice guidé
Résultats
• Gérer les processus en temps réel.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Sur la machine workstation, ouvrez deux fenêtres de terminal côte à côte. Dans cette
section, ces terminaux sont appelés gauche et droite. Sur chaque terminal, connectez-vous
à la machine servera en tant qu'utilisateur student.
RH124-RHEL9.0-fr-2-20220609 275
chapitre 8 | Contrôle et gestion des processus Linux
done
sleep 1
done
Note
Le script monitor s'exécute jusqu'à ce que le processus soit arrêté. Il génère une
charge artificielle du processeur en effectuant soixante mille calculs d'addition.
Après la génération de la charge du processeur, il se met en veille pendant une
seconde, réinitialise la variable et se répète.
5. Dans le shell du terminal de gauche, exécutez une instance unique du fichier de script
monitor en arrière-plan.
276 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
6. Dans le shell du terminal de droite, surveillez la commande top. Utilisez les touches uniques
l, t et m pour activer les lignes d'en-tête de la charge, des fils d'exécution (threads) et de la
mémoire. Après avoir observé ce comportement, assurez-vous que tous les en-têtes sont
affichés.
Affichez les charges moyennes. La charge moyenne calculée sur une minute est
actuellement inférieure à 1. La valeur observée peut être affectée par la rétention de
ressources de la part d'une autre machine virtuelle ou de l'hôte virtuel.
top - 12:23:45 up 11 days, 1:09, 3 users, load average: 0.21, 0.14, 0.05
8. Dans le shell du terminal de gauche, exécutez une deuxième instance du fichier de script
monitor en arrière-plan.
9. Dans le shell du terminal de droite, notez l'ID de processus (PID) pour le second processus
monitor. Affichez le pourcentage processeur du processus, qui devrait lui aussi osciller
autour de 15 à 25 %.
Affichez à nouveau la charge moyenne calculée sur une minute, qui est toujours inférieure à
1. Patientez au moins une minute pour permettre au calcul de s'ajuster à la nouvelle charge
de travail.
top - 12:27:39 up 11 days, 1:13, 3 users, load average: 0.36, 0.25, 0.11
10. Dans le shell du terminal de gauche, exécutez une troisième instance du fichier de script
monitor en arrière-plan.
RH124-RHEL9.0-fr-2-20220609 277
chapitre 8 | Contrôle et gestion des processus Linux
11. Dans le shell du terminal de droite, notez l'ID de processus (PID) pour le troisième
processus monitor. Affichez le pourcentage processeur du processus, qui devrait lui aussi
osciller autour de 15 à 25 %.
Pour pousser la charge moyenne au-dessus de 1, vous devez lancer davantage de processus
monitor. La configuration de la salle de classe dispose de 2 processeurs, donc 3 processus
ne suffisent pas pour créer une contrainte significative. Démarrez trois processus monitor
de plus en arrière-plan. Affichez de nouveau la charge moyenne calculée sur une minute,
qui est normalement supérieure à 1. Patientez au moins une minute pour permettre au
calcul de s'ajuster à la nouvelle charge de travail.
top - 12:42:32 up 11 days, 1:28, 3 users, load average: 1.23, 2.50, 1.54
12. Lorsque vous avez terminé d'observer les valeurs de charge moyenne, arrêtez chacun des
processus monitor depuis la commande top.
12.1. Dans le shell du terminal de droite, appuyez sur k pour observer l'invite sous les en-
têtes et au-dessus des colonnes.
...output omitted...
PID to signal/kill [default pid = 11338]
12.2. L'invite choisit les processus monitor en haut de la liste. Appuyez sur Enter pour
arrêter le processus.
...output omitted...
Send pid 11338 signal [15/sigterm]
12.3. Appuyez à nouveau sur Enter pour confirmer le signal SIGTERM 15.
Vérifiez que le processus sélectionné n'est plus présent dans la commande top. Si
le PID existe, répétez ces étapes pour terminer les processus et remplacez le signal
SIGKILL 9 lorsque vous y êtes invité.
278 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
13. Répétez l'étape précédente pour chaque processus monitor restant. Vérifiez qu'aucun
processus monitor ne reste dans la commande top.
14. Dans le shell du terminal de droite, appuyez sur q pour quitter la commande top. Fermez le
terminal de droite.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 279
chapitre 8 | Contrôle et gestion des processus Linux
Open Lab
Résultats
• Gérer les processus avec top comme outil de gestion des processus.
Avant De Commencer
Connectez-vous à workstation en tant que student avec le mot de passe student.
Instructions
1. Sur workstation, ouvrez deux fenêtres de terminal côte à côte. Dans cette section, ces
terminaux sont appelés gauche et droite. Sur chaque fenêtre de terminal, connectez-vous à
serverb en tant qu'utilisateur student.
Créez le script process101 dans le répertoire /home/student/bin. Le script
process101 génère une charge artificielle du processeur.
#!/bin/bash
while true; do
var=1
while [[ var -lt 50000 ]]; do
var=$(($var+1))
done
sleep 1
done
280 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 281
chapitre 8 | Contrôle et gestion des processus Linux
Solution
Résultats
• Gérer les processus avec top comme outil de gestion des processus.
Avant De Commencer
Connectez-vous à workstation en tant que student avec le mot de passe student.
Instructions
1. Sur workstation, ouvrez deux fenêtres de terminal côte à côte. Dans cette section, ces
terminaux sont appelés gauche et droite. Sur chaque fenêtre de terminal, connectez-vous à
serverb en tant qu'utilisateur student.
Créez le script process101 dans le répertoire /home/student/bin. Le script
process101 génère une charge artificielle du processeur.
#!/bin/bash
while true; do
var=1
while [[ var -lt 50000 ]]; do
var=$(($var+1))
done
sleep 1
done
1.1. Sur workstation, ouvrez deux fenêtres de terminal côte à côte. Sur chaque terminal,
utilisez la commande ssh pour vous connecter à la machine serverb en tant
qu'utilisateur student.
282 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
1.3. Dans le shell du terminal de gauche, créez le script process101. Appuyez sur la
touche i pour accéder au mode interactif de Vim. Tapez :wq pour enregistrer le fichier.
RH124-RHEL9.0-fr-2-20220609 283
chapitre 8 | Contrôle et gestion des processus Linux
4. Dans le shell du terminal de droite, observez l'affichage top. Notez l'ID de processus (PID) et
affichez le pourcentage de processeur utilisé par le processus process101. Le pourcentage
de processeur utilisé par le processus doit osciller entre 10 et 15 %. Basculez l'affichage de
l'utilitaire top entre la charge, les threads et la mémoire. Revenez à l'affichage d'utilisation du
processeur de l'utilitaire top.
Note
Lorsque l'utilitaire top passe en mode mémoire, le processus process101 n'est
plus le premier processus. Vous pouvez appuyer sur Shift+p pour revenir à
l'utilisation du processeur.
284 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
5. Désactivez l'utilisation des caractères gras dans l'affichage. Enregistrez cette configuration
pour pouvoir la réutiliser au prochain démarrage de top. Vérifiez que les modifications sont
enregistrées.
RH124-RHEL9.0-fr-2-20220609 285
chapitre 8 | Contrôle et gestion des processus Linux
5.2. Appuyez sur Shift+w pour enregistrer cette configuration. La configuration par défaut
est stockée dans le toprc dans le répertoire /home/student/.config/procps.
Dans le shell du terminal de gauche, vérifiez que le fichier toprc existe.
5.3. Dans le shell du terminal de droite, quittez top, puis redémarrez-le. Vérifiez que le
nouvel affichage utilise la configuration enregistrée.
6.4. Utilisez la commande pour vérifier que les deux processus s'exécutent en arrière-plan.
286 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
7. Dans le shell de terminal de droite, vérifiez que le processus est en cours d'exécution et qu'il
utilise le plus de ressources possible du processeur. La charge doit osciller entre 25 % et 35 %.
7.1. Dans le shell de terminal de droite, vérifiez que le processus est en cours d'exécution.
La charge doit osciller entre 25 % et 35 %.
Note
Si vous ne voyez pas process101 et process102 en haut de la liste de processus,
appuyez sur Shift+p pour vous assurer que l'utilitaire top trie la sortie en fonction
de l'utilisation du processeur.
8. Notez que la charge moyenne est toujours inférieure à 1. Copiez process101 vers un
nouveau script appelé process103. Augmentez le nombre d'additions à huit cent mille.
Démarrez process103 en arrière-plan. Confirmez que la charge moyenne est supérieure à 1.
Cela peut prendre quelques minutes pour que la charge moyenne change.
8.1. Dans le terminal de droite, vérifiez que la charge moyenne est inférieure à 1.
8.2. Dans le shell du terminal de gauche, copiez process101 vers le nouveau script
process103.
RH124-RHEL9.0-fr-2-20220609 287
chapitre 8 | Contrôle et gestion des processus Linux
var=1
while [[ var -lt 800000 ]]; do
var=$(($var+1))
done
sleep 1
done
8.6. Dans le shell du terminal de droite, vérifiez que la charge moyenne est supérieure à 1.
Cela peut prendre quelques minutes pour que la charge augmente.
9. Dans le shell du terminal de gauche, basculez sur l'utilisateur root. Suspendez le processus
process101. Listez les tâches restantes. Observez que l'état du processus pour
process101 est maintenant T.
[student@serverb bin]$ su -
Password: redhat
9.3. Dans le shell du terminal de droite, vérifiez que la commande process101 n'est plus
en cours d'exécution.
288 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
[root@serverb ~]# ps jT
...output omitted...
PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
1117 1118 1118 1118 pts/1 5778 Ss 1000 0:00 -bash
1118 1161 1161 1118 pts/1 5778 T 1000 10:00 /bin/bash /home/student/bin/
process101
1118 4023 4023 1118 pts/1 5778 S 1000 4:19 /bin/bash /home/student/bin/
process102
1118 5172 5172 1118 pts/1 5778 S 1000 3:59 /bin/bash /home/student/bin/
process103
...output omitted...
Notez que process101 a le statut T. Cet état indique que le processus est
actuellement suspendu.
10.2. Dans le shell de terminal de droite, vérifiez que le processus est toujours en cours
d'exécution.
11.2. Dans le shell du terminal de droite, vérifiez que les processus n'apparaissent plus dans
top.
RH124-RHEL9.0-fr-2-20220609 289
chapitre 8 | Contrôle et gestion des processus Linux
12.2. Dans le shell du terminal de droite, appuyez sur q pour quitter top. Revenez au
système workstation en tant qu'utilisateur student.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
290 RH124-RHEL9.0-fr-2-20220609
chapitre 8 | Contrôle et gestion des processus Linux
Résumé
• Un processus est une instance en cours d'exécution d'un programme exécutable. Les processus
sont assignés à l'un des états suivants : running, sleeping, stopped ou zombie. La commande ps
permet de lister les processus.
• Chaque terminal est sa propre session et peut disposer d'un processus en avant-plan et de
processus en arrière-plan indépendants. La commande jobs affiche les processus dans une
session de terminal.
• Un signal est une interruption logicielle qui signale des événements à un programme en cours
d'exécution. Les commandes kill, pkill et killall utilisent des signaux pour contrôler les
processus.
• La moyenne de charge est une estimation de l'occupation du système. Pour afficher les valeurs
moyennes de charge, utilisez la commande top, uptime ou w.
RH124-RHEL9.0-fr-2-20220609 291
292 RH124-RHEL9.0-fr-2-20220609
chapitre 9
RH124-RHEL9.0-fr-2-20220609 293
chapitre 9 | Contrôle des services et des démons
Résultats
Répertorier les démons système et les services réseau démarrés par le service systemd et les
unités de socket.
Les démons sont des processus qui attendent ou sont exécutés en arrière-plan pour effectuer
différentes tâches. En général, les démons s'exécutent automatiquement au démarrage et
poursuivent leur exécution jusqu'à l'arrêt de la machine ou jusqu'à ce qu'ils soient arrêtés
manuellement. Par convention, le nom de nombreux démons se termine par la lettre d.
Dans Red Hat Enterprise Linux, le premier processus qui commence (PID 1) est le démon systemd
qui fournit :
• Service units have a .service extension and represent system services. Vous pouvez utiliser
ces unités de service pour démarrer les démons auxquels l'accès est fréquent, comme un
serveur Web.
• Socket units have a .socket extension and represent inter-process communication (IPC)
sockets that systemd should monitor. Si un client se connecte au socket, le gestionnaire
systemd démarre un démon et lui transmettre la connexion. Vous pouvez utiliser les unités
de socket pour retarder le lancement d'un service au démarrage et lancer les services moins
fréquemment utilisés à la demande.
• Les unités de chemin ont l'extension .path et retardent l'activation d'un service jusqu'à ce
qu'une modification spécifique du système de fichiers se produise. Vous pouvez utiliser des
unités de chemin pour les services qui utilisent des répertoires de spool, tels qu'un système
d'impression.
294 RH124-RHEL9.0-fr-2-20220609
chapitre 9 | Contrôle des services et des démons
Utilisez la commande systemctl pour gérer les unités. Par exemple, affichez les types d'unités
disponibles avec la commande systemctl -t help. La commande systemctl permet
d'abréger les noms d'unités, les entrées de l'arborescence de processus et les descriptions
d'unités.
Dans cet exemple, l'option --type=service limite le type d'unités systemd aux unités de
service. La sortie contient les colonnes suivantes :
UNIT
Le nom de l'unité de service.
LOAD
Indique si le démon systemd a correctement analysé la configuration de l'unité et chargé
l'unité dans la mémoire.
ACTIVE
État d'activation de haut niveau de l'unité. Cette information indique si l'unité a démarré avec
succès.
SUB
État d'activation de bas niveau de l'unité. Ces informations indiquent des informations plus
détaillées sur l'unité. Les informations varient en fonction du type d'unité, de son état et de la
manière dont l'unité est exécutée.
DESCRIPTION
Courte description de l'unité.
Par défaut, la commande systemctl list-units --type=service ne liste que les unités
de service avec les états d'activation active. L'option systemctl list-units --all liste
toutes les unités de service, quels que soient les états d'activation. Utilisez l'option --state=
pour filtrer selon les valeurs des champs LOAD, ACTIVE ou SUB.
RH124-RHEL9.0-fr-2-20220609 295
chapitre 9 | Contrôle des services et des démons
La commande systemctl sans argument liste les unités à la fois chargées et actives.
La commande systemctl avec l'option list-units affiche les unités que le service systemd
tente d'analyser et de charger en mémoire. Cette option n'affiche pas les services installés mais
non activés. Vous pouvez utiliser la commande systemctl avec l'option list-unit-files pour
voir l'état de tous les fichiers d'unité installés :
296 RH124-RHEL9.0-fr-2-20220609
chapitre 9 | Contrôle des services et des démons
Active: active (running) since Mon 2022-03-14 05:38:12 EDT; 25min ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 1114 (sshd)
Tasks: 1 (limit: 35578)
Memory: 5.2M
CPU: 64ms
CGroup: /system.slice/sshd.service
└─1114 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"
Champ Description
Active Indique si l'unité de service est en cours d'exécution et, le cas échéant,
depuis combien de temps.
Tous ces champs ne sont pas toujours présents dans la sortie de la commande.
Mot-clé Description
active (running) Le service est en cours d'exécution avec des processus continus.
active (waiting) Le service est en cours d'exécution, mais en attente d'un événement.
RH124-RHEL9.0-fr-2-20220609 297
chapitre 9 | Contrôle des services et des démons
Mot-clé Description
static Le service ne peut pas être activé, mais peut être démarré
automatiquement par une unité activée.
Note
La commande systemctl status NAME remplace la commande service
NAME status utilisée dans la version de Red Hat Enterprise Linux 6 et versions
antérieures.
La commande renvoie l'état de l'unité de service, qui est généralement active ou inactive.
Exécutez la commande systemctl avec l'option is-enabled pour vérifier si une unité de
service est activée pour démarrer automatiquement au démarrage du système :
Pour vérifier si l'unité a échoué au démarrage, exécutez la commande systemctl avec l'option
is-failed :
La commande renvoie active si le service s'exécute correctement ou failed si une erreur s'est
produite lors du démarrage. Si l'unité est arrêtée, elle renvoie unknown ou inactive.
Pour lister toutes les unités défaillantes, exécutez la commande systemctl --failed --
type=service.
298 RH124-RHEL9.0-fr-2-20220609
chapitre 9 | Contrôle des services et des démons
Références
Pages de manuel systemd(1), systemd.unit(5), systemd.service(5),
systemd.socket(5) et systemctl(1)
RH124-RHEL9.0-fr-2-20220609 299
chapitre 9 | Contrôle des services et des démons
Exercice guidé
Résultats
• Lister les unités de service installées.
• Identifier les services actifs et activés sur le système.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Utilisez la commande ssh pour vous connecter à la machine servera en tant qu'utilisateur
student.
3. Listez toutes les unités de socket, actives et inactives sur la machine servera.
300 RH124-RHEL9.0-fr-2-20220609
chapitre 9 | Contrôle des services et des démons
4. Étudiez l'état du service chronyd. Vous pouvez utiliser ce service pour la synchronisation
de l'heure réseau (NTP).
4.1. Affichez l'état du service chronyd. Notez l'ID de processus de tout démon actif.
4.2. Vérifiez que le démon chronyd est en cours d'exécution en utilisant son ID de
processus. Dans la commande ci-dessus, la sortie de l'ID de processus associé au
service chronyd est 747. L'ID de processus peut différer sur votre système.
RH124-RHEL9.0-fr-2-20220609 301
chapitre 9 | Contrôle des services et des démons
5. Étudiez l'état du service sshd. Vous pouvez utiliser ce service pour la communication
sécurisée par chiffrement entre les systèmes.
5.2. Déterminez si le service sshd est actif sans afficher toutes les informations sur son
statut.
6. Affichez la liste des états (actifs ou inactifs) de toutes les unités de service.
302 RH124-RHEL9.0-fr-2-20220609
chapitre 9 | Contrôle des services et des démons
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 303
chapitre 9 | Contrôle des services et des démons
Résultats
Contrôler les démons système et les services réseau avec systemctl.
Utilisez la commande systemctl status pour vérifier le statut du service, si le service est en
cours d'exécution ou arrêté.
Utilisez la commande systemctl start en tant qu'utilisateur root (avec la commande sudo
si nécessaire). Si vous exécutez la commande systemctl start avec le nom du service
uniquement (sans le type de service), le service systemd recherche les fichiers .service.
Pour arrêter un service en cours d'exécution, utilisez la commande systemctl avec l'option stop.
L'exemple suivant montre comment arrêter le service sshd.service :
304 RH124-RHEL9.0-fr-2-20220609
chapitre 9 | Contrôle des services et des démons
Si vous n'êtes pas sûr que le service dispose de la fonctionnalité permettant de recharger les
modifications du fichier de configuration, utilisez la commande systemctl avec l'option reload-
or-restart. La commande recharge les modifications de configuration si la fonctionnalité de
rechargement est disponible. Sinon, la commande redémarre le service pour implémenter les
nouvelles modifications de configuration :
Cependant, pour interrompre complètement les services d'impression sur un système, vous devez
interrompre les trois unités. La désactivation du service désactive les dépendances.
RH124-RHEL9.0-fr-2-20220609 305
chapitre 9 | Contrôle des services et des démons
La tentative de démarrage d'une unité de service masquée échoue avec la sortie suivante :
Important
Vous ou d'autres fichiers d'unité peuvent démarrer manuellement un service
désactivé, mais ce dernier ne démarre pas automatiquement au démarrage. Un
service masqué ne démarre pas manuellement ou automatiquement.
Cette commande crée un lien symbolique à partir du fichier d'unité de service, généralement
dans le répertoire /usr/lib/systemd/system, vers l'emplacement sur le disque
où la commande systemd recherche les fichiers dans le répertoire /etc/systemd/
system/TARGETNAME.target.wants. L'activation d'un service ne démarre pas le service dans
la session actuelle. Pour démarrer le service et lui permettre de s'exécuter automatiquement au
démarrage, exécutez les commandes systemctl start et systemctl enable, ou utilisez la
commande systemctl enable --now équivalente.
306 RH124-RHEL9.0-fr-2-20220609
chapitre 9 | Contrôle des services et des démons
Pour vérifier si le service est activé ou désactivé, utilisez la commande systemctl is-enabled.
Commande Tâche
RH124-RHEL9.0-fr-2-20220609 307
chapitre 9 | Contrôle des services et des démons
Commande Tâche
Références
Pages de manuel systemd(1), systemd.unit(5), systemd.service(5),
systemd.socket(5) et systemctl(1)
308 RH124-RHEL9.0-fr-2-20220609
chapitre 9 | Contrôle des services et des démons
Exercice guidé
Résultats
• Utilisez la commande systemctl pour contrôler les services gérés par systemd.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Connectez-vous à la machine servera en tant qu'utilisateur student et basculez vers
l'utilisateur root.
2.1. Affichez l'état du service sshd. Notez l'ID de processus du démon sshd. Appuyez sur
q pour quitter la commande.
RH124-RHEL9.0-fr-2-20220609 309
chapitre 9 | Contrôle des services et des démons
2.2. Redémarrez le service sshd et affichez son état. Dans cet exemple, l'ID de processus
du démon passe de 784 à 1193. Appuyez sur q pour quitter la commande.
2.3. Rechargez le service sshd et affichez son état. L'ID de processus du démon ne
change pas. Appuyez sur q pour quitter la commande.
3. Vérifiez que le service chronyd est en cours d'exécution. Appuyez sur q pour quitter la
commande.
4. Arrêtez le service chronyd et affichez son état. Appuyez sur q pour quitter la commande.
310 RH124-RHEL9.0-fr-2-20220609
chapitre 9 | Contrôle des services et des démons
...output omitted...
May 19 04:24:59 servera.lab.example.com systemd[1]: Stopping NTP client/server...
May 19 04:24:59 servera.lab.example.com systemd[1]: chronyd.service: Deactivated
successfully.
May 19 04:24:59 servera.lab.example.com systemd[1]: Stopped NTP client/server.
RH124-RHEL9.0-fr-2-20220609 311
chapitre 9 | Contrôle des services et des démons
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
312 RH124-RHEL9.0-fr-2-20220609
chapitre 9 | Contrôle des services et des démons
Open Lab
Résultats
• Activer, désactiver, démarrer et arrêter des services.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Utilisez la commande ssh pour vous connecter à la machine serverb en tant qu'utilisateur
student. Sur la machine serverb, démarrez le service psacct.
2. Configurez le service psacct pour qu'il s'exécute au démarrage du système.
3. Arrêtez le service rsyslog.
4. Configurez le service rsyslog de façon à ce qu'il ne s'exécute pas au démarrage du
système.
5. Redémarrez la machine serverb avant d'évaluer l'atelier.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 313
chapitre 9 | Contrôle des services et des démons
Solution
Résultats
• Activer, désactiver, démarrer et arrêter des services.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Utilisez la commande ssh pour vous connecter à la machine serverb en tant qu'utilisateur
student. Sur la machine serverb, démarrez le service psacct.
1.2. Vérifiez le statut du service psacct. Le service psacct est dans un état inactif et
désactivé. L'état désactivé confirme que le service ne démarre pas au démarrage.
314 RH124-RHEL9.0-fr-2-20220609
chapitre 9 | Contrôle des services et des démons
2.2. Vérifiez que le service psacct est activé pour s'exécuter au démarrage du système.
3.1. Vérifiez le statut du service rsyslog. Notez que rsyslog est en cours d'exécution et
activé pour démarrer au démarrage. Appuyez sur q pour quitter la commande.
4.2. Vérifiez que le service rsyslog ne démarre pas pendant le processus de démarrage.
RH124-RHEL9.0-fr-2-20220609 315
chapitre 9 | Contrôle des services et des démons
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
316 RH124-RHEL9.0-fr-2-20220609
chapitre 9 | Contrôle des services et des démons
Résumé
• L'utilitaire systemd fournit une méthode permettant d'activer les ressources du système, les
démons du serveur et d'autres processus à la fois lors du démarrage et sur un système en cours
d'exécution.
• Utilisez l'utilitaire systemctl pour démarrer, arrêter, recharger, activer et désactiver des
services.
• Utilisez l'utilitaire systemd pour gérer les unités de service, les unités de socket et les unités de
chemin d'accès.
• Utilisez la commande systemctl status pour déterminer l'état des démons système et des
services en réseau démarrés par systemd.
• L'utilitaire systemd peut masquer une unité de service afin qu'elle ne s'exécute pas même pour
satisfaire les dépendances.
RH124-RHEL9.0-fr-2-20220609 317
318 RH124-RHEL9.0-fr-2-20220609
chapitre 10
Configuration et sécurisation
de SSH
Objectif Configurer un service de ligne de commande
sécurisé sur les systèmes distants avec OpenSSH.
RH124-RHEL9.0-fr-2-20220609 319
chapitre 10 | Configuration et sécurisation de SSH
Résultats
Se connecter à un système distant et exécutez des commandes avec ssh.
Utilisez la commande ssh pour créer une connexion sécurisée à un système distant, vous
authentifier en tant qu'utilisateur spécifique et obtenir une session shell interactive sur le système
distant. La commande ssh peut exécuter une session sur un système distant sans exécuter de
shell interactif.
La commande ssh suivante vous connecte sur le serveur distant hosta avec le même nom
d'utilisateur developer2. Le système distant vous invite à vous authentifier avec le mot de passe
de l'utilisateur developer2.
La commande ssh suivante exécute la commande hostname sur le système distant hosta en
tant qu'utilisateur developer2 sans accéder au shell interactif distant.
320 RH124-RHEL9.0-fr-2-20220609
chapitre 10 | Configuration et sécurisation de SSH
La sortie montre que l'utilisateur developer2 s'est connecté au système sur le pseudo-terminal
0 à 16:13 aujourd'hui à partir de l'hôte avec l'adresse IP 172.25.250.10 et a été inactif lors
d'une invite du shell pendant sept minutes et trente secondes. La sortie montre également que
l'utilisateur developer1 s'est connecté au système sur le pseudo-terminal 1 et a été inactif
pendant les trois dernières secondes qui ont suivi l'exécution de la commande w.
Lorsqu'un utilisateur utilise la commande ssh pour se connecter à un serveur SSH, la commande
recherche une copie de la clé publique du serveur dans ses fichiers hôtes locaux connus. La clé
peut être préconfigurée dans le fichier /etc/ssh/ssh_known_hosts, ou l'utilisateur peut avoir
le fichier ~/.ssh/known_hosts qui contient la clé dans son répertoire personnel.
Si le client possède une copie de la clé, la commande ssh compare la clé des fichiers hôtes
connus de ce serveur à celle qu'il a reçue. Si les clés ne correspondent pas, le client suppose que
le trafic réseau vers le serveur est compromis, et demande à l'utilisateur de confirmer s'il souhaite
poursuivre la connexion.
Note
Définissez le paramètre StrictHostKeyChecking sur yes dans le fichier
spécifique à l'utilisateur ~/.ssh/config ou le fichier global /etc/ssh/
ssh_config pour que la commande ssh annule toujours la connexion SSH si les
clés publiques ne correspondent pas.
La commande ssh demande une confirmation de connexion si le client ne possède pas de copie
de la clé publique dans ses fichiers hôtes connus. La copie de la clé publique est enregistrée
RH124-RHEL9.0-fr-2-20220609 321
chapitre 10 | Configuration et sécurisation de SSH
Chaque serveur SSH distant que vous connectez enregistre sa clé publique dans le répertoire /
etc/ssh avec l'extension .pub.
Il est recommandé d'ajouter des entrées correspondant aux fichiers ssh_host_*key.pub d'un
serveur à votre fichier ~/.ssh/known_hosts ou au fichier /etc/ssh/ssh_known_hosts à
l'échelle du système.
322 RH124-RHEL9.0-fr-2-20220609
chapitre 10 | Configuration et sécurisation de SSH
Références
Pages du manuel ssh(1), w(1) et hostname(1)
RH124-RHEL9.0-fr-2-20220609 323
chapitre 10 | Configuration et sécurisation de SSH
Exercice guidé
Résultats
• Vous connecter à un système distant.
• Exécuter les commandes avec le shell sécurisé OpenSSH.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. À partir de workstation, ouvrez une session SSH sur la machine servera en tant
qu'utilisateur student.
2. Ouvrez une session SSH sur la machine serverb en tant qu'utilisateur student. Acceptez
la clé de l'hôte. Utilisez student comme mot de passe lorsque vous êtes invité à le fournir
pour l'utilisateur student sur la machine serverb.
324 RH124-RHEL9.0-fr-2-20220609
chapitre 10 | Configuration et sécurisation de SSH
5. Ouvrez une session SSH sur la machine serverb en tant qu'utilisateur root. Utilisez
redhat comme mot de passe de l'utilisateur root. La commande ne vous a pas demandé
d'accepter la clé hôte car elle a été trouvée parmi les hôtes connus. Si l'identité de la
machine serverb change, OpenSSH vous invite à tester la nouvelle clé d'hôte.
Les clés d'hôte peuvent changer pour des raisons légitimes : la machine distante a
peut-être été remplacée en raison d'une panne matérielle ou la machine distante a été
RH124-RHEL9.0-fr-2-20220609 325
chapitre 10 | Configuration et sécurisation de SSH
9. Ouvrez une session SSH sur la machine serverb en tant qu'utilisateur student. Acceptez
la clé d'hôte si un message vous y invite. Utilisez student lorsque vous êtes invité à fournir
le mot de passe de l'utilisateur student sur la machine serverb.
La commande ssh a demandé votre confirmation pour accepter ou refuser la clé d'hôte,
car elle n'a pas pu en trouver une pour l'hôte distant.
10. Quittez le shell de l'utilisateur student sur serverb et vérifiez la présence d'une nouvelle
instance de known_hosts sur servera.
11. Vérifiez que la nouvelle instance du fichier known_hosts dispose de la clé d'hôte de la
machine serverb. La sortie de commande suivante est un exemple ; la sortie réelle sur
votre workstation peut être différente.
12. Exécutez la commande hostname à distance sur la machine serverb sans accéder au
shell interactif distant.
326 RH124-RHEL9.0-fr-2-20220609
chapitre 10 | Configuration et sécurisation de SSH
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 327
chapitre 10 | Configuration et sécurisation de SSH
Résultats
Configurer un compte d'utilisateur pour utiliser une authentification par clé pour se connecter à
des systèmes distants de manière sécurisée, sans mot de passe.
Pour préparer votre compte, générez une paire de fichiers de clés liés au chiffrement. Une clé est
privée et détenue uniquement par vous, tandis que la seconde est votre clé publique connexe qui
n'est pas secrète. La clé privée correspond aux informations d'identification d'authentification et
doit être stockée en toute sécurité. La clé publique est copiée sur votre compte sur les serveurs
auxquels vous accéderez à distance et vérifie votre utilisation de votre clé privée.
Lorsque vous vous connectez à votre compte sur un serveur distant, le service SSH utilise votre
clé publique pour effectuer une vérification cryptographique de la clé privée fournie avec la
requête du client SSH. Si la vérification réussit, votre demande est approuvée et votre accès est
autorisé sans indiquer de mot de passe. Les mots de passe sont faciles à apprendre et voler, mais
les clés privées stockées en toute sécurité sont plus difficiles à compromettre.
328 RH124-RHEL9.0-fr-2-20220609
chapitre 10 | Configuration et sécurisation de SSH
|=*oO . . + * |
|++. . +. |
+----[SHA256]-----+
Vous pouvez choisir de fournir une phrase de passe à ssh-keygen, qui est utilisée pour chiffrer
votre clé privée. L'utilisation d'une phrase de passe est recommandée, de sorte que votre clé
privée ne puisse pas être utilisée par une personne qui y aurait accès. Si vous définissez une
phrase de passe, vous devez la saisir chaque fois que vous utilisez la clé privée. La phrase de passe
est utilisée localement pour déchiffrer votre clé privée avant utilisation, contrairement à votre mot
de passe, qui doit être envoyé en texte clair sur le réseau pour être utilisé.
Vous pouvez utiliser le gestionnaire de clés ssh-agent localement. Il met en cache votre phrase
de passe lors de la première utilisation dans une session de connexion, puis fournit la phrase de
passe pour toutes les utilisations ultérieures de la clé privée dans la même session de connexion.
La commande ssh-agent est présentée ultérieurement dans cette section.
Dans l'exemple suivant, une clé privée protégée par phrase de passe est créée avec la clé
publique.
L'option -f de la commande ssh-keygen spécifie les fichiers dans lesquels enregistrer les
clés. Dans l'exemple précédent, la commande ssh-keygen a enregistré la paire de clés dans les
fichiers /home/user/.ssh/key-with-pass et /home/user/.ssh/key-with-pass.pub.
RH124-RHEL9.0-fr-2-20220609 329
chapitre 10 | Configuration et sécurisation de SSH
Mise en garde
Lors de l'utilisation de la nouvelle commande ssh-keygen, si vous spécifiez le
nom d'une paire de fichiers de clés existante, y compris la paire de clés id_rsa par
défaut, vous écraserez cette paire de clés existante, qui ne peut être restaurée que
si vous disposez d'une sauvegarde pour ces fichiers. L'écrasement d'une paire de
clés entraîne la perte de la clé privée d'origine requise pour accéder aux comptes
que vous avez configurés avec la clé publique correspondante sur les serveurs
distants.
Si vous ne parvenez pas à restaurer votre clé privée locale, vous perdrez l'accès
aux serveurs distants jusqu'à ce que vous distribuiez votre nouvelle clé publique
pour remplacer la clé publique précédente sur chaque serveur. Créez toujours des
sauvegardes de vos clés au cas où elles seraient écrasées ou perdues.
Les clés SSH générées sont stockées, par défaut, dans le sous-répertoire .ssh de votre répertoire
personnel. Pour fonctionner correctement, la clé privée ne doit être lisible que par le propriétaire
(mode de permission 600). Les clés publiques peuvent être lues par n'importe qui (mode de
permission 644 en règle générale).
Testez l'accès à distance, après avoir placé la clé publique, avec la clé privée correspondante. Si
la configuration est correcte, vous aurez accès à votre compte sur le système distant sans être
invité à saisir le mot de passe de votre compte. Si vous ne spécifiez pas de fichier de clé privée, la
commande ssh utilise le fichier ~/.ssh/id_rsa par défaut s'il existe.
Important
Si vous avez configuré une phrase de passe pour protéger votre clé privée, la phrase
de passe sera demandée par SSH lors de la première utilisation. Cependant, si
l'authentification par clé réussit, le mot de passe de votre compte ne vous sera pas
demandé.
330 RH124-RHEL9.0-fr-2-20220609
chapitre 10 | Configuration et sécurisation de SSH
Le gestionnaire de clés ssh-agent peut être configuré pour démarrer automatiquement lorsque
vous vous connectez. L'environnement de bureau graphique GNOME peut démarrer et configurer
automatiquement le gestionnaire de clés ssh-agent. Si vous vous connectez à un environnement
texte, vous devez démarrer le programme ssh-agent manuellement pour chaque session.
Démarrez le programme ssh-agent avec la commande suivante :
Lorsque vous démarrez manuellement la commande ssh-agent, elle exécute des commandes
shell supplémentaires pour définir les variables d'environnement nécessaires à une utilisation avec
la commande ssh-add. Vous pouvez charger manuellement votre phrase de passe de clé privée
dans le gestionnaire de clés à l'aide de la commande ssh-add.
Les exemples de commandes ssh-add suivants ajoutent les clés privées du fichier ~/.ssh/
id_rsa par défaut, puis d'un fichier ~/.ssh/key-with-pass.
La commande ssh suivante utilise le fichier de clé privée par défaut pour accéder à votre compte
sur un serveur SSH distant.
La commande ssh suivante utilise le fichier de clé privée ~/.ssh/key-with-pass pour accéder
à votre compte sur le serveur distant. La clé privée de cet exemple a déjà été déchiffrée et ajoutée
au gestionnaire de clés ssh-agent. Par conséquent, la commande ssh ne vous invite pas à saisir
la phrase de passe pour déchiffrer la clé privée.
RH124-RHEL9.0-fr-2-20220609 331
chapitre 10 | Configuration et sécurisation de SSH
Lorsque vous vous déconnectez d'une session qui utilisait un gestionnaire de clés ssh-agent,
toutes les phrases de passe mises en cache sont effacées de la mémoire.
L'exemple suivant illustre les informations fournies lors de l'utilisation de l'option de verbosité la
plus faible :
332 RH124-RHEL9.0-fr-2-20220609
chapitre 10 | Configuration et sécurisation de SSH
Si une méthode d'authentification tentée échoue, un serveur SSH distant basculera vers d'autres
méthodes d'authentification autorisées jusqu'à ce que toutes les méthodes disponibles soient
essayées. L'exemple suivant illustre un accès à distance avec une clé SSH qui échoue, mais le
serveur SSH propose une authentification par mot de passe qui réussit.
host serverb
HostName serverb.example.com
User userb
IdentityFile ~/.ssh/id_rsa_serverb
Le fichier ~/.ssh/config est également utile pour configurer des hôtes de saut SSH. Un
hôte de saut SSH est un serveur qui fait office de proxy pour les connexions SSH à d'autres
hôtes, généralement internes. Prenons l'exemple d'un hôte appelé external accessible via
Internet, alors qu'un hôte appelé internal n'est accessible qu'en interne. Utilisez le paramètre
ProxyHost dans le fichier ~/.ssh/config pour vous connecter à l'hôte internal via l'hôte
external :
RH124-RHEL9.0-fr-2-20220609 333
chapitre 10 | Configuration et sécurisation de SSH
host external
HostName external.example.com
Références
Pages du manuel ssh-keygen(1), ssh-copy-id(1), ssh-agent(1) et ssh-add(1)
334 RH124-RHEL9.0-fr-2-20220609
chapitre 10 | Configuration et sécurisation de SSH
Exercice guidé
Résultats
• Générer une paire de clés SSH sans protection par phrase de passe.
• Générer une paire de clés SSH avec protection par phrase de passe.
• S'authentifier en utilisant les deux clés SSH sans protection par phrase de passe et avec
protection par phrase de passe.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Connectez-vous à la machine serverb en tant qu'utilisateur student.
2. Basculez vers l'utilisateur operator1 sur la machine serverb. Utilisez redhat comme
mot de passe.
RH124-RHEL9.0-fr-2-20220609 335
chapitre 10 | Configuration et sécurisation de SSH
4. Envoyez la clé publique de la paire de clés SSH à l'utilisateur operator1 sur la machine
servera, avec redhat comme mot de passe.
La commande ssh précédente ne vous a pas demandé de mot de passe car elle utilise la
clé privée sans phrase de passe sur la base de la clé publique exportée pour s'authentifier
en tant qu'utilisateur operator1 sur la machine servera. Cette approche n'est pas
sécurisée, car toute personne ayant accès au fichier de clé privée peut se connecter à la
machine servera en tant qu'utilisateur operator1. L'alternative sécurisée consiste à
protéger la clé privée avec une phrase de passe, ce qui constitue l'étape suivante.
6. Générez un autre ensemble de clés SSH avec le nom par défaut et sans phrase de passe,
en écrasant les fichiers de clés SSH générés précédemment. Essayez de vous connecter
336 RH124-RHEL9.0-fr-2-20220609
chapitre 10 | Configuration et sécurisation de SSH
à la machine servera en utilisant les nouvelles clés SSH. La commande ssh demande un
mot de passe, car elle ne peut pas s'authentifier avec la clé SSH. Exécutez à nouveau la
commande ssh avec l'option -v (verbose) pour vérifier le message d'erreur.
Envoyez la clé publique de la paire de clés SSH à l'utilisateur operator1 sur la machine
servera, pour remplacer la clé publique précédente. Utilisez redhat comme mot de
passe lorsque vous êtes invité à le fournir pour l'utilisateur operator1 sur la machine
servera. Exécutez la commande hostname sur la machine servera à distance à l'aide
de la commande ssh sans accéder au shell interactif distant pour vérifier qu'elle fonctionne
toujours.
6.1. Générez à nouveau un autre ensemble de clés SSH avec le nom par défaut et sans
phrase de passe, en écrasant les fichiers de clés SSH générés précédemment.
6.2. Essayez de vous connecter à la machine servera en utilisant les nouvelles clés SSH.
La commande ssh demande un mot de passe, car elle ne peut pas s'authentifier avec
la clé SSH. Appuyez sur Ctrl+c pour quitter la commande ssh lorsque vous êtes
invité à saisir un mot de passe. Exécutez à nouveau la commande ssh avec l'option -
v (verbose) pour vérifier le message d'erreur. Appuyez à nouveau sur Ctrl+c pour
quitter la commande ssh lorsqu'elle vous demande un mot de passe.
6.3. Envoyez la clé publique de la paire de clés SSH à l'utilisateur operator1 sur la
machine servera, pour remplacer la clé publique précédente. Utilisez redhat
RH124-RHEL9.0-fr-2-20220609 337
chapitre 10 | Configuration et sécurisation de SSH
comme mot de passe lorsque vous êtes invité à le fournir pour l'utilisateur
operator1 sur la machine servera. Exécutez la commande hostname sur la
machine servera à distance à l'aide de la commande ssh sans accéder au shell
interactif distant pour vérifier qu'elle fonctionne toujours.
7. Générez un autre jeu de clés SSH avec protection par phrase de passe. Enregistrez la clé
sous le nom de /home/operator1/.ssh/key2. Utilisez redhatpass comme phrase de
passe de la clé privée.
8. Envoyez la clé publique de la paire de clés SSH protégée par phrase de passe à l'utilisateur
operator1 sur la machine servera. La commande ne vous demande de mot de passe
parce qu'elle utilise la clé publique de la clé privée sans phrase de passe que vous avez
exportée vers la machine servera à l'étape précédente.
338 RH124-RHEL9.0-fr-2-20220609
chapitre 10 | Configuration et sécurisation de SSH
10. Exécutez le programme ssh-agent dans votre shell Bash et ajoutez la clé privée protégée
par phrase de passe (/home/operator1/.ssh/key2) de la paire de clés SSH à la
session shell.
La commande démarre le programme ssh-agent et configure la session shell pour
l'utiliser. Vous utilisez ensuite la commande ssh-add pour fournir la clé privée déverrouillée
au programme ssh-agent.
11. Exécutez la commande hostname sur la machine servera à distance sans accéder à
un shell interactif distant. Utilisez la clé /home/operator1/.ssh/key2 comme fichier
d'identité.
La commande ne vous demande pas de saisir la phrase de passe de manière interactive.
RH124-RHEL9.0-fr-2-20220609 339
chapitre 10 | Configuration et sécurisation de SSH
13.1. Utilisez la commande su pour basculer vers l'utilisateur operator1. Utilisez redhat
comme mot de passe de l'utilisateur operator1.
14.1. Quittez et fermez les fenêtres de terminal supplémentaires. Les commandes exit
quittent le shell de l'utilisateur operator1, mettant fin à la session shell où ssh-
agent est actif, et reviennent au shell de l'utilisateur student sur la machine
serverb.
340 RH124-RHEL9.0-fr-2-20220609
chapitre 10 | Configuration et sécurisation de SSH
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 341
chapitre 10 | Configuration et sécurisation de SSH
Personnalisation de la configuration du
service OpenSSH
Résultats
Désactiver les connexions directes en tant que root et l'authentification par mot de passe pour le
service OpenSSH.
La configuration par défaut du serveur OpenSSH fonctionne bien dans de nombreux cas
d'utilisation. Cependant, vous souhaiterez peut-être apporter des modifications pour renforcer
la sécurité de votre système. Vous voudrez peut-être interdire la connexion directe à distance
au compte root, et peut-être interdire l'authentification par mot de passe (en faveur de
l'authentification par clé privée SSH).
• Le nom d'utilisateur root existe par défaut sur chaque système Linux. Dès lors, il suffit à un
intrus potentiel de ne deviner que son mot de passe, au lieu d'une combinaison valide d'un nom
d'utilisateur et d'un mot de passe. Ce scénario facilite les choses pour un attaquant.
• Du point de vue de l'audit, il peut être difficile de savoir quel utilisateur autorisé s'est connecté
en tant qu'utilisateur root et a apporté des modifications. Si les utilisateurs doivent se
connecter en tant qu'utilisateur régulier et basculer vers le compte root, vous pouvez voir un
événement de journal utile pour assurer la responsabilité.
PermitRootLogin yes
Avec le paramètre PermitRootLogin défini sur yes, comme c'est le cas par défaut, les
utilisateurs sont autorisés à se connecter en tant qu'utilisateur root. Pour éviter cela, définissez
la valeur sur no. Sinon, pour empêcher l'authentification par mot de passe mais autoriser
l'authentification par clé privée pour root, définissez le paramètre PermitRootLogin sur
without-password.
Le serveur SSH (sshd) doit être rechargé pour que les modifications prennent effet.
342 RH124-RHEL9.0-fr-2-20220609
chapitre 10 | Configuration et sécurisation de SSH
• Les attaquants ne peuvent pas utiliser d'attaques en devinant des mots de passe pour pénétrer
à distance dans des comptes connus sur le système.
• Avec les clés privées protégées par phrase de passe, un attaquant a besoin à la fois de la phrase
de passe et d'une copie de la clé privée. Avec les mots de passe, un attaquant a juste besoin du
mot de passe.
• En utilisant les clés privées protégées par phrase de passe avec ssh-agent, la phrase de passe
est saisie et exposée moins souvent, et la connexion est plus pratique pour l'utilisateur.
PasswordAuthentication yes
Avec la valeur par défaut de yes pour le paramètre PasswordAuthentication dans le fichier
/etc/ssh/sshd_config, le serveur SSH autorise les utilisateurs à utiliser l'authentification par
mot de passe lorsqu'ils se connectent. La valeur no pour PasswordAuthentication empêche
les utilisateurs d'utiliser l'authentification par mot de passe.
Chaque fois que vous modifiez le fichier /etc/ssh/sshd_config, vous devez recharger le
service sshd pour que les modifications prennent effet.
Important
Si vous désactivez l'authentification par mot de passe pour ssh, vous devez vous
assurer que le fichier ~/.ssh/authorized_keys de l'utilisateur sur le serveur
distant est rempli avec sa clé publique, afin qu'il puisse se connecter.
Références
Pages de manuel ssh(1) et sshd_config(5)
RH124-RHEL9.0-fr-2-20220609 343
chapitre 10 | Configuration et sécurisation de SSH
Exercice guidé
Personnalisation de la configuration du
service OpenSSH
Au cours de cet exercice, vous désactivez les connexions directes en tant que root et
l'authentification par mot de passe pour le service OpenSSH sur l'un de vos serveurs.
Résultats
• Désactiver les connexions directes en tant que root via ssh.
• Désactiver l'authentification par mot de passe permettant aux utilisateurs distants de se
connecter via SSH.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande permet de s'assurer que toutes les ressources requises sont disponibles.
Instructions
1. À partir de workstation, ouvrez une session SSH sur la machine serverb en tant
qu'utilisateur student.
3. Utilisez la commande ssh-keygen pour générer des clés SSH. N'entrez aucune phrase de
passe pour les clés.
344 RH124-RHEL9.0-fr-2-20220609
chapitre 10 | Configuration et sécurisation de SSH
4. Utilisez la commande ssh-copy-id pour envoyer la clé publique de la paire de clés SSH à
l'utilisateur operator2 sur la machine servera. Utilisez redhat comme mot de passe de
l'utilisateur operator2 sur servera.
5. Confirmez que vous pouvez vous connecter à la machine servera en tant qu'utilisateur
operator2 avec les clés SSH.
5.1. Ouvrez une session SSH sur la machine servera en tant qu'utilisateur operator2.
RH124-RHEL9.0-fr-2-20220609 345
chapitre 10 | Configuration et sécurisation de SSH
6. Confirmez que vous pouvez vous connecter à la machine servera en tant qu'utilisateur
root avec redhat comme mot de passe.
6.1. Ouvrez une session SSH sur la machine servera en tant qu'utilisateur root avec
redhat comme mot de passe.
7. Confirmez que vous pouvez vous connecter à la machine servera en tant qu'utilisateur
operator3 avec redhat comme mot de passe.
7.1. Ouvrez une session SSH sur la machine servera en tant qu'utilisateur operator3
avec redhat comme mot de passe.
8. Configurez le service sshd sur la machine servera pour empêcher les utilisateurs
de se connecter en tant qu'utilisateur root. Utilisez redhat comme mot de passe du
superutilisateur lorsque nécessaire.
8.1. Ouvrez une session SSH sur la machine servera en tant qu'utilisateur operator2
avec les clés SSH.
346 RH124-RHEL9.0-fr-2-20220609
chapitre 10 | Configuration et sécurisation de SSH
8.2. Basculez vers l'utilisateur root sur la machine servera. Utilisez redhat comme mot
de passe de l'utilisateur root.
[operator2@servera ~]$ su -
Password: redhat
[root@servera ~]#
...output omitted...
PermitRootLogin no
...output omitted...
[root@servera ~]# systemctl reload sshd
8.4. Ouvrez un autre terminal sur workstation et ouvrez une session SSH sur la
machine serverb en tant qu'utilisateur operator2. À partir de la machine
serverb, essayez de vous connecter à la machine servera en tant qu'utilisateur
root. Cette commande devrait échouer parce que vous avez désactivé la connexion
de l'utilisateur root via SSH à l'étape précédente.
Note
Pour des raisons pratiques, la connexion sans mot de passe est déjà configurée
entre workstation et serverb dans l'environnement de formation.
9. Configurez le service sshd sur la machine servera pour permettre aux utilisateurs de
s'authentifier en utilisant uniquement des clés SSH, plutôt que leurs mots de passe.
9.1. Retournez sur le premier terminal avec le shell actif de l'utilisateur root sur la
machine servera. Définissez le paramètre PasswordAuthentication sur no
dans le fichier /etc/ssh/sshd_config et rechargez le service sshd. Vous pouvez
utiliser la commande vim /etc/ssh/sshd_config pour éditer le fichier de
configuration du service sshd.
RH124-RHEL9.0-fr-2-20220609 347
chapitre 10 | Configuration et sécurisation de SSH
...output omitted...
PasswordAuthentication no
...output omitted...
[root@servera ~]# systemctl reload sshd
9.2. Accédez au deuxième terminal avec le shell actif de l'utilisateur operator2 sur la
machine serverb et essayez de vous connecter à la machine servera en tant
qu'utilisateur operator3. Cette commande devrait échouer car les clés SSH ne
sont pas configurées pour l'utilisateur operator3, et le service sshd sur la machine
servera n'autorise pas l'utilisation de mots de passe pour l'authentification.
Note
Pour plus de précision, vous pouvez utiliser les options explicites -o
PubkeyAuthentication=no et -o PasswordAuthentication=yes avec la
commande ssh. Vous pouvez remplacer les valeurs par défaut de la commande ssh
et déterminer avec confiance que la commande précédente échoue en fonction
des paramètres que vous avez définis dans le fichier /etc/ssh/sshd_config à
l'étape précédente.
9.3. Retournez sur le premier terminal avec le shell actif de l'utilisateur root sur la
machine servera. Vérifiez que PubkeyAuthentication est activé dans le fichier
/etc/ssh/sshd_config. Vous pouvez utiliser la commande vim /etc/ssh/
sshd_config pour visualiser le fichier de configuration du service sshd.
...output omitted...
#PubkeyAuthentication yes
...output omitted...
9.4. Revenez au deuxième terminal avec le shell actif de l'utilisateur operator2 sur la
machine serverb et essayez de vous connecter à la machine servera en tant
qu'utilisateur operator2. Cette commande devrait réussir car les clés SSH sont
configurées pour l'utilisateur operator2 afin de se connecter à la machine servera
à partir de la machine serverb.
9.5. À partir du deuxième terminal, quittez le shell de l'utilisateur operator2 sur les
machines servera et serverb.
348 RH124-RHEL9.0-fr-2-20220609
chapitre 10 | Configuration et sécurisation de SSH
9.7. À partir du premier terminal, quittez le shell de l'utilisateur root sur la machine
servera.
9.8. À partir du premier terminal, quittez le shell de l'utilisateur operator2 sur les
machines servera et serverb.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 349
chapitre 10 | Configuration et sécurisation de SSH
Open Lab
Résultats
• S'authentifier avec des clés SSH.
• Empêcher les utilisateurs de se connecter directement en tant qu'utilisateur root via le
service ssh.
• Empêcher les utilisateurs de se connecter au système à l'aide de l'authentification par mot
de passe SSH.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. À partir de la machine workstation, connectez-vous à la machine servera en tant
qu'utilisateur student.
2. Basculez vers l'utilisateur production1 sur la machine servera. Utilisez redhat comme
mot de passe.
3. Générez des clés SSH sans phrase de passe pour l'utilisateur production1 sur la machine
servera.
4. Envoyez la clé publique de la paire de clés SSH à l'utilisateur production1 sur la machine
serverb.
5. Vérifiez que l'utilisateur production1 peut se connecter à la machine serverb avec les
clés SSH.
6. Configurez le service sshd sur serverb pour empêcher les utilisateurs de se connecter en
tant qu'utilisateur root. Utilisez redhat comme mot de passe root.
7. Configurez le service sshd sur la machine serverb pour permettre aux utilisateurs de
s'authentifier en utilisant uniquement des clés SSH, plutôt que leurs mots de passe.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
350 RH124-RHEL9.0-fr-2-20220609
chapitre 10 | Configuration et sécurisation de SSH
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 351
chapitre 10 | Configuration et sécurisation de SSH
Solution
Résultats
• S'authentifier avec des clés SSH.
• Empêcher les utilisateurs de se connecter directement en tant qu'utilisateur root via le
service ssh.
• Empêcher les utilisateurs de se connecter au système à l'aide de l'authentification par mot
de passe SSH.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. À partir de la machine workstation, connectez-vous à la machine servera en tant
qu'utilisateur student.
2. Basculez vers l'utilisateur production1 sur la machine servera. Utilisez redhat comme
mot de passe.
3. Générez des clés SSH sans phrase de passe pour l'utilisateur production1 sur la machine
servera.
352 RH124-RHEL9.0-fr-2-20220609
chapitre 10 | Configuration et sécurisation de SSH
4. Envoyez la clé publique de la paire de clés SSH à l'utilisateur production1 sur la machine
serverb.
5. Vérifiez que l'utilisateur production1 peut se connecter à la machine serverb avec les
clés SSH.
6. Configurez le service sshd sur serverb pour empêcher les utilisateurs de se connecter en
tant qu'utilisateur root. Utilisez redhat comme mot de passe root.
[production1@serverb ~]$ su -
Password: redhat
[root@serverb ~]#
RH124-RHEL9.0-fr-2-20220609 353
chapitre 10 | Configuration et sécurisation de SSH
...output omitted...
PermitRootLogin no
...output omitted...
[root@serverb ~]# systemctl reload sshd.service
Note
Pour des raisons pratiques, la connexion root sans mot de passe est déjà
configurée entre workstation et servera dans l'environnement de formation.
Cependant, cette configuration n'est pas sécurisée et n'est pas recommandée pour
les environnements de production.
7. Configurez le service sshd sur la machine serverb pour permettre aux utilisateurs de
s'authentifier en utilisant uniquement des clés SSH, plutôt que leurs mots de passe.
7.1. Retournez sur le premier terminal avec le shell actif root sur la machine serverb.
Définissez le paramètre PasswordAuthentication sur no dans le fichier /etc/
ssh/sshd_config et rechargez le service sshd. Modifiez le paramètre actif non
commenté et non un exemple commenté.
...output omitted...
PasswordAuthentication no
...output omitted...
[root@serverb ~]# systemctl reload sshd
7.2. Accédez au deuxième terminal avec le shell actif production1 sur la machine
servera et essayez de vous connecter à la machine serverb en tant qu'utilisateur
354 RH124-RHEL9.0-fr-2-20220609
chapitre 10 | Configuration et sécurisation de SSH
production2. Cette commande devrait échouer car les clés SSH ne sont pas
configurées pour l'utilisateur production2, et le service sshd sur la machine
serverb n'autorise pas l'utilisation de mots de passe pour l'authentification.
Note
Pour plus de précision, vous pouvez utiliser la commande explicite ssh et les option
-o PubkeyAuthentication=no et -o PasswordAuthentication=yes.
Avec ces options, vous pouvez remplacer les valeurs par défaut de la commande
ssh et déterminer avec confiance si la commande précédente échoue en fonction
des paramètres que vous avez définis dans le fichier /etc/ssh/sshd_config à
l'étape précédente.
7.3. Retournez sur le premier terminal avec le shell actif root sur la machine serverb.
Vérifiez que PubkeyAuthentication est activé dans le fichier /etc/ssh/
sshd_config.
7.4. Revenez au deuxième terminal avec le shell actif production1 sur la machine
servera et essayez de vous connecter à la machine serverb en tant qu'utilisateur
production1. Cette commande devrait réussir car les clés SSH sont configurées pour
l'utilisateur production1 afin de se connecter à la machine serverb à partir de la
machine servera.
RH124-RHEL9.0-fr-2-20220609 355
chapitre 10 | Configuration et sécurisation de SSH
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
356 RH124-RHEL9.0-fr-2-20220609
chapitre 10 | Configuration et sécurisation de SSH
Résumé
• La commande ssh permet aux utilisateurs d'accéder en toute sécurité aux systèmes distants
avec le protocole SSH.
• Un système client stocke les identités de serveurs distants dans les fichiers ~/.ssh/
known_hosts et /etc/ssh/ssh_known_hosts.
• Le service sshd implémente le protocole SSH dans les systèmes Red Hat Enterprise Linux.
• Il est recommandé de configurer sshd pour désactiver les connexions à distance en tant que
root et d'exiger une authentification par clé publique plutôt que par mot de passe.
RH124-RHEL9.0-fr-2-20220609 357
358 RH124-RHEL9.0-fr-2-20220609
chapitre 11
RH124-RHEL9.0-fr-2-20220609 359
chapitre 11 | Analyse et stockage des journaux
Résultats
Décrire l'architecture de journalisation utilisée par Red Hat Enterprise Linux pour enregistrer des
événements.
Journalisation système
Le noyau du système d'exploitation et les autres processus consignent dans un journal les
événements qui se produisent lorsque le système fonctionne. Ces journaux permettent de
contrôler le système et de résoudre les problèmes. Vous pouvez utiliser des utilitaires de texte tels
que les commandes less et tail pour inspecter ces journaux.
Red Hat Enterprise Linux utilise un système de journalisation standard basé sur le protocole Syslog
pour consigner les messages du système. De nombreux programmes utilisent ce système de
consignation pour enregistrer les événements et les organiser dans des fichiers journaux. Les
services systemd-journald et rsyslog traitent les messages syslog dans Red Hat Enterprise
Linux 9.
• Noyau du système
• Résultats des premières étapes du processus de démarrage
• Sortie standard et erreur standard des démons
• Événements du Syslog
Le service systemd-journald restructure ensuite les journaux dans un format standard et les
écrit dans un journal système structuré et indexé. Par défaut, ce journal est stocké sur un système
de fichiers qui ne persiste pas après les redémarrages.
Le service rsyslog lit les messages syslog reçus par le service systemd-journald depuis
le journal dès qu'ils arrivent. Le service rsyslog traite ensuite les événements syslog, en les
enregistrant dans ses fichiers journaux ou en les transmettant à d'autres services selon sa propre
configuration.
Le service rsyslog trie et écrit les messages syslog dans les fichiers journaux qui persistent après
les redémarrages dans /var/log. Le service trie les messages de journal dans des fichiers de
journal spécifiques en fonction du type de programme qui a envoyé chaque message et de la
priorité de chaque message syslog.
En plus des fichiers de messages syslog, le répertoire /var/log contient les fichiers journaux
d'autres services du système. Le tableau suivant répertorie certains fichiers utiles du répertoire /
var/log.
360 RH124-RHEL9.0-fr-2-20220609
chapitre 11 | Analyse et stockage des journaux
/var/log/messages La plupart des messages syslog sont consignés ici. Les messages
liés à l'authentification, au traitement des courriers électroniques,
à l'exécution de tâches planifiées et ceux qui sont purement liés au
débogage constituent des exceptions.
Certaines applications n'utilisent pas le service syslog pour gérer leurs messages de journal. Par
exemple, le serveur Web Apache enregistre les messages de journal dans des fichiers d'un sous-
répertoire du répertoire /var/log.
Références
Pages du manuel systemd-journald.service(8), rsyslogd(8) et
rsyslog.conf(5)
RH124-RHEL9.0-fr-2-20220609 361
chapitre 11 | Analyse et stockage des journaux
Quiz
1. Quel fichier journal stocke la plupart des messages syslog, à l'exception de ceux liés à
l'authentification, au courrier électronique, aux tâches planifiées et au débogage ?
a. /var/log/maillog
b. /var/log/boot.log
c. /var/log/messages
d. /var/log/secure
2. Quel fichier journal stocke les messages syslog liés aux opérations de sécurité et
d'authentification dans le système ?
a. /var/log/maillog
b. /var/log/boot.log
c. /var/log/messages
d. /var/log/secure
3. Quel service trie et organise les messages syslog en fichiers dans /var/log ?
a. rsyslog
b. systemd-journald
c. auditd
d. tuned
362 RH124-RHEL9.0-fr-2-20220609
chapitre 11 | Analyse et stockage des journaux
6. Quel fichier stocke les messages syslog liés aux tâches planifiées ?
a. /var/log/cron
b. /var/log/tallylog
c. /var/log/spooler
d. /var/log/secure
RH124-RHEL9.0-fr-2-20220609 363
chapitre 11 | Analyse et stockage des journaux
Solution
1. Quel fichier journal stocke la plupart des messages syslog, à l'exception de ceux liés à
l'authentification, au courrier électronique, aux tâches planifiées et au débogage ?
a. /var/log/maillog
b. /var/log/boot.log
c. /var/log/messages
d. /var/log/secure
2. Quel fichier journal stocke les messages syslog liés aux opérations de sécurité et
d'authentification dans le système ?
a. /var/log/maillog
b. /var/log/boot.log
c. /var/log/messages
d. /var/log/secure
3. Quel service trie et organise les messages syslog en fichiers dans /var/log ?
a. rsyslog
b. systemd-journald
c. auditd
d. tuned
364 RH124-RHEL9.0-fr-2-20220609
chapitre 11 | Analyse et stockage des journaux
6. Quel fichier stocke les messages syslog liés aux tâches planifiées ?
a. /var/log/cron
b. /var/log/tallylog
c. /var/log/spooler
d. /var/log/secure
RH124-RHEL9.0-fr-2-20220609 365
chapitre 11 | Analyse et stockage des journaux
Résultats
Interpréter les événements dans les fichiers syslog pertinents pour résoudre des problèmes ou
vérifier l'état du système.
Le tableau suivant répertorie les priorités syslog standard par ordre décroissant.
366 RH124-RHEL9.0-fr-2-20220609
chapitre 11 | Analyse et stockage des journaux
Le service rsyslog détermine comment traiter les messages du journal selon leur fonction et
leur niveau de priorité. Les règles configurent cette fonction et cette priorité dans le fichier /etc/
rsyslog.conf et dans n'importe quel fichier du répertoire /etc/rsyslog.d avec l'extension
.conf. Les paquetages logiciels peuvent facilement ajouter des règles en installant un fichier
approprié dans le répertoire /etc/rsyslog.d.
Chaque règle qui contrôle le tri des messages syslog correspond à une ligne dans l'un des
fichiers de configuration. La partie gauche de chaque ligne indique la fonction et la gravité des
messages syslog correspondant à la règle. La partie droite de chaque ligne indique le fichier où
sera enregistré le message du journal (ou un autre endroit pour le distribuer). Un astérisque (*) est
un caractère générique qui correspond à toutes les valeurs.
Par exemple, la ligne suivante du fichier /etc/rsyslog.d enregistre les messages envoyés à la
fonction authpriv à un niveau de priorité quelconque dans le fichier /var/log/secure :
authpriv.* /var/log/secure
Parfois, les messages de journal correspondent à plusieurs règles dans le fichier rsyslog.conf.
Dans ce cas, un message est stocké dans plusieurs fichiers journaux. Le mot-clé none dans le
champ de priorité indique qu'aucun message pour la fonction indiquée ne doit être stocké dans le
fichier donné pour limiter les messages stockés.
Au lieu de consigner les messages syslog dans un fichier, ils peuvent également être affichés
sur le terminal de tous les utilisateurs connectés. Le fichier rsyslog.conf offre un paramètre
permettant d'imprimer tous les messages syslog avec la priorité emerg sur les terminaux de tous
les utilisateurs connectés.
RH124-RHEL9.0-fr-2-20220609 367
chapitre 11 | Analyse et stockage des journaux
Note
Le sous-système syslog comporte de nombreuses autres fonctionnalités qui vont
au-delà de la portée de ce cours. Pour en savoir plus, reportez-vous à la page de
manuel rsyslog.conf(5) et à la documentation HTML complète au fichier /usr/
share/doc/rsyslog/html/index.html fourni par le paquetage rsyslog-
doc.
Après les rotations, généralement au bout de quatre semaines, le fichier journal le plus ancien est
supprimé pour libérer de l'espace disque. Une tâche planifiée exécute la commande logrotate
tous les jours pour voir les exigences de rotation des fichiers journaux. La plupart des fichiers
journaux changent chaque semaine ; la commande logrotate effectue une rotation de certains
fichiers journaux plus tôt ou plus tard, ou lorsqu'ils atteignent une taille spécifique.
368 RH124-RHEL9.0-fr-2-20220609
chapitre 11 | Analyse et stockage des journaux
Mar 20 20:11:48 localhost sshd[1433]: Failed password for student from 172.25.0.10
port 59344 ssh2
Par exemple, pour surveiller les tentatives de connexion infructueuses, exécutez la commande
tail dans un terminal, puis dans un autre, exécutez la commande ssh en tant qu'utilisateur root
pendant qu'un utilisateur tente de se connecter au système.
...output omitted...
Mar 20 09:01:13 host sshd[2712]: Accepted password for root from 172.25.254.254
port 56801 ssh2
Mar 20 09:01:13 host sshd[2712]: pam_unix(sshd:session): session opened for user
root by (uid=0)
Pour envoyer au service rsyslog un message à enregistrer dans le fichier journal /var/log/
boot.log, exécutez la commande logger :
RH124-RHEL9.0-fr-2-20220609 369
chapitre 11 | Analyse et stockage des journaux
Références
Pages de manuel logger(1), tail(1), rsyslog.conf(5) et logrotate(8)
Manuel de rsyslog
370 RH124-RHEL9.0-fr-2-20220609
chapitre 11 | Analyse et stockage des journaux
Exercice guidé
Résultats
• Configurer le service rsyslog pour écrire tous les messages de journaux avec la priorité
debug dans le fichier journal /var/log/messages-debug.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Connectez-vous à la machine servera en tant qu'utilisateur student et basculez vers
l'utilisateur root.
2. Configurez le service rsyslog sur la machine servera pour consigner tous les messages
avec la priorité debug, ou plus élevée, pour tout service dans le nouveau fichier journal /
var/log/messages-debug en modifiant le fichier de configuration /etc/rsyslog.d/
debug.conf.
*.debug /var/log/messages-debug
Cette ligne de configuration consigne les messages syslog de tout type avec un
niveau de priorité debug ou supérieur. Le service rsyslog écrit les messages
correspondants dans le fichier journal /var/log/messages-debug. Le caractère
générique (*) dans les champs de type et de priorité de la ligne de configuration
indique un type ou une priorité de messages de journaux.
RH124-RHEL9.0-fr-2-20220609 371
chapitre 11 | Analyse et stockage des journaux
3. Vérifiez que tous les messages de journaux avec la priorité debug apparaissent dans le
fichier journal /var/log/messages-debug.
3.2. Affichez les dix derniers messages de journaux du fichier journal /var/log/
messages-debug et vérifiez que vous voyez le message Debug Message Test
parmi les autres messages de journaux.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
372 RH124-RHEL9.0-fr-2-20220609
chapitre 11 | Analyse et stockage des journaux
Résultats
Trouver et interpréter des entrées dans le journal système pour résoudre des problèmes ou vérifier
l'état du système.
Important
Dans Red Hat Enterprise Linux, le répertoire /run/log basé sur la mémoire stocke
le journal système par défaut. Le contenu du répertoire /run/log est perdu
lorsque le système est arrêté. Vous pouvez remplacer le répertoire journald par
un emplacement persistant, dont nous parlerons plus loin dans ce chapitre.
Pour récupérer les messages du journal, utilisez la commande journalctl. Vous pouvez
utiliser la commande journalctl pour afficher tous les messages du journal ou rechercher des
événements spécifiques en fonction de toute une série d'options et de critères. L'exécution de
la commande en tant que root vous permet d'avoir un accès complet au journal. Les utilisateurs
normaux peuvent également utiliser la commande journalctl, mais le système restreint
l'affichage à certains messages.
RH124-RHEL9.0-fr-2-20220609 373
chapitre 11 | Analyse et stockage des journaux
La commande journalctl met en évidence les messages importants du journal : les messages
avec la priorité notice ou warning sont en gras tandis que les messages avec la priorité error
ou plus élevée sont en texte rouge.
La clé pour utiliser correctement le journal lors d'un dépannage ou d'un contrôle consiste à lancer
les recherches dans le journal pour afficher uniquement les sorties pertinentes.
Par défaut, la commande journalctl avec l'option -n affiche les 10 dernières entrées de journal.
Vous pouvez ajuster le nombre d'entrées du journal avec un argument facultatif qui spécifie le
nombre d'entrées de journal à afficher. Par exemple, si vous souhaitez consulter les cinq dernières
entrées du journal, vous pouvez exécuter la commande journalctl suivante :
374 RH124-RHEL9.0-fr-2-20220609
chapitre 11 | Analyse et stockage des journaux
Pour résoudre des problèmes, filtrez la sortie du journal en fonction de la priorité des entrées de
ce dernier. La commande journalctl avec l'option -p affiche les entrées du journal à un niveau
de priorité spécifié (par nom ou par numéro) ou supérieur. La commande journalctl traite les
niveaux de priorité debug, info, notice, warning, err, crit, alert et emerg par ordre de
priorité croissant.
Par exemple, exécutez la commande journalctl suivante pour lister les entrées de journal avec
la priorité err ou supérieure :
Vous souhaiterez peut-être afficher des messages pour une unité systemd spécifiée. Vous pouvez
afficher les messages d'une unité systemd spécifiée en utilisant la commande journalctl avec
l'option -u et le nom de l'unité.
Pour une recherche d'événements spécifiques, vous pouvez limiter les résultats à un laps de temps
spécifique. La commande journalctl propose deux options pour limiter les résultats à une
période spécifique : --since et --until. Les deux options prennent un argument de temps au
format "AAAA-MM-JJhh:mm:ss" (les guillemets doubles sont nécessaires pour préserver l'espace
dans l'option).
La commande journalctl suppose que le jour commence à 00:00:00 lorsque vous omettez
l'argument de temps. La commande prend également en compte le jour actuel lorsque vous
RH124-RHEL9.0-fr-2-20220609 375
chapitre 11 | Analyse et stockage des journaux
omettez l'argument du jour. Les deux options acceptent les arguments yesterday, today et
tomorrow en plus du champ de date et d'heure.
Par exemple, exécutez la commande journalctl suivante pour lister toutes les entrées de
journal dans les enregistrements d'aujourd'hui.
Exécutez la commande journalctl suivante pour lister toutes les entrées de journal de
2022-03-11 20:30:00 à 2022-03-14 10:00:00.
Vous pouvez également spécifier toutes les entrées depuis une heure donnée par rapport au
présent. Par exemple, pour spécifier toutes les entrées de la dernière heure, vous pouvez utiliser la
commande suivante :
Note
Vous pouvez utiliser d'autres spécifications de temps plus complexes avec les
options --since et --until. Vous trouverez quelques exemples dans la page de
manuel systemd.time(7).
En plus du contenu visible du journal, vous pouvez afficher des entrées de journal supplémentaires
si vous activez la sortie détaillée. Vous pouvez utiliser n'importe quel champ supplémentaire
affiché pour filtrer la sortie d'une requête auprès du journal. La sortie détaillée permet de réduire
la sortie de recherches complexes de certains événements du journal.
376 RH124-RHEL9.0-fr-2-20220609
chapitre 11 | Analyse et stockage des journaux
SYSLOG_IDENTIFIER=systemd
_UID=0
_GID=0
_TRANSPORT=journal
_CAP_EFFECTIVE=1ffffffffff
TID=1
CODE_FILE=src/core/job.c
CODE_LINE=744
CODE_FUNC=job_emit_done_message
JOB_RESULT=done
_PID=1
_COMM=systemd
_EXE=/usr/lib/systemd/systemd
_SYSTEMD_CGROUP=/init.scope
_SYSTEMD_UNIT=init.scope
_SYSTEMD_SLICE=-.slice
JOB_TYPE=stop
MESSAGE_ID=9d1aaa27d60140bd96365438aad20286
_HOSTNAME=host.lab.example.com
_CMDLINE=/usr/lib/systemd/systemd --switched-root --system --deserialize 31
_SELINUX_CONTEXT=system_u:system_r:init_t:s0
UNIT=user-1000.slice
MESSAGE=Removed slice User Slice of UID 1000.
INVOCATION_ID=0e5efc1b4a6d41198f0cf02116ca8aa8
JOB_ID=3220
_SOURCE_REALTIME_TIMESTAMP=1647335432625470
lines 46560-46607/46607 (END) q
La liste suivante présente les champs communs du journal système que vous pouvez utiliser pour
rechercher des lignes pertinentes pour un processus ou un événement particulier :
Vous pouvez combiner plusieurs champs du journal système pour former une requête de
recherche granulaire avec la commande journalctl. Par exemple, la commande journalctl
suivante affiche toutes les entrées de journal liées à l'unité sshd.service systemd d'un
processus avec le PID 2110.
Note
Pour une liste des champs de journal les plus utilisés, consultez la page de manuel
systemd.journal-fields(7).
RH124-RHEL9.0-fr-2-20220609 377
chapitre 11 | Analyse et stockage des journaux
Références
Pages de manuel journalctl(1), systemd.journal-fields(7) et
systemd.time(7)
378 RH124-RHEL9.0-fr-2-20220609
chapitre 11 | Analyse et stockage des journaux
Exercice guidé
Résultats
• Rechercher dans le journal système des entrées pour enregistrer des événements en
fonction de différents critères.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. À partir de la machine workstation, ouvrez une session SSH sur la machine servera en
tant qu'utilisateur student.
2. Utilisez la commande journalctl avec l'option _PID=1 pour afficher uniquement les
événements de journal provenant du processus systemd PID 1 sur la machine servera.
Pour quitter à partir de la commande journalctl, appuyez sur q. La sortie suivante est un
exemple et peut différer sur votre système :
3. Utilisez la commande journalctl avec l'option _UID=81 pour afficher tous les
événements de journal provenant du service système avec un PID de 81 sur la machine
servera.
RH124-RHEL9.0-fr-2-20220609 379
chapitre 11 | Analyse et stockage des journaux
5. Affichez tous les événements du journal enregistrés au cours des 10 dernières minutes à
partir de l'heure actuelle sur la machine servera.
380 RH124-RHEL9.0-fr-2-20220609
chapitre 11 | Analyse et stockage des journaux
Note
Les salles de classe en ligne fonctionnent généralement selon le fuseau horaire
UTC. Pour obtenir des résultats qui commencent à 9:00 dans votre fuseau horaire
local, ajustez votre valeur --since par la durée de votre décalage par rapport à l'UTC.
Sinon, ignorez l'heure locale et utilisez une valeur de 9:00 pour localiser les entrées
de journal qui se sont produites depuis 9:00 sur le fuseau horaire de servera.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 381
chapitre 11 | Analyse et stockage des journaux
Résultats
Configurer le journal système pour conserver l'enregistrement des événements lorsqu'un serveur
est redémarré.
• persistent : stocke les journaux dans le répertoire /var/log/journal qui est conservé
d'un redémarrage à un autre. Si le répertoire /var/log/journal n'existe pas, le service
systemd-journald le crée.
• none : n'utilise aucun stockage. Le système supprime tous les journaux, mais vous pouvez
toujours les transférer.
L'avantage des journaux système persistants est que les données d'historique sont
immédiatement accessibles au démarrage. Cependant, même avec un journal persistant, le
système ne conserve pas toutes les données éternellement. Le journal possède un mécanisme
intégré de rotation du journal à déclenchement mensuel. De plus, par défaut, le système n'autorise
pas les journaux à dépasser de plus de 10 % de la taille du système de fichiers les hébergeant,
ou à laisser moins de 15 % du système de fichiers libre. Vous pouvez modifier ces valeurs pour
les journaux d'exécution et persistants dans le fichier de configuration /etc/systemd/
journald.conf.
382 RH124-RHEL9.0-fr-2-20220609
chapitre 11 | Analyse et stockage des journaux
Note
Dans la commande grep précédente, le symbole de la barre verticale (|) fait office
d'opérateur ou. Autrement dit, la commande grep correspond à n'importe quelle
ligne contenant soit la chaîne Runtime Journal, soit la chaîne System Journal
de la sortie de commande journalctl. Cette commande récupère les limites
de taille actuelles sur le stockage de journaux volatils (Runtime) ainsi que sur le
stockage de journaux persistants (System).
[Journal]
Storage=persistent
...output omitted...
Bien que les journaux système soient conservés après un redémarrage, la sortie de la commande
journalctl inclut les entrées du démarrage du système actuel ainsi que des redémarrages
précédents du système. Pour limiter la sortie à un démarrage système spécifique, utilisez la
commande journalctl avec l'option -b. La commande journalctl suivante récupère les
entrées à partir du premier démarrage du système uniquement :
RH124-RHEL9.0-fr-2-20220609 383
chapitre 11 | Analyse et stockage des journaux
Vous pouvez lister les événements de démarrage du système reconnus par la commande
journalctl avec l'option --list-boots.
Note
Lors du débogage d'une panne du système à l'aide d'un journal persistant, vous
devez généralement limiter la requête du journal au redémarrage qui a précédé la
panne. Vous pouvez utiliser la commande journalctl avec l'option -b avec un
nombre négatif pour indiquer le nombre de démarrages antérieurs du système à
inclure dans la sortie. Par exemple, la commande journalctl -b -1 limite la
sortie au démarrage précédent.
Références
Pages de manuel systemd-journald.conf(5), systemd-journald(8)
384 RH124-RHEL9.0-fr-2-20220609
chapitre 11 | Analyse et stockage des journaux
Exercice guidé
Résultats
• Configurer le journal système pour conserver ses données après un redémarrage.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. À partir de la machine workstation, connectez-vous à la machine servera en tant
qu'utilisateur student.
RH124-RHEL9.0-fr-2-20220609 385
chapitre 11 | Analyse et stockage des journaux
...output omitted...
[Journal]
Storage=persistent
...output omitted...
La connexion SSH prend fin dès que vous redémarrez la machine servera.
386 RH124-RHEL9.0-fr-2-20220609
chapitre 11 | Analyse et stockage des journaux
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 387
chapitre 11 | Analyse et stockage des journaux
Résultats
Maintenir une synchronisation précise de l'horloge à l'aide du protocole NTP ( Network Time
Protocol) et configurer le fuseau horaire pour garantir des horodatages corrects pour les
événements enregistrés par le journal système et les journaux.
Vous pouvez lister une base de données de fuseaux horaires à l'aide de la commande
timedatectl avec l'option list-timezones.
L'IANA (Internet Assigned Numbers Authority) fournit une base de données de fuseaux horaires
publique et la commande timedatectl base les noms de fuseaux horaires sur cette base
de données. L'IANA nomme les fuseaux horaires en fonction du continent ou de l'océan, puis
généralement (mais pas obligatoirement) en fonction de la plus grande ville dans la région du
388 RH124-RHEL9.0-fr-2-20220609
chapitre 11 | Analyse et stockage des journaux
fuseau horaire. Par exemple, le fuseau horaire "Rocheuses - É.-U." correspond en grande partie à
America/Denver.
Certaines localités à l'intérieur du fuseau horaire appliquent des règles d'heure d'été différentes.
Par exemple, aux États-Unis, une grande partie de l'état de l'Arizona ("Rocheuses - É.-U.")
n'applique pas l'heure d'été, et se trouve par conséquent dans le fuseau horaire America/
Phoenix.
Utilisez la commande tzselect pour identifier le nom de fuseau horaire correct. Cette
commande, en effet, à l'utilisateur des questions sur l'emplacement du système en mode
interactif, et affiche ainsi le nom du bon fuseau horaire. Elle ne modifie pas le réglage de fuseau
horaire du système.
L'utilisateur root peut modifier le paramètre système pour mettre à jour le fuseau horaire actuel
à l'aide de la commande timedatectl avec l'option set-timezone. Par exemple, la commande
timedatectl suivante met à jour le fuseau horaire actuel sur America/Phoenix.
Note
Si vous devez utiliser le temps universel coordonné (UTC) sur un serveur particulier,
définissez son fuseau horaire sur UTC. La commande tzselect n'inclut pas le nom
du fuseau horaire UTC. Utilisez la commande timedatectl set-timezone UTC
pour définir le fuseau horaire actuel du système sur UTC.
Utilisez la commande timedatectl avec l'option set-time pour modifier le fuseau horaire
actuel du système. Vous pouvez spécifier l'heure au format "AAAA-MM-JJ hh:mm:ss", où vous
pouvez omettre la date ou l'heure. Par exemple, la commande timedatectl suivante change
l'heure sur 09:00:00.
RH124-RHEL9.0-fr-2-20220609 389
chapitre 11 | Analyse et stockage des journaux
Note
L'exemple précédent peut échouer avec le message d'erreur "Failed to set time:
Automatic time synchronisation is enabled" (Échec du réglage de l'heure : la
synchronisation automatique de l'horloge est activée). Dans ce cas, commencez
par désactiver la synchronisation automatique de l'horloge avant de régler
manuellement la date ou l'heure, comme expliqué ci-après.
Note
Dans Red Hat Enterprise Linux 9, la commande timedatectl set-ntp
détermine si le service NTP chronyd est activé. D'autres distributions Linux
peuvent utiliser ce paramètre pour ajuster un service NTP ou Simple Network Time
Protocol (SNTP) différent.
Par défaut, le service chronyd utilise les serveurs du projet NTP Pool pour synchroniser l'horloge
et n'a pas besoin de configuration supplémentaire. Vous devrez peut-être modifier les serveurs
NTP d'une machine qui s'exécute sur un réseau isolé.
La strate de la source de temps NTP détermine sa qualité. La valeur stratum détermine le nombre
de sauts qui séparent la machine d'une horloge de référence à hautes performances. L'horloge
de référence est une source de temps de stratum 0. Un serveur NTP directement lié à cette
horloge de référence est une source de temps stratum 1, alors qu'une machine dont l'heure est
synchronisée à partir d'un serveur NTP est une source de temps stratum 2.
server et peer sont deux catégories de sources de temps qui peuvent être déclarées dans le
fichier de configuration /etc/chrony.conf. server se trouve une strate au-dessus de votre
serveur NTP local, et peer est au même niveau de strate. Vous pouvez définir plusieurs serveurs et
homologues dans le fichier de configuration chronyd, un par ligne.
Le premier argument de la ligne server est l'adresse IP ou le nom DNS du serveur NTP. Après
l'adresse IP ou le nom du serveur, vous pouvez lister une série d'options pour le serveur. Red Hat
recommande d'utiliser l'option iburst, car le service chronyd prend, après son démarrage,
quatre mesures en un court laps de temps pour assurer une meilleure synchronisation initiale de
390 RH124-RHEL9.0-fr-2-20220609
chapitre 11 | Analyse et stockage des journaux
l'horloge. Utilisez la commande man 5 chrony.conf pour plus d'informations sur les options du
fichier de configuration chronyd.
Redémarrez le service après avoir dirigé le service chronyd vers la source de temps locale,
classroom.example.com.
La commande chronyc agit comme client du service chronyd. Après avoir configuré la
synchronisation NTP, vérifiez que le système local utilise le serveur NTP de manière transparente
pour synchroniser l'horloge système à l'aide de la commande chronyc sources. Pour un résultat
plus détaillé avec des explications supplémentaires sur la sortie, utilisez la commande chronyc
sources -v.
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current best, '+' = combined, '-' = not combined,
| / 'x' = may be in error, '~' = too variable, '?' = unusable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \ | | zzzz = estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 172.25.254.254 3 6 17 26 +2957ns[+2244ns] +/- 25ms
Un astérisque (*) dans le champ S (état Source) indique que le service chronyd utilise le serveur
classroom.example.com comme source de temps et qu'il s'agit du serveur NTP avec lequel la
machine est actuellement synchronisée.
Références
Pages de manuel timedatectl(1), tzselect(8), chronyd(8), chrony.conf(5)
et chronyc(1)
RH124-RHEL9.0-fr-2-20220609 391
chapitre 11 | Analyse et stockage des journaux
Exercice guidé
Résultats
• Changer le fuseau horaire sur un serveur.
• Configurer le serveur pour synchroniser son heure avec une source de temps NTP.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Connectez-vous à la machine servera en tant qu'utilisateur student.
2. Pour cet exercice, supposez que la machine servera est déménagée à Haïti et que vous
devez mettre à jour le fuseau horaire. Élevez les privilèges de l'utilisateur student pour
exécuter la commande timedatectl afin de mettre à jour le fuseau horaire.
392 RH124-RHEL9.0-fr-2-20220609
chapitre 11 | Analyse et stockage des journaux
#? 2
Please select a country whose clocks agree with yours.
1) Anguilla 19) Dominican Republic 37) Peru
2) Antigua & Barbuda 20) Ecuador 38) Puerto Rico
3) Argentina 21) El Salvador 39) St Barthelemy
4) Aruba 22) French Guiana 40) St Kitts & Nevis
5) Bahamas 23) Greenland 41) St Lucia
6) Barbados 24) Grenada 42) St Maarten (Dutch)
7) Belize 25) Guadeloupe 43) St Martin (French)
8) Bolivia 26) Guatemala 44) St Pierre & Miquelon
9) Brazil 27) Guyana 45) St Vincent
10) Canada 28) Haiti 46) Suriname
11) Caribbean NL 29) Honduras 47) Trinidad & Tobago
12) Cayman Islands 30) Jamaica 48) Turks & Caicos Is
13) Chile 31) Martinique 49) United States
14) Colombia 32) Mexico 50) Uruguay
15) Costa Rica 33) Montserrat 51) Venezuela
16) Cuba 34) Nicaragua 52) Virgin Islands (UK)
17) Curaçao 35) Panama 53) Virgin Islands (US)
18) Dominica 36) Paraguay
#? 28
Haiti
You can make this change permanent for yourself by appending the line
TZ='America/Port-au-Prince'; export TZ
to the file '.profile' in your home directory; then log out and log in again.
Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
America/Port-au-Prince
2.2. Mettez à jour le fuseau horaire sur la machine servera sur America/Port-au-
Prince.
2.3. Vérifiez que vous avez correctement défini le fuseau horaire sur America/Port-au-
Prince.
RH124-RHEL9.0-fr-2-20220609 393
chapitre 11 | Analyse et stockage des journaux
...output omitted...
server classroom.example.com iburst
...output omitted...
4.1. Vérifiez que la synchronisation de l'horloge est activée sur la machine servera.
Note
Si la sortie indique que l'horloge n'est pas synchronisée, attendez quelques
secondes, puis exécutez à nouveau la commande timedatectl. Il faut quelques
secondes pour synchroniser avec succès les paramètres de l'heure avec la source de
temps.
394 RH124-RHEL9.0-fr-2-20220609
chapitre 11 | Analyse et stockage des journaux
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current best, '+' = combined, '-' = not combined,
| / 'x' = may be in error, '~' = too variable, '?' = unusable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \ | | zzzz = estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 172.25.254.254 2 6 377 33 +84us[ +248us] +/- 21ms
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 395
chapitre 11 | Analyse et stockage des journaux
Open Lab
Résultats
• Mettre à jour le fuseau horaire sur un serveur existant.
• Configurer un nouveau fichier journal pour stocker tous les messages liés aux échecs
d'authentification.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Connectez-vous à la machine serverb en tant qu'utilisateur student.
2. Supposez que la machine serverb est déménagée à la Jamaïque et que vous devez mettre
à jour le fuseau horaire. Vérifiez que vous avez correctement défini le fuseau horaire.
3. Affichez les événements de journal enregistrés au cours des 30 dernières minutes sur la
machine serverb.
4. Créez le fichier /etc/rsyslog.d/auth-errors.conf. Configurez le service rsyslog
pour écrire des messages d'authentification et de sécurité dans le fichier /var/log/auth-
errors. Utilisez la fonction authpriv et la priorité alert.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
396 RH124-RHEL9.0-fr-2-20220609
chapitre 11 | Analyse et stockage des journaux
RH124-RHEL9.0-fr-2-20220609 397
chapitre 11 | Analyse et stockage des journaux
Solution
Résultats
• Mettre à jour le fuseau horaire sur un serveur existant.
• Configurer un nouveau fichier journal pour stocker tous les messages liés aux échecs
d'authentification.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Connectez-vous à la machine serverb en tant qu'utilisateur student.
2. Supposez que la machine serverb est déménagée à la Jamaïque et que vous devez mettre
à jour le fuseau horaire. Vérifiez que vous avez correctement défini le fuseau horaire.
398 RH124-RHEL9.0-fr-2-20220609
chapitre 11 | Analyse et stockage des journaux
Jamaica
You can make this change permanent for yourself by appending the line
TZ='America/Jamaica'; export TZ
to the file '.profile' in your home directory; then log out and log in again.
Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
America/Jamaica
2.2. Élevez les privilèges de l'utilisateur student pour mettre à jour le fuseau horaire du
serveur serverb sur America/Jamaica.
2.3. Vérifiez que vous avez bien défini le fuseau horaire sur America/Jamaica.
RH124-RHEL9.0-fr-2-20220609 399
chapitre 11 | Analyse et stockage des journaux
3. Affichez les événements de journal enregistrés au cours des 30 dernières minutes sur la
machine serverb.
3.2. Affichez les événements de journal enregistrés au cours des 30 dernières minutes sur la
machine serverb.
authpriv.alert /var/log/auth-errors
400 RH124-RHEL9.0-fr-2-20220609
chapitre 11 | Analyse et stockage des journaux
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 401
chapitre 11 | Analyse et stockage des journaux
Résumé
• Les services systemd-journald et rsyslog capturent et écrivent des messages de journal
dans les fichiers appropriés.
• La rotation périodique des fichiers journaux les empêche de remplir l'espace du système de
fichiers.
• Les journaux systemd sont temporaires et ne sont pas conservés entre les redémarrages.
• Le service chronyd permet de synchroniser les paramètres d'heure avec une source de temps.
• Vous pouvez mettre à jour le fuseau horaire du serveur en fonction de son emplacement.
402 RH124-RHEL9.0-fr-2-20220609
chapitre 12
RH124-RHEL9.0-fr-2-20220609 403
chapitre 12 | Gestion de la mise en réseau
Résultats
Décrire les concepts fondamentaux de l'adressage réseau et du routage pour un serveur.
Il est spécifié par la RFC 1122, Requirements for Internet Hosts — Communication Layers.
• Application
Chaque application a des spécifications en matière de communications pour que les clients
et les serveurs puissent communiquer par l'intermédiaire de plateformes. On trouve parmi les
protocoles courants SSH, HTTPS (réseau sécurisé), FTP (partage de fichiers) et SMTP (envoi
de courriers électroniques).
• Transport
Les protocoles de transport sont : TCP et UDP. TCP est un protocole de communication en
ligne fiable, alors qu'UDP est un protocole de datagrammes sans connexion. Les protocoles
d'application peuvent utiliser les ports TCP ou UDP. Vous trouverez une liste des ports connus
et enregistrés dans le fichier /etc/services.
• Internet
La couche Internet, ou couche réseau, transporte les données de l'hôte source à l'hôte
destinataire. Les protocoles IPv4 et IPv6 sont des protocoles de couche Internet. Chaque
hôte possède une adresse IP et un préfixe pour déterminer les adresses réseau. On utilise des
routeurs pour connecter les réseaux les uns aux autres.
• Liaison
La couche liaison, ou « media access », assure la connexion aux médias physiques. Les types de
réseaux les plus courants sont les réseaux filaires Ethernet (802.3) et les réseaux sans fil WI-FI
(802.11). Chaque périphérique physique dispose d'une adresse MAC (Media Access Control) ou
matérielle, qui permet d'identifier la destination des paquets sur le segment du réseau local.
404 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
Les anciennes versions de Red Hat Enterprise Linux utilisaient des noms tels que eth0, eth1 et
eth2 pour chaque interface réseau. Le nom d'interface eth0 était le premier port réseau détecté
par le système d'exploitation, eth1 la seconde interface, et ainsi de suite. Cependant, au fur et à
mesure que des dispositifs étaient ajoutés et supprimés, le mécanisme qui détectait et nommait
les dispositifs pouvait modifier l'interface attribuée à chaque nom. De plus, la norme PCIe ne
garantit pas l'ordre dans lequel les périphériques PCIe sont détectés au démarrage, ce qui pourrait
modifier le nommage des périphériques de manière inattendue en raison de variations lors du
démarrage des périphériques ou du système.
Dans Red Hat Enterprise Linux 7 et versions ultérieures, le système de nommage par défaut
génère des noms cohérents d'un redémarrage à l'autre. Au lieu de reposer sur l'ordre de détection,
les noms des interfaces réseau sont attribués en fonction des informations du microprogramme,
de la topologie de bus PCI et du type de périphérique réseau.
Le reste du nom de l'interface qui suit le type repose sur les informations fournies par le
microprogramme du serveur ou est déterminé par l'emplacement du périphérique dans la
topologie PCI.
RH124-RHEL9.0-fr-2-20220609 405
chapitre 12 | Gestion de la mise en réseau
• sN indique un périphérique dans l'emplacement enfichable à chaud PCI N. Par exemple, ens3
est une carte Ethernet insérée dans l'emplacement enfichable à chaud PCI 3.
• pMsN indique qu'il s'agit d'un périphérique PCI sur le bus M inséré dans l'emplacement N. Une
interface wlp4s0 est une carte WLAN sur le bus PCI 4 insérée dans l'emplacement 0. Si la
carte est un périphérique multifonction (comme une carte Ethernet à ports multiples ou un
périphérique intégrant Ethernet et d'autres fonctionnalités), le nom du périphérique inclut
fN. Une interface enp0s1f0 est la fonction 0 de la carte Ethernet sur le bus 0 insérée dans
l'emplacement 1. Une deuxième interface, nommée enp0s1f1, est la fonction 1 de ce même
périphérique.
Avec un nom persistant, le nom défini pour une interface réseau sur le système ne change pas,
même si vous ajoutez ou supprimez du matériel. Entre autres comportements d'un nom persistant,
un système doté d'une seule interface génère un nom de périphérique au moyen d'un schéma
d'informations sur le matériel et ne devrait pas utiliser le schéma de dénomination du noyau eth0.
Réseaux IPv4
IPv4 reste le schéma d'adressage le plus courant dans les réseaux d'entreprise, tandis qu'IPv6 est
désormais plus utilisé qu'IPv4 sur les réseaux cellulaires. Vous devez maîtriser les bases de la mise
en réseau IPv4 pour gérer la mise en réseau de vos serveurs.
Adresses IPv4
Une adresse IPv4 est une adresse de 32 bits, exprimée sous la forme de quatre octets de 8 bits au
format décimal, d'une valeur comprise entre 0 et 255 chacun et séparés par des points. L'adresse
est divisée en deux parties : le préfixe réseau et le numéro d'hôte. Le préfixe réseau identifie
un sous-réseau physique ou virtuel unique. Le numéro d'hôte identifie un hôte spécifique sur le
sous-réseau. Tous les hôtes du même sous-réseau possèdent le même préfixe réseau et peuvent
communiquer directement entre eux. Une passerelle réseau connecte différents réseaux et un
routeur réseau fait généralement office de passerelle pour un sous-réseau.
Note
Un sous-réseau est un segment d'un réseau plus vaste. L'utilisation du terme
dépend du contexte. Un réseau IP est partitionné en plusieurs segments de réseau
plus petits. En règle générale, le segment fait référence à la couche de liaison
physique ou virtuelle, tandis que le sous-réseau fait référence à l'adressage de la
couche réseau logique du segment correspondant.
Dans la spécification IPv4 d'origine, les préfixes réseau autorisés étaient l'une des trois tailles
fixes des paquets de monodiffusion présentant une source et une destination uniques. Le préfixe
réseau peut comporter 8 bits (classe A), 16 bits (classe B) ou 24 bits (classe C). Désormais, le
nombre de bits du préfixe réseau est variable : le préfixe peut comporter n'importe quel nombre
de bits compris dans la plage prise en charge. Cette nouvelle spécification s'appelle le CIDR
(Classless Inter-Domain Routing/routage inter-domaines sans classe). Bien que les classes
d'adresses fixes ne soient plus utilisées, de nombreux professionnels des réseaux font encore
référence aux réseaux avec des préfixes réseau 8, 16 ou 24 bits via la désignation de classe A, B ou
C d'origine.
406 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
Un masque de réseau (netmask) est un masque binaire dont la longueur indique le nombre de bits
appartenant au préfixe réseau qui identifie le sous-réseau. Étant donné qu'une adresse IPv4 fait
toujours 32 bits, un sous-réseau avec un masque de réseau plus long disposera de moins de bits
disponibles pour identifier les hôtes, ce qui signifie moins d'hôtes possibles. Un sous-réseau doté
d'un masque de réseau plus court aura plus de bits disponibles pour identifier les hôtes, soit plus
d'hôtes possibles et un sous-réseau plus grand.
Les masques de réseau sont exprimés sous l'une des deux formes, qui sont toutes deux
couramment utilisées. La première, connue sous le nom de notation CIDR, consiste à ajouter une
barre oblique (/) et un nombre entier jusqu'à 32 correspondant au nombre de bits dans le masque
binaire. La deuxième notation consiste à afficher le nombre de bits dans le masque binaire sous
forme de quatre octets de 8 bits au format décimal.
• L' adresse réseau d'un sous-réseau est l'adresse la plus basse possible sur un sous-réseau, où le
numéro d'hôte est uniquement composé de zéros binaires.
• L' adresse de diffusion d'un sous-réseau est l'adresse la plus élevée possible sur un sous-réseau,
où le numéro d'hôte est entièrement binaire. Il s'agit d'une adresse spéciale de diffusion des
paquets vers tous les hôtes de sous-réseau.
• L' adresse de passerelle d'un sous-réseau peut correspondre à n'importe quel numéro d'hôte
unique du sous-réseau, mais elle est généralement définie sur le premier numéro d'hôte
disponible, soit un nombre binaire composé uniquement de zéros, à l'exception d'un "1" dans
le dernier bit. Cette convention de numérotation des passerelles n'est pas obligatoire. Aucune
passerelle réseau n'est définie pour sous-réseaux qui ne requièrent pas de communication
externe.
Les figures suivantes illustrent la manière dont une adresse IP et un masque de réseau sont utilisés
pour calculer le préfixe réseau et le numéro d'hôte d'un sous-réseau. Effectuez un calcul binaire
AND dans lequel chaque bit de l'adresse est comparé en binaire à son bit correspondant dans le
masque de réseau jusqu'à la longueur du préfixe. Dans un calcul AND, les deux bits doivent être à
"1" pour que le résultat soit un "1", et toutes les autres combinaisons donnent lieu à un 0. Effectuez
un calcul binaire OR sur les bits restants dans le numéro d'hôte, où l'un ou l'autre bit peut être un
"1" pour que le résultat soit un "1". Dans un calcul binaire OR, seuls deux bits "0" donnent lieu à un
"0".
RH124-RHEL9.0-fr-2-20220609 407
chapitre 12 | Gestion de la mise en réseau
Dans un autre exemple, un masque de réseau /19 est un préfixe réseau valide qui n'utilise qu'un
octet partiel. Les masques de réseau de longueur variable autorisent les sous-réseaux avec un
numéro d'hôte différent de celui des masques de réseau à octet complet. Les 13 bits restants, ou
8 190 adresses, sont disponibles pour l'adressage de l'hôte.
408 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
Dans cet exemple, le /8 indique un grand réseau. Seul le premier octet est utilisé pour le préfixe
du réseau (10.0.0.0). Les 24 bits restants, ou 16 777 214 adresses, sont disponibles pour
l'adressage de l'hôte. L'adresse de diffusion 10.255.255.255 est la dernière adresse du réseau.
Routes IPv4
Les paquets réseau se déplacent d'un hôte à l'autre sur un sous-réseau et via des routeurs d'un
réseau à l'autre. Chaque hôte dispose d'une table de routage, qui détermine l'interface réseau
correcte pour l'envoi de paquets vers des réseaux particuliers. Une entrée de la table de routage
répertorie le réseau de destination, l'interface réseau à utiliser et l'adresse IP du routeur qui
transférera le paquet vers la destination finale. L'entrée de la table de routage correspondant au
préfixe de réseau de l'adresse de destination est utilisée pour acheminer le paquet. Si plusieurs
entrées sont valides pour l'adresse de destination, l'entrée avec le préfixe le plus long est utilisée.
Si le réseau de destination ne correspond pas à une entrée plus spécifique, le paquet sera
acheminé à l'aide de l'entrée 0.0.0.0/0 par défaut. Cette route par défaut pointe vers le routeur
de passerelle sur un sous-réseau local que l'hôte peut atteindre.
Lorsqu'un routeur reçoit des paquets qui ne lui sont pas adressés, il transfère le trafic en fonction
de sa propre table de routage. Si ce routeur se trouve sur le sous-réseau de destination, le paquet
peut être transféré directement à l'hôte de destination ou vers le réseau d'un autre routeur. Le
transfert de paquets sur les routeurs se poursuit jusqu'à ce que le paquet atteigne le réseau et
l'hôte de destination demandés.
RH124-RHEL9.0-fr-2-20220609 409
chapitre 12 | Gestion de la mise en réseau
192.168.5.0/24 ensp01
192.168.6.0/24 ensp02
Le trafic réseau de la machine hostb vers n'importe quel hôte du réseau 192.168.6.0/24 est
transmis directement via l'interface ensp02. Cela s'explique par le fait que la machine possède
une interface connectée à ce réseau et qu'elle est la correspondance la plus proche de l'entrée de
route. Si aucune entrée dans la table de routage ne correspond au réseau 192.168.6.0/24, le
trafic est envoyé vers la route par défaut.
Le trafic réseau de la machine hostb vers un hôte avec l'adresse IP 172.17.50.120 utilise
l'interface ensp01 car elle correspond à la troisième entrée de la table de routage. Ce type
d'entrée lorsque l'interface de la machine n'est pas directement connectée au réseau est
configuré par un administrateur système connaissant la topologie du réseau.
La machine hostb peut uniquement utiliser l'interface ensp01 (en passant par le routeur avec
l'adresse IP 192.168.5.1 ) pour accéder à Internet, car l'intégralité du trafic qui ne correspond
pas à une entrée de la table de routage est envoyée vers la route par défaut. Le routeur utilise sa
propre table de routage pour déterminer vers où faire suivre ce trafic par la suite.
Alternativement, vous pouvez configurer un serveur pour utiliser une configuration réseau
statique. Les paramètres réseau statiques sont lus à partir des fichiers de configuration locaux.
Les paramètres que vous utilisez doivent être appropriés pour votre sous-réseau et doivent être
410 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
coordonnés avec votre administrateur réseau faisant autorité pour éviter les conflits avec d'autres
serveurs dans les mêmes sous-réseaux.
Réseaux IPv6
Le protocole IPv6 est conçu pour augmenter considérablement le nombre total d'adresses
de périphériques disponibles. Il est utilisé à la fois dans les réseaux d'entreprise et pour les
communications mobiles. La plupart des fournisseurs d'accès Internet (FAI), si ce n'est tous,
utilisent largement le protocole IPv6 pour l'affectation aux équipements internes et pour
l'affectation dynamique aux périphériques des clients.
Le protocole IPv6 peut également être utilisé en parallèle avec IPv4 dans un mode à double pile.
Une interface réseau peut avoir des adresses IPv4 et IPv6. Red Hat Enterprise Linux fonctionne en
mode à double pile par défaut.
Adresses IPv6
Une adresse IPv6 est un numéro codé sur 128 bits, normalement exprimé sous forme de 8 groupes
de 4 quartets hexadécimaux séparés par des deux-points (demi-octets). Chaque quartet
représente quatre bits de l'adresse IPv6, de sorte que chaque groupe représente 16 bits de
l'adresse IPv6.
2001:0db8:0000:0010:0000:0000:0000:0001
Pour faciliter l'écriture des adresses IPv6, les zéros du début d'un groupe séparé par des deux-
points sont facultatifs. Cependant, au moins un chiffre hexadécimal doit être écrit dans chaque
groupe séparé par des deux-points.
2001:db8:0:10:0:0:0:1
Comme les adresses composées de longues chaînes de zéros sont courantes, il est possible de
combiner un ou plusieurs groupes de zéros consécutifs pour former exactement un seul bloc de
deux caractères deux points ::.
2001:db8:0:10::1
• Utilisez un bloc à deux points :: pour raccourcir l'adresse autant que possible.
• Si une adresse contient deux groupes de zéros consécutifs, de longueur égale, il est préférable
de raccourcir les groupes de zéros les plus à gauche de :: et les groupes les plus à droite de
:0: pour chaque groupe.
• Même si c'est autorisé, n'utilisez pas :: pour raccourcir un seul groupe de zéros. Utilisez :0: à la
place, et économisez :: pour des groupes de zéros consécutifs.
RH124-RHEL9.0-fr-2-20220609 411
chapitre 12 | Gestion de la mise en réseau
Important
Lors de l'insertion d'un port réseau TCP ou UDP à la suite d'une adresse IPv6,
placez toujours l'adresse IPv6 entre crochets pour que le numéro de port ne semble
pas faire partie de l'adresse.
[2001:db8:0:10::1]:80
Sous-réseaux IPv6
Une adresse de monodiffusion IPv6 normale est divisée en deux parties : le préfixe réseau et
l'ID d'interface. Le préfixe réseau identifie le sous-réseau. Deux interfaces réseau sur le même
sous-réseau ne peuvent pas avoir le même ID d'interface ; l'ID d'interface identifie une interface
spécifique dans le sous-réseau.
Contrairement au protocole IPv4, IPv6 dispose d'un masque de sous-réseau standard,/64, utilisé
pour la plupart des adresses normales. Dans ce cas, la moitié de l'adresse 128 bits est le préfixe de
réseau et l'autre moitié est l'ID d'interface. Avec 64 bits pour les adresses d'hôtes, un seul sous-
réseau peut théoriquement contenir 2^64 hôtes.
En règle générale, l'opérateur réseau alloue un préfixe plus court à une organisation, par exemple
/48. Cela permet de conserver le reste de la partie dédiée au réseau pour l'attribution de
sous-réseaux (jusqu'à /64 de long) à partir de ce préfixe alloué. Par exemple, lorsqu'un préfixe
d'allocation /48 est affecté, 16 bits sont disponibles pour un maximum de 65 536 sous-réseaux.
412 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
Important
Le tableau précédent liste les allocations d'adresses réseau qui sont réservées
à des fins spécifiques. Ces allocations peuvent consister en de nombreux
réseaux différents. Les réseaux IPv6 alloués à partir des espaces d'adressage de
monodiffusion globale et de monodiffusion link-local ont un masque de réseau /64
standard.
Une adresse link-local en IPv6 est une adresse impossible à acheminer, que le système utilise
uniquement pour communiquer avec d'autres systèmes sur le même lien réseau. Pour s'assurer
RH124-RHEL9.0-fr-2-20220609 413
chapitre 12 | Gestion de la mise en réseau
que l'adresse IP est unique, le système utilise une méthode spécifique pour calculer l'ID d'interface
de l'adresse link-local.
Note
À l'origine, l'ID d'interface de l'adresse link-local IPv6 a été créé à partir de l'adresse
MAC du périphérique réseau. L'exposition de l'adresse MAC dans le cadre de
l'adresse IPv6 peut entraîner des problèmes de sécurité et de confidentialité, car il
devient possible d'identifier et de suivre un ordinateur sur le réseau.
Utilisez la commande ip addr show pour récupérer l'adresse IPv6 link-local, comme dans
l'exemple suivant. Ajoutez l'option -br pour obtenir une brève liste d'adresses uniquement.
Ajoutez l'option -br pour obtenir une brève liste d'adresses IPv4 et IPv6 uniquement.
Pour fonctionner correctement, IPv6 s'appuie sur l'adresse link-local. L'interface conserve
toujours cette adresse, même lorsque vous attribuez une adresse IPv6 routable manuellement ou
via une méthode automatisée.
Avec la multidiffusion, un système peut envoyer le trafic vers une adresse IP spéciale reçue par
plusieurs systèmes. La multidiffusion diffère de la diffusion, car les paquets de diffusion ne sont
pas routables et n'atteignent que les hôtes de sous-réseaux locaux, tandis que les paquets de
multidiffusion sont routés vers des hôtes spécifiques qui ont annoncé une demande pour les
paquets de multidiffusion adressés de manière unique. Les paquets de multidiffusion peuvent être
acheminés vers d'autres sous-réseaux, si tous les routeurs intermédiaires prennent en charge le
transfert des demandes de multidiffusion et le routage.
La multidiffusion joue un rôle plus important sous IPv6 que sous IPv4 car le protocole IPv6 ne
comporte aucune adresse de diffusion. L'adresse IPv6 ff02::1 est une adresse de multidiffusion
clé qui est utilisée comme adresse link-local all-nodes et qui se comporte comme une adresse
de diffusion. Vous pouvez exécuter un test ping sur cette adresse pour envoyer le trafic à tous
les nœuds du lien. Les adresses de multidiffusion dont l'étendue est le lien (qui commencent par
414 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
ff02::/8) doivent être spécifiées avec un identificateur d'étendue, tout comme une adresse
link-local.
Vous pouvez sélectionner des ID d'interface pour les adresses IPv6 statiques, comme pour
IPv4. En IPv4, deux adresses sur un réseau ne sont pas utilisables : l'adresse la plus basse qui
est l'adresse réseau et l'adresse la plus haute qui est l'adresse de diffusion. En IPv6, deux ID
d'interface sont réservés et ne peuvent pas être utilisés comme adresse d'interface hôte normale :
Les négociations de bail DHCPv6 fonctionnent différemment du protocole DHCP IPv4, car
DHCPv6 n'a pas d'adresse de diffusion. Un hôte envoie une requête DHCPv6 à partir de son
adresse link-local vers le port 547/UDP sur le groupe de multidiffusion link-local ff02::1:2
all-dhcp-servers dédié. Le serveur DHCPv6 d'écoute peut choisir d'envoyer une réponse
contenant les informations appropriées au port 546/UDP sur l'adresse link-local du client.
Le paquetage dhcp dans Red Hat Enterprise Linux 9 prend en charge un serveur DHCPv6.
Outre DHCPv6, IPv6 prend également en charge une autre méthode de configuration dynamique
appelée autoconfiguration d'adresses sans état (SLAAC, Stateless Address Autoconfiguration).
Pour utiliser SLAAC, un hôte configure son interface avec une adresse link-local fe80::/64
et envoie une "sollicitation de routeur" au groupe de multidiffusion link-local ff02::2 all-
routers. Un routeur IPv6 sur le lien local répond à l'adresse link-local de l'hôte avec le préfixe
réseau précédemment configuré pour le sous-réseau et d'autres informations s'il y en a. L'hôte
utilise le préfixe réseau fourni avec un ID d'interface construit de la même manière que pour les
adresses link-local. Le routeur envoie régulièrement des mises à jour de multidiffusion (annonces
de routage) pour confirmer ou mettre à jour les informations réseau qu'il a préalablement fournies.
Le paquetage radvd dans Red Hat Enterprise Linux 9 permet à un routeur IPv6 basé sur Red Hat
Enterprise Linux de fournir la méthode SLAAC via les annonces de routage.
RH124-RHEL9.0-fr-2-20220609 415
chapitre 12 | Gestion de la mise en réseau
Important
Un système Red Hat Enterprise Linux 9 classique configuré pour des adresses IPv4
dynamiques à l'aide de DHCP est généralement configuré pour un protocole IPv6
dynamique à l'aide de SLAAC. Les hôtes avec une configuration IOPv6 dynamique
peuvent obtenir de manière inattendue des adresses IPv6 supplémentaires
lorsqu'un nouveau routeur IPv6 est ajouté au réseau.
Une méthode consiste à créer des entrées statiques pour chaque nom d'hôte dans le fichier /
etc/hosts de chaque système. Avec cette méthode, vous devez mettre à jour manuellement la
copie du fichier hosts de chaque serveur.
Lorsque le service réseau DNS (Domain Name System, système de noms de domaines) est
configuré, il vous permet de rechercher l'adresse d'un nom d'hôte (ou un nom d'hôte à partir
d'une adresse). DNS est un réseau distribué de serveurs qui fournit des mappages de résolution
de noms. Pour que la résolution de noms fonctionne, un hôte doit être configuré pour savoir où
contacter un serveur de noms. Ce serveur de noms ne doit pas nécessairement se trouver sur le
même sous-réseau : l'hôte doit simplement pouvoir y accéder. Une configuration de serveur de
noms est généralement obtenue via DHCP ou en créant un paramètre d'adresse statique dans
le fichier /etc/resolv.conf. Les sections suivantes de ce chapitre vont expliquer comment
configurer la résolution de noms.
416 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
Références
Pages de manuel services(5), ping(8), biosdevname(1) et udev(7)
RH124-RHEL9.0-fr-2-20220609 417
chapitre 12 | Gestion de la mise en réseau
Quiz
2. Quel terme détermine combien de bits principaux dans l'adresse IP contribuent à son
adresse réseau ?
a. netscope
b. masque de réseau
c. sous-réseau
d. multidiffusion
e. netaddr
f. réseau
418 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
6. Quel terme décrit la capacité d'un système à envoyer le trafic vers une adresse IP
spéciale reçue par plusieurs systèmes ?
a. netscope
b. masque de réseau
c. sous-réseau
d. multidiffusion
e. netaddr
f. réseau
RH124-RHEL9.0-fr-2-20220609 419
chapitre 12 | Gestion de la mise en réseau
Solution
2. Quel terme détermine combien de bits principaux dans l'adresse IP contribuent à son
adresse réseau ?
a. netscope
b. masque de réseau
c. sous-réseau
d. multidiffusion
e. netaddr
f. réseau
420 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
6. Quel terme décrit la capacité d'un système à envoyer le trafic vers une adresse IP
spéciale reçue par plusieurs systèmes ?
a. netscope
b. masque de réseau
c. sous-réseau
d. multidiffusion
e. netaddr
f. réseau
RH124-RHEL9.0-fr-2-20220609 421
chapitre 12 | Gestion de la mise en réseau
Résultats
Tester et inspecter la configuration réseau actuelle avec les utilitaires de ligne de commande.
Pour configurer correctement un interface réseau, vous devez savoir quelle interface est
connectée à quel réseau. Dans de nombreux cas, vous pouvez obtenir l'adresse MAC de l'interface
connectée à chaque réseau, soit parce qu'elle est imprimée physiquement sur la carte ou le
serveur, soit parce qu'il s'agit d'une machine virtuelle et vous connaissez sa configuration.
L'adresse MAC du périphérique est indiquée après link/ether pour chaque interface. Vous
savez donc que la carte réseau ayant l'adresse MAC 52:54:00:00:00:0a est l'interface réseau
ens3 .
422 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
La chaîne inet présente une adresse IPv4, la longueur du préfixe et l'étendue de son réseau.
La chaîne inet6 présente une adresse IPv6, la longueur du préfixe et l'étendue de son
réseau. Cette adresse a une étendue globale et est utilisée normalement.
Cette chaîne inet6 montre que l'interface a une adresse IPv6 d'étendue link qui ne peut être
utilisée que pour les communications sur la liaison Ethernet locale.
La commande ping6 est la version IPv6 de la commande ping dans Red Hat Enterprise Linux. La
différence entre ces commandes est que la commande ping6 communique via IPv6 et prend des
adresses IPv6.
RH124-RHEL9.0-fr-2-20220609 423
chapitre 12 | Gestion de la mise en réseau
Lorsque vous envoyez la commande ping à des adresses link-local et au groupe de multidiffusion
de tous les nœuds link-local (ff02::1), l'interface réseau à utiliser doit être spécifiée
explicitement par un identificateur de zone d'étendue (tel que ff02::1%ens3). Si cette interface
réseau est omise, l'erreur connect: Invalid argument s'affiche.
Vous pouvez utiliser la commande ping6 ff02::1 pour trouver d'autres nœuds IPv6 sur le
réseau local.
D'autres hôtes sur le même lien peuvent utiliser des adresses link-local IPv6, comme des adresses
normales.
424 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
Tous les paquetages destinés au réseau 10.0.0.0/8 sont envoyés directement à destination
via le périphérique ens4. Tous les paquetages destinés au réseau 192.0.2.0/24 sont envoyés
directement à destination via le périphérique ens3. Tous les autres paquetages sont envoyés au
routeur par défaut situé sur 192.0.2.254, mais également par l'intermédiaire du périphérique
ens3.
1. Le réseau 2001:db8:0:1::/64 utilise l'interface ens3 (qui a sûrement une adresse sur ce
réseau).
2. Le réseau fe80::/64 utilise l'interface ens3 pour l'adresse link-local. Dans un système à
plusieurs interfaces, il existe une route vers fe80::/64 sur chaque interface pour chaque
adresse link-local.
3. La route par défaut vers tous les réseaux sur Internet IPv6 (réseau ::/0 ) utilise le routeur du
réseau 2001:db8:0:1::ffff et est accessible avec le périphérique ens3.
RH124-RHEL9.0-fr-2-20220609 425
chapitre 12 | Gestion de la mise en réseau
sur chaque saut quand elles sont disponibles, y compris le temps aller-retour (RTT) et tout
changement dans la taille de l'unité de transmission maximale (MTU). L'indication asymm signifie
que le trafic a atteint ce routeur et est revenu de ce routeur en utilisant différentes routes
(asymmetric) Les routeurs présentés sont ceux utilisés pour le trafic sortant, pas le trafic de retour.
Les commandes tracepath6 et traceroute -6 sont l'équivalent des commandes IPv6 pour
les commandes tracepath et traceroute.
La commande ss sert à afficher les statistiques des sockets. La commande ss est destinée à
remplacer l'ancien outil netstat, du paquetage net-tools, qui peut être mieux connu des
administrateurs système, mais n'est pas toujours installé.
*:ssh : le port utilisé pour SSH écoute sur toutes les adresses IPv4. L'astérisque (*)
représente tous lorsqu'il est fait référence à des adresses ou des ports IPv4.
127.0.0.1:smtp : le port utilisé pour SMTP écoute sur l'interface de bouclage IPv4
127.0.0.1.
:::ssh : le port utilisé pour SSH écoute sur toutes les adresses IPv6. La syntaxe des deux-
points (::) représente toutes les interfaces IPv6.
::1:smtp : le port utilisé pour SMTP écoute sur l'interface de bouclage ::1 IPv6.
426 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
Option Description
-n Affiche le numéro des interfaces et des ports plutôt que leur nom.
-A inet Affiche les connexions actives (mais pas les sockets d'écoute) pour la
famille d'adresses inet. Cela signifie que la commande ignore les sockets
du domaine UNIX local. Pour la commande ss, à la fois les connexions IPv4
et IPv6 sont affichées. Pour la commande netstat, seules les connexions
IPv4 sont affichées. (La commande netstat -A inet6 affiche les
connexions IPv6, et la commande netstat -46 affiche simultanément
IPv4 et IPv6.)
Références
Pages de manuel ip-link(8), ip-address(8), ip-route(8), ip(8), ping(8),
tracepath(8), traceroute(8), ss(8) et netstat(8)
RH124-RHEL9.0-fr-2-20220609 427
chapitre 12 | Gestion de la mise en réseau
Exercice guidé
Résultats
• Identifier les interfaces réseau actives et les adresses réseau de base.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Utilisez la commande ssh pour vous connecter à servera en tant qu'utilisateur student.
Les systèmes sont configurés pour utiliser des clés SSH pour l'authentification et pour
accéder à servera sans mot de passe.
Important
Les noms des interfaces réseau sont déterminés par leur type de bus et l'ordre de
détection des périphériques lors du démarrage. Les noms de vos interfaces réseau
varient en fonction de la plateforme du cours et du matériel utilisés.
Sur votre système, localisez le nom de l'interface (tel que ens06 ou en1p2) associé
à l'adresse Ethernet 52:54:00:00:fa:0a . Utilisez ce nom d'interface pour
remplacer l'espace réservé enX utilisé tout au long de l'exercice.
428 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
RH124-RHEL9.0-fr-2-20220609 429
chapitre 12 | Gestion de la mise en réseau
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
430 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
Résultats
Gérer les paramètres réseau et les périphériques à l'aide de la commande nmcli.
Un seul périphérique peut avoir plusieurs configurations de connexion et basculer entre elles,
mais une seule connexion peut être active par périphérique. Par exemple, un périphérique sans fil
portable peut configurer une adresse IP fixe pour une utilisation sur un site de travail sécurisé dans
une connexion, ainsi qu'une deuxième connexion avec une adresse automatisée et un réseau privé
virtuel (VPN) pour accéder au même réseau d'entreprise depuis le domicile.
Important
À partir de Red Hat Enterprise Linux 8, les fichiers de configuration au format
ifcfg et le répertoire /etc/sysconfig/network-scripts/ sont obsolètes.
NetworkManager utilise désormais un format de fichier de clé de type INI, qui est
une structure de paire clé-valeur pour organiser les propriétés. NetworkManager
stocke les profils réseau dans le répertoire /etc/NetworkManager/system-
connections/. Pour la compatibilité avec les versions antérieures, les connexions
au format ifcfg dans le répertoire /etc/sysconfig/network-scripts/ sont
toujours reconnues et chargées.
RH124-RHEL9.0-fr-2-20220609 431
chapitre 12 | Gestion de la mise en réseau
Note
Vous pouvez abréger les objets et les actions nmcli. Par exemple, vous pouvez
abréger nmcli device disconnect en tant que nmcli dev dis et nmcli
connection modify en tant que nmcli con mod. L'abréviation peut être
aussi courte qu'une seule lettre, mais doit utiliser suffisamment de caractères pour
identifier de manière unique l'objet à gérer.
La commande nmcli connection show affiche une liste de toutes les connexions. Utilisez
l'option --active pour lister les connexions actives uniquement.
L'exemple suivant ajoute une connexion pour l'interface eno2 appelée eno2. Les informations
réseau de connexion utilisent un service DHCP et le périphérique se connecte automatiquement
au démarrage. Le système obtient également les paramètres du réseau IPv6 en écoutant les
annonces de routage sur le lien local. Le nom du fichier de configuration contient la valeur
du paramètre con-name de la commande nmcli : eno2. La valeur du paramètre con-
name est enregistrée dans le fichier /etc/NetworkManager/system-connections/
eno2.nmconnection.
L'exemple suivant crée la connexion eno3 du périphérique eno3 avec un paramètre réseau IPv4
statique. Cette commande configure l'adresse IP 192.168.0.5 avec le préfixe réseau /24 et la
passerelle réseau 192.168.0.254. La commande nmcli connection add échoue si le nom
de connexion que vous essayez d'ajouter existe.
[root@host ~]# nmcli con add con-name eno3 type ethernet ifname eno3 \
ipv4.addresses 192.168.0.5/24 ipv4.gateway 192.168.0.254
432 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
L'exemple suivant crée la connexion eno4 du périphérique eno4 avec les adresses IPv6 et
IPv4 statiques. Cette commande configure l'adresse IPv6 2001:db8:0:1::c000:207
avec le préfixe réseau /64 et l'adresse 2001:db8:0:1::1 comme passerelle par défaut.
La commande configure également l'adresse IPv4 192.0.2.7 avec le préfixe réseau /24 et
l'adresse 192.0.2.1 comme passerelle par défaut.
[root@host ~]# nmcli con add con-name eno4 type ethernet ifname eno4 \
ipv6.addresses 2001:db8:0:1::c000:207/64 ipv6.gateway 2001:db8:0:1::1 \
ipv4.addresses 192.0.2.7/24 ipv4.gateway 192.0.2.1
Important
Utilisez nmcli device disconnect pour arrêter le trafic sur une interface réseau
et désactiver la connexion.
RH124-RHEL9.0-fr-2-20220609 433
chapitre 12 | Gestion de la mise en réseau
Pour lister les paramètres actuels de la connexion, utilisez la commande nmcli connection
show. Les paramètres en minuscules sont des propriétés statiques que l'administrateur peut
modifier. Les paramètres en majuscules sont les paramètres actifs utilisés temporairement pour
cette instance de connexion.
434 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
ipv6.ip6-privacy: -1 (unknown)
ipv6.dhcp-hostname: --
...output omitted...
Utilisez la commande nmcli connection modify pour mettre à jour les paramètres de
connexion. Ces modifications sont enregistrées dans le fichier /etc/NetworkManager/
system-connections/name.nmconnection. Consultez la page de manuel nm-settings(5)
pour connaître les paramètres disponibles.
Utilisez la commande suivante pour mettre à jour la connexion static-ens3 afin de définir
l'adresse IPv6 2001:db8:0:1::a00:1/64 et la passerelle par défaut 2001:db8:0:1::1.
Important
Pour modifier une configuration de connexion DHCP afin qu'elle soit statique,
mettez à jour le paramètre ipv4.method de auto ou dhcp vers manual. Pour une
connexion IPv6, mettez à jour le paramètre ipv6.method. Si la méthode n'est pas
correctement définie, la connexion peut se bloquer ou être incomplète à l'activation.
Elle peut également obtenir une adresse de DHCP ou SLAAC en plus de l'adresse
statique configurée.
Certains paramètres peuvent avoir plusieurs valeurs. Vous pouvez ajouter une valeur spécifique à
une liste des paramètres de connexion ou la supprimer en ajoutant un signe plus (+) ou moins (-)
devant le nom du paramètre. Si aucun signe plus ou moins n'est inclus, la valeur spécifiée remplace
la liste actuelle du paramètre. L'exemple suivant ajoute le serveur DNS 2.2.2.2 à la connexion
static-ens3.
Vous pouvez également modifier les profils réseau en éditant le fichier de configuration de la
connexion dans /etc/NetworkManager/system-connections/. Alors que les commandes
nmcli communiquent directement avec NetworkManager pour implémenter immédiatement
les modifications, les modifications du fichier de connexion ne sont pas implémentées tant
qu'il n'est pas demandé à NetworkManager de recharger le fichier de configuration. Avec
la modification manuelle, vous pouvez créer des configurations complexes par étapes, puis
charger la configuration finale lorsque vous êtes prêt. L'exemple suivant charge tous les profils de
connexion.
RH124-RHEL9.0-fr-2-20220609 435
chapitre 12 | Gestion de la mise en réseau
Les utilisateurs sans privilège qui sont connectés sur la console physique ou virtuelle peuvent
également apporter la plupart des modifications de configuration réseau. Si une personne se
trouve sur la console du système, le système est probablement utilisé comme poste de travail ou
ordinateur portable sur lequel l'utilisateur doit configurer, activer et désactiver les connexions. Les
utilisateurs sans privilège qui se connectent avec ssh doivent basculer vers l'utilisateur root pour
modifier les paramètres réseau.
Utilisez la commande nmcli general permissions pour afficher vos permissions actuelles.
L'exemple suivant liste les permissions NetworkManager de l'utilisateur root.
436 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
org.freedesktop.NetworkManager.enable-disable-network no
org.freedesktop.NetworkManager.enable-disable-statistics no
org.freedesktop.NetworkManager.enable-disable-wifi no
org.freedesktop.NetworkManager.enable-disable-wimax no
org.freedesktop.NetworkManager.enable-disable-wwan no
org.freedesktop.NetworkManager.network-control auth
org.freedesktop.NetworkManager.reload auth
org.freedesktop.NetworkManager.settings.modify.global-dns auth
org.freedesktop.NetworkManager.settings.modify.hostname auth
org.freedesktop.NetworkManager.settings.modify.own auth
org.freedesktop.NetworkManager.settings.modify.system auth
org.freedesktop.NetworkManager.sleep-wake no
org.freedesktop.NetworkManager.wifi.scan auth
org.freedesktop.NetworkManager.wifi.share.open no
org.freedesktop.NetworkManager.wifi.share.protected no
Commande Objet
RH124-RHEL9.0-fr-2-20220609 437
chapitre 12 | Gestion de la mise en réseau
Références
Pour plus d'informations, reportez-vous au chapitre Getting Started with nmcli à
l'adresse
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/
html-single/configuring_and_managing_networking/index#getting-started-with-
nmcli_configuring-and-managing-networking
438 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
Exercice guidé
Résultats
• Mettre à jour un paramètre de connexion réseau de DHCP vers statique.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Utilisez la commande ssh pour vous connecter à la machine servera en tant qu'utilisateur
student.
Important
Les noms des interfaces réseau sont déterminés par leur type de bus et l'ordre de
détection des périphériques lors du démarrage. Les noms de vos interfaces réseau
varient en fonction de la plateforme du cours et du matériel utilisés.
Sur votre système, localisez le nom de l'interface (tel que eth1, ens06 ou enp0p2)
associé à l'adresse Ethernet 52:54:00:00:fa:0a. Utilisez ce nom d'interface
pour remplacer l'espace réservé eth0 utilisé tout au long de l'exercice, au besoin.
RH124-RHEL9.0-fr-2-20220609 439
chapitre 12 | Gestion de la mise en réseau
3.1. Utilisez nmcli con show pour afficher toutes les connexions.
3.2. Utilisez la commande nmcli con show --active pour afficher uniquement les
connexions actives.
Le nom de votre interface réseau doit apparaître sous la colonne DEVICE de la sortie
et le nom de la connexion active de ce périphérique est indiqué sous la colonne NAME.
Cet exercice suppose que la connexion active est System eth0. Si le nom de la
connexion active est différent, utilisez-le au lieu de System eth0 pour le reste de
cet exercice.
440 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
ipv6.dns-search: --
ipv6.dns-options: --
ipv6.dns-priority: 0
ipv6.addresses: --
ipv6.gateway: --
ipv6.routes: --
...output omitted...
GENERAL.NAME: System eth0
GENERAL.UUID: 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
GENERAL.DEVICES: eth0
GENERAL.IP-IFACE: eth0
GENERAL.STATE: activated
GENERAL.DEFAULT: yes
4. Créez une connexion statique avec la même adresse IPv4, le même préfixe réseau et
la même passerelle par défaut que la connexion active. Nommez la nouvelle connexion
static-addr.
RH124-RHEL9.0-fr-2-20220609 441
chapitre 12 | Gestion de la mise en réseau
Mise en garde
Comme l'accès à votre machine est fourni par la connexion réseau principale, le
réglage de valeurs erronées lors de la configuration du réseau pourrait rendre
votre ordinateur inaccessible. Si votre machine est inaccessible, utilisez le bouton
Reset au-dessus de ce qui était l'affichage graphique de votre machine, puis
recommencez.
7. Mettez à jour la connexion précédente afin qu'elle ne démarre pas au démarrage. Vérifiez
que la connexion static-addr est utilisée lors du redémarrage du système.
442 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
RH124-RHEL9.0-fr-2-20220609 443
chapitre 12 | Gestion de la mise en réseau
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
444 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
Résultats
Modifier la configuration réseau en éditant les fichiers de configuration.
Bien que la méthode recommandée pour gérer les profils soit d'utiliser la commande nmcli,
les utilisateurs peuvent toujours créer ou modifier manuellement les fichiers de configuration.
Après avoir modifié le fichier de configuration, exécutez la commande nmcli con reload pour
informer NetworkManager de ces modifications.
RH124-RHEL9.0-fr-2-20220609 445
chapitre 12 | Gestion de la mise en réseau
446 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
id=Main eth0
RH124-RHEL9.0-fr-2-20220609 447
chapitre 12 | Gestion de la mise en réseau
[connection]
id=Main eth0
uuid=27afa607-ee36-43f0-b8c3-9d245cdc4bb3
type=802-3-ethernet
autoconnect=true
[ipv4]
method=auto
[802-3-ethernet]
mac-address=00:23:5a:47:1f:71
address1=172.25.0.10/24 interface-name=ens3
dns=172.25.254.254 autoconnect=true
uuid=f3e8(…)ad3e
type=ethernet
Après avoir modifié les fichiers de configuration, définissez des autorisations sur le fichier de
configuration pour que l'utilisateur root puisse le lire et le modifier.
Exécutez la commande nmcli con reload pour que NetworkManager lise les modifications de
configuration. Lorsque la variable autoconnect dans le profil utilise la valeur false, activez la
connexion.
448 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
Références
Pages de manuel nmcli(1), nm-settings(5) et nm-settings-keyfile(5)
RH124-RHEL9.0-fr-2-20220609 449
chapitre 12 | Gestion de la mise en réseau
Exercice guidé
Résultats
• Configurez des adresses réseau supplémentaires sur chaque système.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Sur la machine workstation, utilisez la commande ssh pour vous connecter à la machine
servera en tant qu'utilisateur student.
Important
Les noms des interfaces réseau sont déterminés par leur type de bus et l'ordre de
détection des périphériques lors du démarrage. Les noms de vos interfaces réseau
varient en fonction de la plateforme du cours et du matériel utilisés.
Localisez le nom de l'interface réseau associé à l'adresse Ethernet sur votre système.
Enregistrez ou mémorisez ce nom et utilisez-le pour remplacer le marqueur enX dans
les commandes suivantes. La connexion active est appelée Wired connection
1 et la configuration se trouve dans le fichier /etc/NetworkManager/system-
connections/"Wired connection 1.nmconnection".
450 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
3. Sur la machine servera, basculez vers l'utilisateur root, puis modifiez le fichier /etc/
NetworkManager/system-connections/"Wired connection 1.nmconnection"
pour ajouter l'adresse 10.0.1.1/24.
4.1. Rechargez les modifications de configuration pour que NetworkManager les lise.
RH124-RHEL9.0-fr-2-20220609 451
chapitre 12 | Gestion de la mise en réseau
7.3. Rechargez les modifications de configuration pour que NetworkManager les lise.
452 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
8. Testez la connectivité entre les machines servera et serverb avec les nouvelles adresses
réseau.
8.1. À partir de la machine serverb, effectuez un test ping sur la nouvelle adresse de la
machine servera.
8.3. Accédez à la machine servera en tant qu'utilisateur student pour effectuer un test
ping sur la nouvelle adresse de la machine serverb.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 453
chapitre 12 | Gestion de la mise en réseau
Résultats
Configurer le nom d'hôte statique d'un serveur et sa résolution, puis tester les résultats.
Important
Dans Red Hat Enterprise Linux 7 et versions ultérieures, le nom d'hôte statique est
stocké dans le fichier /etc/hostname. Red Hat Enterprise Linux 6 et versions
antérieures stockent le nom d'hôte sous forme de variable dans le fichier /etc/
sysconfig/network.
454 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
La commande getent hosts hostname teste la résolution du nom d'hôte avec le fichier /etc/
hosts. Si aucune entrée n'est trouvée dans le fichier /etc/hosts, le résolveur stub utilise un
serveur de noms DNS pour trouver le nom d'hôte. Le fichier /etc/resolv.conf détermine de
quelle manière le serveur est interrogé :
• search : liste de noms de domaine à tester avec un nom d'hôte court. search ou domain doit
être défini dans le même fichier ; s'ils sont tous deux définis, seule la dernière entrée est prise en
compte. Reportez-vous à resolv.conf(5) pour plus de détails.
• nameserver : adresse IP d'un serveur de noms à interroger. Il est possible d'indiquer jusqu'à
trois directives de serveur de noms pour fournir des alternatives si l'un d'entre eux est hors
service.
NetworkManager utilise les paramètres DNS des fichiers de configuration de connexion pour
mettre à jour le fichier /etc/resolv.conf. Utilisez la commande nmcli pour modifier les
connexions.
Pour ajouter le serveur DNS avec l'adresse IP IPv6 2001:4860:4860::8888 à la liste des
serveurs de noms de la connexion static-ens3 :
RH124-RHEL9.0-fr-2-20220609 455
chapitre 12 | Gestion de la mise en réseau
Note
Les paramètres DNS IPv4 et IPv6 statiques deviennent les directives nameserver
dans /etc/resolv.conf. Sur un système à double pile, conservez au moins un
serveur de noms IPv4 accessible et un serveur de noms IPv6 (en supposant un
système à double pile), en cas de problèmes de mise en réseau avec l'une ou l'autre
des piles.
Important
DHCP réécrit automatiquement le fichier /etc/resolv.conf lorsque les
interfaces sont lancées, sauf si vous spécifiez PEERDNS=no dans les fichiers
appropriés de configuration des interfaces. Définissez cette entrée en utilisant la
commande nmcli.
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 947ea2a936353423c3bc0d5f627cc1ae7147460e10d2777c (good)
;; QUESTION SECTION:
;classroom.example.com. IN A
;; ANSWER SECTION:
classroom.example.com. 85326 IN A 172.25.254.254
...output omitted...
Les commandes host et dig n'affichent pas la configuration dans le fichier /etc/hosts. Pour
tester le fichier /etc/hosts, utilisez la commande getent hosts HOSTNAME.
456 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
Références
Pages de manuel nmcli(1), hostnamectl(1), hosts(5), getent(1), host(1),
dig(1), getent(1) et resolv.conf(5)
RH124-RHEL9.0-fr-2-20220609 457
chapitre 12 | Gestion de la mise en réseau
Exercice guidé
Résultats
• Définir un nom d'hôte personnalisé.
• Configurer les paramètres de la résolution de noms.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande permet de s'assurer que toutes les ressources requises sont disponibles.
Instructions
1. Connectez-vous à servera en tant qu'utilisateur student et basculez vers l'utilisateur
root.
2.2. Affichez l'état du nom d'hôte. Notez le nom d'hôte transitoire obtenu à partir de
DHCP ou de mDNS.
458 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
3. Définissez un nom d'hôte statique qui correspond au nom d'hôte transitoire actuel.
servera.lab.example.com
3.3. Affichez l'état du nom d'hôte. Notez que le nom d'hôte transitoire n'est pas affiché,
car un nom d'hôte statique est à présent configuré.
RH124-RHEL9.0-fr-2-20220609 459
chapitre 12 | Gestion de la mise en réseau
servera.lab.example.com
5. Ajoutez class comme surnom local pour le serveur de la salle de classe et assurez-vous
que vous pouvez effectuer un ping sur le serveur avec ce surnom.
5.2. Mettez à jour le fichier /etc/hosts pour ajouter class afin d'accéder à l'adresse IP
172.25.254.254. L'exemple suivant montre le contenu attendu du fichier /etc/
hosts.
5.4. Utilisez la commande ping pour envoyer des paquets au serveur class.
460 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 461
chapitre 12 | Gestion de la mise en réseau
Open Lab
Résultats
• Configurer deux adresses IPv4 statiques pour l'interface réseau principale.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Connectez-vous à la machine serverb en tant qu'utilisateur student. Basculez vers
l'utilisateur root.
2. Créez une connexion avec une configuration de réseau statique à l'aide des paramètres du
tableau.
Paramètre Paramètre
adresse IP 172.25.250.11/24
462 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 463
chapitre 12 | Gestion de la mise en réseau
Solution
Résultats
• Configurer deux adresses IPv4 statiques pour l'interface réseau principale.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Connectez-vous à la machine serverb en tant qu'utilisateur student. Basculez vers
l'utilisateur root.
2. Créez une connexion avec une configuration de réseau statique à l'aide des paramètres du
tableau.
Paramètre Paramètre
adresse IP 172.25.250.11/24
464 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
Créer le profil de connexion lab en fonction des informations du tableau dans les
instructions. Associez le profil au nom de votre interface réseau indiqué dans la sortie de la
commande ip link précédente.
[root@serverb ~]# nmcli con add con-name lab ifname eth0 type ethernet \
ipv4.method manual \
ipv4.addresses 172.25.250.11/24 ipv4.gateway 172.25.250.254
[root@serverb ~]# nmcli con mod "lab" ipv4.dns 172.25.250.254
5. Configurez le fichier hosts de sorte que vous puissiez faire référence à l'adresse IP
10.0.1.1 avec le nom private.
RH124-RHEL9.0-fr-2-20220609 465
chapitre 12 | Gestion de la mise en réseau
6. Redémarrez le système.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
466 RH124-RHEL9.0-fr-2-20220609
chapitre 12 | Gestion de la mise en réseau
Résumé
• Le modèle de réseau TCP/IP est un ensemble, simplifié et comprenant quatre couches,
d'abstractions décrivant l'interopérabilité des différents protocoles afin que les ordinateurs
puissent envoyer du trafic d'un ordinateur à un autre via Internet.
• Par défaut, Red Hat Enterprise Linux fonctionne en mode à double pile et utilise les deux
protocoles réseau en parallèle.
• Les routes réseau déterminent l'interface réseau correcte pour envoyer des paquets à un réseau
particulier.
• À partir de Red Hat Enterprise Linux 9, l'emplacement par défaut des configurations réseau est
le répertoire /etc/NetworkManager/system-connections.
RH124-RHEL9.0-fr-2-20220609 467
468 RH124-RHEL9.0-fr-2-20220609
chapitre 13
Archivage et transfert de
fichiers
Objectif Archiver et copier des fichiers d'un système à
l'autre.
RH124-RHEL9.0-fr-2-20220609 469
chapitre 13 | Archivage et transfert de fichiers
Résultats
Archiver des fichiers et des répertoires dans un fichier compressé avec tar, et extraire le contenu
d'une archive tar existante.
Note
L'utilitaire de compression et de mise en paquet de fichiers original et omniprésent
zip utilise l'algorithme PKZIP (Phil Katz's ZIP pour les systèmes MSDOS), qui a
considérablement évolué et est pris en charge sur RHEL avec les commandes zip
et unzip. De nombreux autres algorithmes de compression ont été développés
depuis l'introduction de zip, et chacun a ses avantages. Pour créer des archives
compressées à usage général, tout algorithme de compression pris en charge par
tar est acceptable.
Les fichiers d'archive sont utilisés pour créer des sauvegardes personnelles gérables ou pour
simplifier la tâche de transfert d'un ensemble de fichiers sur un réseau lorsque d'autres méthodes,
telles que rsync, ne sont pas disponibles ou peuvent être plus complexes. Les fichiers d'archive
peuvent être créés avec ou sans compression pour réduire leur taille.
Sous Linux, l'utilitaire tar est la commande courante pour créer, gérer et extraire des archives.
Utilisez la commande tar pour regrouper plusieurs fichiers dans un seul fichier d'archive. Une
archive tar est une séquence structurée de métadonnées et de données de fichiers avec un index
pour vous permettre d'extraire des fichiers individuels.
Les fichiers peuvent être compressés lors de la création en utilisant l'un des algorithmes de
compression pris en charge. La commande tar peut lister le contenu d'une archive sans extraction
et extraire les fichiers d'origine directement à partir d'archives compressées et non compressées.
470 RH124-RHEL9.0-fr-2-20220609
chapitre 13 | Archivage et transfert de fichiers
Les options de compression de la commande tar suivantes sont utilisées pour sélectionner un
algorithme :
Note
La commande tar prend toujours en charge le style d'option existant qui n'utilise
pas de tiret (-). Vous pouvez rencontrer cette syntaxe dans les scripts ou la
documentation existants. Le comportement est essentiellement le même. Pour la
cohérence des commandes, Red Hat recommande d'utiliser les styles avec option
courte ou longue à la place.
La commande tar reconnaît la syntaxe des noms de fichiers relatifs et absolus. Par défaut, tar
supprime la barre oblique (\) des noms de fichiers absolus ; les fichiers sont donc stockés en
interne avec des noms de chemin d'accès relatifs. Cette technique est plus sûre, car l'extraction
des noms de chemins absolus écrase toujours les fichiers existants. Les fichiers archivés avec des
noms de chemin d'accès relatifs peuvent être extraits vers un nouveau répertoire sans écraser les
fichiers existants.
Un utilisateur doit disposer de permissions de lecture sur les fichiers cibles en cours d'archivage.
Par exemple, les privilèges root sont requis pour archiver le répertoire /etc et son contenu, car
seuls les utilisateurs privilégiés peuvent lire tous les fichiers /etc. Un utilisateur sans privilège
peut créer une archive du répertoire /etc, mais l'archive ne contiendra pas de fichiers que
l'utilisateur ne peut pas lire et les répertoires pour lesquels l'utilisateur ne dispose pas des
permissions de lecture et d'exécution.
Dans cet exemple, l'utilisateur root crée l'archive /root/etc-backup.tar du répertoire /etc.
RH124-RHEL9.0-fr-2-20220609 471
chapitre 13 | Archivage et transfert de fichiers
Important
Les attributs de fichier étendus, tels que les listes de contrôle d'accès (ACL) et les
contextes de fichier SELinux, ne sont pas conservés par défaut dans une archive.
Utilisez les options --xattrs et --selinux pour inclure des attributs étendus.
Lorsque vous extrayez des fichiers d'une archive, l'umask actuel est utilisé pour modifier les
permissions de chaque fichier extrait. Utilisez plutôt la commande tar avec l'option p pour
conserver les permissions archivées d'origine des fichiers extraits. L'option --preserve-
permissions est activée par défaut pour un super utilisateur.
472 RH124-RHEL9.0-fr-2-20220609
chapitre 13 | Archivage et transfert de fichiers
• La compression gzip est la méthode traditionnelle la plus rapide et est largement disponible
sur toutes les plateformes.
• La compression bzip2 crée des archives plus petites, mais est moins largement disponible que
gzip.
• La compression xz est plus récente et offre le meilleur taux de compression des méthodes
disponibles.
• compress est une variante de l'algorithme LZ existant et est largement disponible sur toutes les
plateformes.
Après avoir créé une archive, vérifiez sa table de contenu à l'aide de la commande tar avec les
options tf. Il n'est pas nécessaire de spécifier l'option de compression lors du listage d'un fichier
d'archive compressé, car le type de compression est lu à partir de l'en-tête de l'archive. Listez le
contenu archivé dans le fichier /root/etcbackup.tar.gz, qui utilise la compression gzip :
RH124-RHEL9.0-fr-2-20220609 473
chapitre 13 | Archivage et transfert de fichiers
Les algorithmes gzip, bzip2, xz et compress sont également implémentés en tant que
commandes autonomes pour compresser des fichiers individuels sans créer d'archive. Ces
commandes ne vous permettent pas de créer un seul fichier compressé de plusieurs fichiers,
comme un répertoire. Comme indiqué précédemment, pour créer une archive compressée de
plusieurs fichiers, utilisez la commande tar avec l'option de compression de votre choix. Pour
décompresser un seul fichier compressé ou un fichier d'archive compressé sans extraire son
contenu, utilisez les commandes autonomes gunzip, bunzip2, unxz et uncompress.
Les commandes gzip et xz fournissent une option -l pour afficher la taille non compressée d'un
fichier compressé unique ou d'un fichier d'archive. Utilisez cette option pour vérifier que l'espace
disponible est suffisant avant de décompresser ou d'extraire un fichier.
Références
Pages de manuel tar(1), gzip(1), gunzip(1), bzip2(1), bunzip2(1), xz(1),
unxz(1), compress(1) et uncompress(1)
474 RH124-RHEL9.0-fr-2-20220609
chapitre 13 | Archivage et transfert de fichiers
Exercice guidé
Résultats
• Archiver une arborescence de dossiers et extraire le contenu de l'archive dans un autre
emplacement.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande permet de s'assurer que toutes les ressources requises sont disponibles.
Instructions
1. À partir de workstation, connectez-vous à servera en tant qu'utilisateur student et
basculez vers l'utilisateur root.
2. Créez une archive du répertoire /etc avec une compression gzip. Enregistrez le fichier
archive sous /tmp/etc.tar.gz.
RH124-RHEL9.0-fr-2-20220609 475
chapitre 13 | Archivage et transfert de fichiers
[root@servera backuptest]# ls -l
total 12
drwxr-xr-x. 95 root root 8192 Feb 8 10:16 etc
[root@servera backuptest]# ls -l etc
total 1228
-rw-r--r--. 1 root root 12 Feb 24 05:25 adjtime
-rw-r--r--. 1 root root 1529 Jun 23 2020 aliases
drwxr-xr-x. 2 root root 4096 Mar 3 04:48 alternatives
...output omitted...
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
476 RH124-RHEL9.0-fr-2-20220609
chapitre 13 | Archivage et transfert de fichiers
RH124-RHEL9.0-fr-2-20220609 477
chapitre 13 | Archivage et transfert de fichiers
Résultats
Transférer des fichiers depuis ou vers un système distant en toute sécurité avec SSH.
Spécifiez un emplacement distant pour la source ou la destination des fichiers que vous copiez.
Pour le format de l'emplacement distant, utilisez [user@]host:/path. La partie user@ de
l'argument est facultative. Si cette partie est manquante, la commande sftp utilise votre nom
d'utilisateur local actuel. Lorsque vous exécutez la commande sftp, votre terminal fournit une
invite sftp>.
La session sftp interactive accepte diverses commandes qui fonctionnent de la même façon sur
le système de fichiers distant que sur le système de fichiers local, telles que ls, cd, mkdir, rmdir
et pwd. La commande put charge un fichier sur le système distant. La commande get télécharge
un fichier depuis le système distant. La commande exit met fin à la session sftp.
Listez les commandes sftp disponibles en utilisant la commande help dans la session sftp :
sftp> help
Available commands:
bye Quit sftp
cd path Change remote directory to 'path'
chgrp [-h] grp path Change group of file 'path' to 'grp'
chmod [-h] mode path Change permissions of file 'path' to 'mode'
chown [-h] own path Change owner of file 'path' to 'own'
...output omitted...
Dans une session sftp, vous souhaiterez peut-être exécuter certaines commandes sur votre hôte
local. Pour la plupart des commandes disponibles, ajoutez le caractère l avant la commande. Par
exemple, la commande pwd imprime le répertoire de travail actuel sur l'hôte distant. Pour imprimer
le répertoire de travail actuel sur votre hôte local, utilisez la commande lpwd.
478 RH124-RHEL9.0-fr-2-20220609
chapitre 13 | Archivage et transfert de fichiers
sftp> pwd
Remote working directory: /home/remoteuser
sftp> lpwd
Local working directory: /home/user
L'exemple suivant charge le fichier /etc/hosts sur le système local dans le répertoire /home/
remoteuser/hostbackup qui vient d'être créé sur la machine remotehost. La session sftp
suppose que la commande put est suivie d'un fichier local dans le répertoire personnel de
l'utilisateur qui se connecte, en l'occurrence le répertoire /home/remoteuser :
Pour copier une arborescence de répertoires complète de manière récursive, utilisez la commande
sftp avec l'option -r. L'exemple suivant copie de manière récursive le répertoire local /home/
user/directory sur la machine remotehost.
Pour télécharger le fichier /etc/yum.conf à partir de l'hôte distant vers le répertoire courant sur
le système local, exécutez la commande get /etc/yum.conf et quittez la session sftp.
Pour obtenir un fichier distant avec la commande sftp sur une seule ligne de commande, sans
ouvrir de session interactive, utilisez la syntaxe suivante. Vous ne pouvez pas utiliser une seule
syntaxe de ligne de commande pour placer des fichiers sur un hôte distant.
RH124-RHEL9.0-fr-2-20220609 479
chapitre 13 | Archivage et transfert de fichiers
Bien que certaines vulnérabilités aient été corrigées ces dernières années, toutes
ne peuvent pas être corrigées tout en maintenant la compatibilité ascendante.
C'est pourquoi, Red Hat recommande de ne plus utiliser la commande scp dans
les nouvelles applications ou les nouveaux scripts, et d'utiliser à la place d'autres
utilitaires tels que les commandes sftp ou rsync pour copier des fichiers vers ou
depuis un hôte distant.
La commande de copie sécurisée, scp, qui fait partie de la suite OpenSSH, copie des fichiers d'un
système distant vers le système local ou d'un système local vers un système distant. La commande
utilise le serveur SSH pour l'authentification et chiffre les données lors du transfert.
Vous pouvez spécifier un emplacement distant pour la source ou la destination des fichiers
que vous copiez. Comme avec la commande sftp, la commande scp utilise [user@]host
pour identifier le système cible et le nom d'utilisateur. Si vous ne spécifiez pas d'utilisateur,
la commande tente de se connecter en utilisant votre nom d'utilisateur local en tant que
nom d'utilisateur distant. Lorsque vous exécutez la commande, votre client scp s'authentifie
sur le serveur SSH distant de la même manière qu'avec la commande ssh, en utilisant une
authentification basée sur une clé ou en vous demandant votre mot de passe.
Références
Page du manuel (1)sftp.
480 RH124-RHEL9.0-fr-2-20220609
chapitre 13 | Archivage et transfert de fichiers
Exercice guidé
Résultats
• Copier des fichiers depuis un hôte distant vers un répertoire de la machine locale.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Utilisez la commande ssh pour vous connecter à servera en tant qu'utilisateur student.
2.2. Utilisez la commande sftp pour ouvrir une session sur la machine serverb.
Notez que seul l'utilisateur root peut lire tout le contenu du répertoire /etc/ssh.
Lorsqu'un message vous y invite, saisissez redhat comme mot de passe.
RH124-RHEL9.0-fr-2-20220609 481
chapitre 13 | Archivage et transfert de fichiers
2.4. Faites une copie récursive du répertoire /etc/ssh de la machine serverb vers le
répertoire /home/student/serverbackup sur la machine servera.
2.5. Quittez la session sftp et vérifiez que le répertoire /etc/ssh à partir de la machine
serverb est copié vers le répertoire /home/student/serverbackup sur la
machine servera.
sftp> exit
[student@servera ~]$ ls -lR ~/serverbackup
/home/student/serverbackup:
total 4
drwxr-xr-x. 4 student student 4096 Mar 21 12:01 ssh
/home/student/serverbackup/ssh:
total 600
-rw-r--r--. 1 student student 578094 Mar 21 12:01 moduli
-rw-r--r--. 1 student student 1921 Mar 21 12:01 ssh_config
drwxr-xr-x. 2 student student 52 Mar 21 12:01 ssh_config.d
-rw-------. 1 student student 3730 Mar 21 12:01 sshd_config
drwx------. 2 student student 28 Mar 21 12:01 sshd_config.d
-rw-r-----. 1 student student 505 Mar 21 12:01 ssh_host_ecdsa_key
-rw-r--r--. 1 student student 173 Mar 21 12:01 ssh_host_ecdsa_key.pub
-rw-r-----. 1 student student 399 Mar 21 12:01 ssh_host_ed25519_key
-rw-r--r--. 1 student student 93 Mar 21 12:01 ssh_host_ed25519_key.pub
-rw-r-----. 1 student student 2602 Mar 21 12:01 ssh_host_rsa_key
-rw-r--r--. 1 student student 565 Mar 21 12:01 ssh_host_rsa_key.pub
/home/student/serverbackup/ssh/ssh_config.d:
total 8
-rw-r--r--. 1 student student 36 Mar 21 12:01 01-training.conf
482 RH124-RHEL9.0-fr-2-20220609
chapitre 13 | Archivage et transfert de fichiers
/home/student/serverbackup/ssh/sshd_config.d:
total 4
-rw-------. 1 student student 719 Mar 21 12:01 50-redhat.conf
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 483
chapitre 13 | Archivage et transfert de fichiers
Résultats
Synchroniser le contenu d'un fichier ou d'un répertoire local avec une copie sur un serveur distant
de manière efficace et fiable.
L'un des avantages de la commande rsync est qu'elle peut copier des fichiers entre un système
local et un système distant en assurant sécurité et efficacité. Bien que la synchronisation initiale
d'un répertoire prenne environ le même temps que sa copie, toute synchronisation ultérieure copie
uniquement les différences via le réseau, ce qui accélère les mises à jour de façon considérable.
Utilisez la commande rsync avec l'option -n pour un essai à blanc. Un essai à blanc simule
ce qui se produit lorsque la commande est exécutée. L'essai à blanc montre les changements
que la commande rsync effectuerait lors de son exécution. Effectuez un essai à blanc avant la
commande rsync, afin de vous assurer qu'aucun fichier important ne sera écrasé ou supprimé.
Lors de la synchronisation avec la commande rsync, les deux options standard sont -v et -a.
La commande rsync avec l'option -v ou --verbose fournit une sortie plus détaillée, ce qui est
utile pour la résolution de problèmes et pour voir les progrès en direct.
La commande rsync avec l'option -a ou --archive active le "mode Archive", ce qui permet
de copier de façon récursive et d'activer un grand nombre d'options précieuses qui conservent
la plupart des caractéristiques des fichiers. Le mode Archive revient à spécifier les options
suivantes :
Option Description
484 RH124-RHEL9.0-fr-2-20220609
chapitre 13 | Archivage et transfert de fichiers
Option Description
Le mode Archive ne conserve pas les liens matériels, car cela peut prolonger considérablement la
synchronisation. Utilisez la commande rsync avec l'option -H pour conserver également les liens
matériels.
Note
Pour inclure des attributs étendus lors de la synchronisation de fichiers, ajoutez ces
options à la commande rsync :
Vous pouvez utiliser la commande rsync pour synchroniser le contenu d'un fichier ou d'un
répertoire local avec un fichier ou un répertoire sur un ordinateur distant, avec l'une des machines
comme source. Vous pouvez également synchroniser le contenu de deux fichiers ou répertoires
locaux sur la même machine.
Par exemple, pour synchroniser le contenu du répertoire /var/log avec le répertoire /tmp :
[user@host ~]$ su -
Password: password
[root@host ~]# rsync -av /var/log /tmp
receiving incremental file list
log/
log/README
log/boot.log
...output omitted...
log/tuned/tuned.log
Important
Il est important de spécifier correctement une barre oblique de fin du répertoire
source. Un répertoire source avec une barre oblique de fin synchronise le contenu
des répertoires sans inclure le répertoire lui-même. Le contenu sera synchronisé
directement dans le répertoire de destination. Sans la barre oblique finale, le
répertoire source lui-même sera synchronisé avec le répertoire de destination.
Le contenu du répertoire source se trouve sous le nouveau sous-répertoire de la
destination.
RH124-RHEL9.0-fr-2-20220609 485
chapitre 13 | Archivage et transfert de fichiers
Dans cet exemple, le contenu du répertoire /var/log/ est synchronisé dans le répertoire /tmp
au lieu de créer le répertoire log dans le répertoire /tmp.
Comme avec la commande sftp, la commande rsync spécifie les emplacements distants au
format [user@]host:/path. L'emplacement distant peut être le système source ou le système
de destination, mais l'une des deux machines doit être locale.
Pour conserver la propriété du fichier, vous devez être un utilisateur root sur le système de
destination. Si la destination est distante, authentifiez-vous en tant qu'utilisateur root. Si la
destination est locale, vous devez exécuter la commande rsync en tant qu'utilisateur root.
Dans cet exemple, synchronisez le répertoire local /var/log avec le répertoire /tmp sur le
système hosta :
De la même manière, le répertoire distant /var/log sur la machine hosta se synchronise sur le
répertoire /tmp sur la machine host :
486 RH124-RHEL9.0-fr-2-20220609
chapitre 13 | Archivage et transfert de fichiers
Références
Page de manuel (1)rsync
RH124-RHEL9.0-fr-2-20220609 487
chapitre 13 | Archivage et transfert de fichiers
Exercice guidé
Résultats
• Utiliser la commande rsync pour synchroniser le contenu d'un répertoire local avec une
copie sur un serveur distant.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Sur la machine workstation, utilisez la commande ssh pour vous connecter à la machine
servera en tant qu'utilisateur student, puis basculez vers l'utilisateur root.
488 RH124-RHEL9.0-fr-2-20220609
chapitre 13 | Archivage et transfert de fichiers
RH124-RHEL9.0-fr-2-20220609 489
chapitre 13 | Archivage et transfert de fichiers
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
490 RH124-RHEL9.0-fr-2-20220609
chapitre 13 | Archivage et transfert de fichiers
Open Lab
Résultats
• Synchroniser un répertoire distant sur un répertoire local.
• Créer une archive du contenu d'un répertoire synchronisé.
• Copier en toute sécurité une archive sur un hôte distant.
• Extraire une archive.
Avant De Commencer
En tant qu'utilisateur student sur le poste de travail, utilisez la commande lab en vue de
préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles. Elle installe également des clés SSH sur vos systèmes afin que
vous puissiez transférer des fichiers sans entrer de mot de passe.
Instructions
1. Sur serverb, synchronisez l'arborescence de répertoire /etc de servera vers le répertoire
/configsync.
2. Créez une archive configfile-backup-servera.tar.gz avec le contenu du répertoire
/configsync.
3. Copiez en toute sécurité le fichier d'archive /root/configfile-backup-
servera.tar.gz à partir de serverb dans le répertoire /home/student sur
workstation.
4. Sur workstation, extrayez le contenu dans le répertoire /tmp/savedconfig/.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 491
chapitre 13 | Archivage et transfert de fichiers
492 RH124-RHEL9.0-fr-2-20220609
chapitre 13 | Archivage et transfert de fichiers
Solution
Résultats
• Synchroniser un répertoire distant sur un répertoire local.
• Créer une archive du contenu d'un répertoire synchronisé.
• Copier en toute sécurité une archive sur un hôte distant.
• Extraire une archive.
Avant De Commencer
En tant qu'utilisateur student sur le poste de travail, utilisez la commande lab en vue de
préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles. Elle installe également des clés SSH sur vos systèmes afin que
vous puissiez transférer des fichiers sans entrer de mot de passe.
Instructions
1. Sur serverb, synchronisez l'arborescence de répertoire /etc de servera vers le répertoire
/configsync.
1.2. Créez le répertoire /configsync pour stocker les fichiers synchronisés à partir de
servera.
RH124-RHEL9.0-fr-2-20220609 493
chapitre 13 | Archivage et transfert de fichiers
494 RH124-RHEL9.0-fr-2-20220609
chapitre 13 | Archivage et transfert de fichiers
4.5. Listez le répertoire pour vérifier qu'il contient les fichiers etc.
./configsync:
total 12
drwxr-xr-x. 105 student student 8192 Mar 28 16:03 etc
...output omitted...
[student@workstation savedconfig]$ cd
[student@workstation ~]$
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 495
chapitre 13 | Archivage et transfert de fichiers
Résumé
• La commande tar crée un fichier d'archive à partir d'un ensemble de fichiers et de répertoires.
Elle extrait et répertorie également les fichiers d'un fichier d'archive.
• En plus de fournir un shell distant sécurisé, le service SSH fournit également la commande sftp
en tant que moyens sécurisés pour transférer des fichiers depuis et vers un système distant qui
exécute le serveur SSH.
• La commande rsync synchronise les fichiers de manière sécurisée et efficace entre deux
répertoires, l'un ou l'autre pouvant se trouver sur un système distant.
496 RH124-RHEL9.0-fr-2-20220609
chapitre 14
RH124-RHEL9.0-fr-2-20220609 497
chapitre 14 | Installation et mise à jour de paquetages logiciels
Résultats
Enregistrer un système sur votre compte Red Hat et lui attribuer les droits pour les mises à jour
logicielles et les services de support avec Red Hat Subscription Management.
Vous pouvez effectuer les tâches principales suivantes avec les outils de gestion des
abonnements Red Hat :
• Enregistrer un système pour l'associer au compte Red Hat avec un abonnement actif. Avec le
gestionnaire d'abonnements, le système peut s'enregistrer de manière unique dans l'inventaire
du service d'abonnement. Vous pouvez annuler l'enregistrement du système lorsque vous ne
l'utilisez pas.
• Abonner un système pour lui permettre de recevoir des mises à jour de produits Red Hat
spécifiques. Les abonnements sont liés à des niveaux d'assistance, dates d'expiration
et référentiels par défaut spécifiques. Les outils peuvent être utilisés pour joindre
automatiquement un droit spécifique ou pour le sélectionner.
• Activer les référentiels pour qu'ils fournissent des paquetages logiciels. Par défaut, chaque
abonnement active plusieurs référentiels. D'autres référentiels, tels que des mises à jour ou du
code source sont activés ou désactivés.
• Examiner et effectuer le suivi des droits disponibles ou utilisés. Sur le portail client Red Hat, vous
pouvez afficher les informations d'abonnement en local sur un système spécifique ou pour un
compte Red Hat.
Simple Content Access est une fonction facultative de Red Hat Satellite Server et de Red Hat
Subscription Management. Ce cours inclut les commandes d'abonnement, si nécessaire, si vous
n'avez pas encore activé SCA.
498 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
Pour enregistrer un système avec la console Web RHEL, lancez l'application Red Hat
Subscription Manager à partir du menu Activities. Tapez subscription dans le champ Type
to search et cliquez sur l'application Red Hat Subscription Manager. À l'invite, saisissez le mot de
passe approprié pour vous authentifier. Das la fenêtre Subscriptions, cliquez sur Register pour
ouvrir la boîte de dialogue Register System.
Par défaut, les systèmes sont enregistrés sur le portail client Red Hat. Complétez ll'identifiant et le
mot de passe d'accès à votre compte sur le portail client Red Hat, puis cliquez sur pour enregistrer
le système Register. Une fois enregistré, le système est automatiquement lié à un abonnement.
Enregistrez un système en utilisant les informations d'identification du portail client Red Hat en
tant qu'utilisateur root :
RH124-RHEL9.0-fr-2-20220609 499
chapitre 14 | Installation et mise à jour de paquetages logiciels
Vous pouvez également lier un abonnement à partir d'un pool spécifique de la liste des
abonnements disponibles :
Clés d'activation
Une clé d'activation est un fichier de gestion des abonnements préconfiguré qui peut être utilisé
avec Red Hat Satellite Server et la gestion des abonnements via le portail client Red Hat. Utilisez
la commande subscription-manager avec les clés d'activation pour simplifier l'enregistrement
et l'affectation des abonnements prédéfinis. Cette méthode d'enregistrement s'avère utile pour
l'automatisation des installations et des déploiements. Pour les organisations qui activent Simple
Content Access, les clés d'activation peuvent enregistrer des systèmes et activer des référentiels
sans devoir joindre des abonnements.
Certificats de droits
Les certificats numériques stockent sur le système local les informations actuelles relatives aux
droits. Le système enregistré stocke les certificats d'autorisation dans le répertoire /etc/pki.
500 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
Références
Pages du manuel subscription-manager(8) et rct(8)
RH124-RHEL9.0-fr-2-20220609 501
chapitre 14 | Installation et mise à jour de paquetages logiciels
Quiz
3. Quel répertoire stocke les certificats des produits Red Hat lors de l'utilisation de
certificats de droits ?
a. /etc/pki/entitlement
b. /etc/subscription/product
c. /etc/pki/product
d. /etc/certs/pki
e. Aucune des options précédentes.
502 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
Solution
3. Quel répertoire stocke les certificats des produits Red Hat lors de l'utilisation de
certificats de droits ?
a. /etc/pki/entitlement
b. /etc/subscription/product
c. /etc/pki/product
d. /etc/certs/pki
e. Aucune des options précédentes.
RH124-RHEL9.0-fr-2-20220609 503
chapitre 14 | Installation et mise à jour de paquetages logiciels
Résultats
Expliquer comment les logiciels sont fournis sous forme de paquetages RPM et inspecter les
paquetages installés sur le système avec DNF et RPM.
Les noms de fichiers des paquetages RPM se composent de quatre éléments (en plus du suffixe
.rpm) : name-version-release.architecture :
• RELEASE correspond au numéro d'édition du paquetage basé sur cette version. L'édition
est définie par le responsable du paquetage, qui peut ne pas être le développeur d'origine du
logiciel (31.el9).
• ARCH est l'architecture de processeur sur laquelle le paquetage est compilé pour s'exécuter.
La valeur x86_64 indique que ce paquetage est compilé pour la version 64 bits du jeu
d'instructions x86 (par opposition à aarch64 pour ARM 64 bits, etc.).
Seul le nom du paquetage est requis pour l'installation de paquetages à partir de référentiels. S'il
existe plusieurs versions, le paquetage portant le numéro de version le plus élevé est installé par
RPM Package Manager. S'il existe plusieurs versions d'une version simple, le paquetage portant le
numéro de version le plus élevé est installé par RPM Package Manager.
Chaque paquetage RPM est une archive avec les composants suivants :
504 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
• Les scripts qui peuvent s'exécuter lorsque vous installez, mettez à jour ou supprimez le
paquetage. Ces scripts qui peuvent s'exécuter lorsque vous installez, mettez à jour ou
supprimez d'autres paquetages.
Généralement, les fournisseurs de logiciels signent numériquement les paquetages RPM à l'aide
de clés GPG (GNU Privacy Guard) (Red Hat signe numériquement tous les paquetages qu'il
publie). Le système RPM vérifie l'intégrité du paquetage en confirmant que celui-ci a été signé par
la clé GPG appropriée. Le système RPM échoue à installer un paquetage si la signature GPG ne
correspond pas.
En règle générale, une seule version d'un paquetage est installée à la fois. Si un paquetage est
compilé avec des noms de fichiers non conflictuels, vous pouvez installer plusieurs versions. Le
paquetage kernel est un exemple d'installation de plusieurs versions de paquetage. Étant donné
que vous testez un nouveau noyau uniquement en démarrant sur ce noyau, le paquetage est
conçu pour permettre l'installation de plusieurs versions. Si le nouveau noyau ne démarre pas, vous
pouvez revenir au noyau précédent.
RH124-RHEL9.0-fr-2-20220609 505
chapitre 14 | Installation et mise à jour de paquetages logiciels
• rpm -qc : n'affiche que la liste des fichiers de configuration installés par le paquetage.
• rpm -qd : n'affiche que la liste des fichiers de documentation installés par le paquetage.
• rpm -q --scripts : affiche la liste des scripts shell exécutés avant ou après l'installation ou
la suppression du paquetage
506 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
Mise en garde
Soyez prudent en installant des paquetages tiers, non seulement en raison des
logiciels qu'ils peuvent installer, mais aussi car le paquetage RPM peut inclure des
scripts arbitraires s'exécutant en tant qu'utilisateur root dans le cadre du processus
d'installation.
Note
Vous pouvez extraire des fichiers d'un fichier de paquetage RPM sans installer le
paquetage. Utilisez l'utilitaire rpm2cpio pour diffuser du contenu RPM au format
cpio et extraire des fichiers à l'aide de l'outil d'archivage cpio.
La commande cpio (exemple) crée ces sous-répertoires au besoin dans le répertoire de travail en
cours.
RH124-RHEL9.0-fr-2-20220609 507
chapitre 14 | Installation et mise à jour de paquetages logiciels
Références
Pages de manuel rpm(8), rpm2cpio(8), cpio(1) et rpmkeys(8)
508 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
Exercice guidé
Résultats
• Installer sur un serveur un paquetage qui ne provient pas des référentiels de logiciels.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Utilisez la commande ssh pour vous connecter à la machine servera en tant qu'utilisateur
student.
2. Affichez les informations sur les paquetages et listez les fichiers du paquetage rhcsa-
script-1.0.0-1.noarch.rpm. Affichez également le script qui s'exécute lorsque vous
installez ou désinstallez le paquetage.
RH124-RHEL9.0-fr-2-20220609 509
chapitre 14 | Installation et mise à jour de paquetages logiciels
Note
Le paquetage précédent modifie le MOTD, ou "Message du jour". Un système
affiche le MOTD aux utilisateurs lorsqu'ils se connectent aux systèmes.
2.3. Affichez le script qui s'exécute lorsque vous installez ou désinstallez le paquetage
rhcsa-script-1.0.0-1.noarch.rpm.
3.1. Utilisez les commandes rpm2cpio et cpio -tv pour lister les fichiers du paquetage
rhcsa-script-1.0.0-1.noarch.rpm.
3.3. Listez les fichiers dans le répertoire /home/student/opt pour vérifier que les
fichiers extraits sont les mêmes que les fichiers à l'intérieur du paquetage.
510 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
opt/rhcsa-script:
total 4
-rw-r--r--. 1 student student 593 Mar 23 09:22 mymotd
4.1. Utilisez la commande sudo rpm -ivh pour installer le paquetage RPM rhcsa-
script-1.0.0-1.noarch.rpm.
4.2. Utilisez la commande rpm pour vérifier que le paquetage est correctement installé.
RH124-RHEL9.0-fr-2-20220609 511
chapitre 14 | Installation et mise à jour de paquetages logiciels
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
512 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
Résultats
Trouver, installer et mettre à jour des paquetages logiciels avec la commande dnf.
[user@host ~]$ ls -l /bin/ | grep yum | awk '{print $9 " " $10 " " $11}'
yum -> dnf-3
yum-builddep -> /usr/libexec/dnf-utils
yum-config-manager -> /usr/libexec/dnf-utils
yum-debug-dump -> /usr/libexec/dnf-utils
yum-debug-restore -> /usr/libexec/dnf-utils
yumdownloader -> /usr/libexec/dnf-utils
yum-groups-manager -> /usr/libexec/dnf-utils
Dans ce cours, vous utilisez la commande dnf. Certaines documentations peuvent encore faire
référence à la commande yum, mais les fichiers sont liés à la même commande.
La commande rpm de bas niveau peut être utilisée pour installer des paquetages, mais elle
n'est pas conçue pour fonctionner avec des référentiels de paquetages ou pour résoudre
automatiquement les dépendances de plusieurs sources.
DNF améliore l'installation et les mises à jour des logiciels basés sur RPM. La commande dnf vous
permet d'installer, de mettre à jour, de supprimer et d'obtenir des informations sur les paquetages
de logiciels et leurs dépendances. Vous pouvez obtenir un historique des transactions et travailler
avec plusieurs référentiels de logiciels Red Hat et tiers.
RH124-RHEL9.0-fr-2-20220609 513
chapitre 14 | Installation et mise à jour de paquetages logiciels
La commande dnf search KEYWORD répertorie les paquetages en fonction des mots-clés
trouvés dans les champs de nom et de résumé uniquement. Pour rechercher les paquetages dont
les champs de nom, de résumé et de description contiennent "serveur Web", utilisez search
all :
La commande dnf info PACKAGENAME renvoie des informations détaillées sur un paquetage,
y compris l'espace disque requis pour l'installation. Par exemple, la commande suivante récupère
des informations sur le paquetage httpd :
La commande dnf provides PATHNAME affiche les paquetages qui correspondent au nom
de chemin spécifié (les noms de chemin comprennent souvent des caractères génériques). Par
exemple, la commande suivante recherche les paquetages qui fournissent le répertoire /var/
www/html :
514 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
Transaction Summary
================================================================================
Install 10 Packages
RH124-RHEL9.0-fr-2-20220609 515
chapitre 14 | Installation et mise à jour de paquetages logiciels
La commande dnf update PACKAGENAME obtient et installe une version plus récente du
paquetage spécifié, y compris toutes les dépendances. En règle générale, le processus essaie de
conserver les fichiers de configuration en place mais, dans certains cas, ces fichiers doivent être
renommés si le responsable du paquetage pense que l'ancien nom ne fonctionnera pas après
la mise à jour. Si NOMPAQUETAGE n'est pas spécifié, toutes les mises à jour pertinentes sont
installées.
Comme il n'est possible de tester un nouveau noyau qu'en démarrant avec, le paquetage prend
spécialement en charge l'installation de plusieurs versions à la fois. Si le nouveau noyau échoue au
démarrage, l'ancien est toujours disponible. L'exécution de la commande dnf update kernel
installe le nouveau noyau. Les fichiers de configuration contiennent une liste de paquetages à
toujours installer, même si l'administrateur demande une mise à jour.
Utilisez la commande dnf list kernel pour répertorier tous les noyaux installés et disponibles.
Pour afficher le noyau en cours d'exécution, utilisez la commande uname. La commande uname
avec l'option -r n'indique que la version et l'édition du noyau tandis que la commande uname avec
l'option -a affiche la version du noyau et des informations supplémentaires.
Mise en garde
La commande dnf remove supprime les paquetages listés, ainsi que tous les
paquetages qui nécessitent la suppression des paquetages (et les paquetages qui
nécessitent ces paquetages, et ainsi de suite). Cette commande peut entraîner la
suppression inopinée de paquetages. Vous devez donc examiner attentivement la
liste des paquetages à supprimer.
516 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
Dans Red Hat Enterprise Linux 9, la commande dnf permet d'installer deux types de groupes
de paquetages. Les groupes réguliers sont des ensembles de paquetages. Les groupes
d'environnements sont des ensembles de groupes réguliers. Les paquetages ou les groupes que
ces collections fournissent peuvent être listés comme mandatory (ils doivent être installés avec
le groupe), default (ils sont normalement installés avec le groupe) ou optional (ils ne sont pas
installés avec le groupe, sauf demande spécifique).
Comme la commande dnf list, la commande dnf group list affiche le nom des groupes
installés et disponibles.
La commande dnf group info affiche les informations relatives à un groupe. Ces informations
incluent une liste des noms de paquetages, par défaut et facultatifs.
La commande dnf group install installe un groupe qui installe ses paquetages obligatoires
et par défaut, ainsi que les paquetages dont ils dépendent.
Transaction Summary
RH124-RHEL9.0-fr-2-20220609 517
chapitre 14 | Installation et mise à jour de paquetages logiciels
================================================================================
Install 19 Packages
Important
À partir de Red Hat Enterprise Linux 7, le comportement des groupes Yum a
changé ; ils sont traités comme des objets et suivis par le système. Si un groupe
installé est mis à jour et que de nouveaux paquetages obligatoires ou par défaut
ont été ajoutés au groupe par le référentiel Yum, ces nouveaux paquetages sont
installés lors de la mise à jour.
RHEL 6 (et versions antérieures) considère qu'un groupe est installé si tous ses
paquetages obligatoires ont été installés ou, si aucun paquetage n'était obligatoire,
ou si tous les paquetages par défaut ou paquetages facultatifs du groupe sont
installés. À partir de RHEL 7, un groupe est considéré comme installé uniquement si
yum group install a été utilisé pour le faire. Vous pouvez utiliser la commande
yum group mark install GROUPNAME pour marquer un groupe comme
installé. Tout paquetage manquant, ainsi que ses dépendances, est installé lors de la
prochaine mise à jour.
Enfin, RHEL 6 (ou version antérieure) ne disposait pas de la forme en deux mots
des commandes yum group. En d'autres termes, dans RHEL 6, la commande yum
grouplist existait, mais pas la commande RHEL 7 et RHEL 8 yum group list
équivalente.
518 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
Tâche : Commande :
RH124-RHEL9.0-fr-2-20220609 519
chapitre 14 | Installation et mise à jour de paquetages logiciels
Le référentiel BaseOS fournit le contenu du système d'exploitation principal pour Red Hat
Enterprise Linux en tant que paquetages RPM. Le cycle de vie des composants de BaseOS est
identique à celui du contenu des versions précédentes de Red Hat Enterprise Linux. Le référentiel
Application Stream fournit du contenu avec différents cycles de vie à la fois sous forme de
modules et de paquetages traditionnels.
Application Stream contient les composants nécessaires du système, ainsi qu'un large éventail
d'applications auparavant disponibles dans Red Hat Software Collections, ainsi que dans d'autres
produits et programmes. Chaque Application Steam a un cycle de vie identique à celui de Red Hat
Enterprise Linux 9 ou plus court.
BaseOS et AppStream sont des composantes essentielles d'un système Red Hat Enterprise
Linux 9.
Important
Red Hat Enterprise Linux 9.0 est livré sans modules. Les futures versions de
RHEL 9 peuvent introduire du contenu supplémentaire et des versions logicielles
ultérieures sous forme de modules. De plus, à partir de RHEL 9, vous devez
spécifier manuellement les flux de modules par défaut, car ils ne sont plus définis
par défaut. Vous pouvez définir des flux de modules par défaut avec des fichiers de
configuration dans le répertoire /etc/dnf/modules.defaults.d/.
Flux de modules
Chaque module a un ou plusieurs flux de modules, qui contiennent différentes versions du
contenu. Chacun des flux reçoit des mises à jour indépendamment. Vous pouvez vous représenter
le flux de modules comme un référentiel virtuel dans le référentiel physique du flux d'applications.
Pour chaque module, un seul de ses flux peut être activé et fournir ses paquetages.
Profils de modules
Chaque module peut avoir un ou plusieurs profils. Un profil est une liste de certains paquetages
que vous pouvez installer conjointement pour une application donnée, comme pour un serveur, un
client, un développement, une installation minimale ou autre.
520 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
Vous pouvez trouver quelques commandes importantes lors de la gestion des modules dans la
liste suivante :
• dnf module list : affiche la liste des modules disponibles avec le nom du module, le flux, les
profils et un résumé.
• dnf module list module-name : affiche la liste des flux de modules d'un module
spécifique et récupère leur statut.
• dnf module info module-name : affiche les détails d'un module, y compris les profils
disponibles et une liste des paquetages que le module installe. L'exécution de la commande dnf
module info sans spécifier de flux de module liste les paquetages installés à partir du profil
et du flux par défaut. Utilisez le format module-name:stream pour afficher un flux de modules
spécifique. Ajoutez l'option --profile pour afficher des informations sur les paquetages
installés par chacun des profils du module.
• dnf module provides package : affiche le module qui fournit un paquetage spécifique.
Références
Pages de manuel dnf(1) et dnf.conf(5)
Modularité
https://docs.fedoraproject.org/en-US/modularity/
RH124-RHEL9.0-fr-2-20220609 521
chapitre 14 | Installation et mise à jour de paquetages logiciels
Exercice guidé
Résultats
• Installer et supprimer des paquetages avec des dépendances.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande permet de s'assurer que toutes les ressources requises sont disponibles.
Instructions
1. À partir de workstation, ouvrez une session SSH sur la machine servera en tant
qu'utilisateur student. Utilisez la commande sudo -i pour basculer vers l'utilisateur
root.
2.1. Essayez d'exécuter la commande nmap. Vous devriez constater qu'elle n'est pas
installée.
2.2. Utilisez la commande dnf search pour rechercher des paquetages incluant nmap
dans leur nom ou résumé.
522 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
2.3. Utilisez la commande dnf info pour obtenir plus d'informations sur le paquetage
nmap.
Transaction Summary
===============================================================================
Install 1 Package
4.1. Utilisez la commande dnf remove pour supprimer le paquetage nmap, mais
répondre no à l'invite. Combien de paquetages sont supprimés ?
RH124-RHEL9.0-fr-2-20220609 523
chapitre 14 | Installation et mise à jour de paquetages logiciels
===============================================================================
Removing:
nmap x86_64 3:7.91-10.el9 @rhel-9.0-for-x86_64-appstream-rpms 24 M
Transaction Summary
===============================================================================
Remove 1 Package
Freed space: 24 M
Is this ok [y/N]: n
Operation aborted.
4.2. Utilisez la commande dnf remove pour supprimer le paquetage tar, mais répondre
no à l'invite. Combien de paquetages sont supprimés ?
Transaction Summary
===============================================================================
Remove 12 Packages
Freed space: 48 M
Is this ok [y/N]: n
Operation aborted.
5. Recueillez des informations sur le groupe de composants "Security Tools" et installez-le sur
servera.
5.1. Utilisez la commande dnf group list pour lister tous les groupes de composants
disponibles.
5.2. Utilisez la commande dnf group info pour obtenir plus d'informations sur le
groupe de composants Security Tools, notamment la liste des paquetages inclus.
524 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
Optional Packages:
aide
hmaccalc
openscap
openscap-engine-sce
openscap-utils
scap-security-guide-doc
scap-workbench
tpm2-tools
tss2
udica
5.3. Utilisez la commande dnf group install pour installer le groupe de composants
Security Tools.
Transaction Summary
===============================================================================
Install 5 Packages
Complete!
6.1. Utilisez la commande dnf history pour afficher l'historique récent de dnf.
RH124-RHEL9.0-fr-2-20220609 525
chapitre 14 | Installation et mise à jour de paquetages logiciels
6.2. Utilisez la commande dnf history info pour vérifier que la dernière transaction
correspond à l'installation du groupe. Dans la commande suivante, remplacez l'ID de
transaction par celui de l'étape précédente.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
526 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
RH124-RHEL9.0-fr-2-20220609 527
chapitre 14 | Installation et mise à jour de paquetages logiciels
Résultats
Activer et désactiver l'utilisation de référentiels DNF tiers ou Red Hat par un serveur.
Note
Les abonnements Red Hat donnent accès à des référentiels spécifiques.
Auparavant, les administrateurs devaient joindre des abonnements par système.
Simple Content Access (SCA) simplifie la manière dont les systèmes accèdent
aux référentiels. Avec SCA, les systèmes peuvent accéder à n'importe quel
référentiel à partir de n'importe quel abonnement que vous achetez, sans attacher
d'abonnement. Vous pouvez activer SCA sur le portail client Red Hat dans My
Subscriptions > Subscription Allocations, ou sur votre serveur Red Hat Satellite.
La commande dnf config-manager peut activer ou désactiver les référentiels. Par exemple, la
commande suivante active le référentiel rhel-9-server-debug-rpms :
Des sources autres que Red Hat fournissent des logiciels via des référentiels tiers. Par exemple,
Adobe fournit certains de ses logiciels gratuits pour Linux par le biais d'un référentiel Yum. Dans
une salle de classe Red Hat, le serveur de classe content.example.com héberge les référentiels
Yum. La commande dnf peut accéder aux référentiels à partir d'un site Web, d'un serveur FTP ou
du système de fichiers local.
Vous pouvez ajouter un référentiel tiers de deux façons. Vous pouvez créer un fichier .repo
dans le répertoire /etc/yum.repos.d/ ou ajouter une section [repository] au fichier
/etc/dnf/dnf.conf. Red Hat recommande d'utiliser des fichiers .repo et de réserver le fichier
dnf.conf pour d'autres configurations de référentiel. La commande dnf recherche les deux
emplacements par défaut ; cependant, les fichiers .repo sont prioritaires. Un fichier .repo
contient l'URL du référentiel et un nom. Il précise s'il faut utiliser GPG pour vérifier les signatures
des paquetages et, le cas échéant, pour vérifier l'URL pointant vers la clé GPG approuvée.
528 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
Modifiez ce fichier pour personnaliser les paramètres et spécifier l'emplacement d'une clé GPG.
Les clés sont stockées à divers emplacements sur le site de référentiel distant, tels que http://
dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-9. Les administrateurs doivent télécharger
la clé dans un fichier local, plutôt qu'autoriser dnf à la récupérer depuis une source externe. Par
exemple, le fichier .repo suivant utilise le paramètre gpgkey pour référencer une clé locale :
[EPEL]
name=EPEL 9
baseurl=https://dl.fedoraproject.org/pub/epel/9/Everything/x86_64/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9
Par exemple, la commande suivante installe le RPM du référentiel RHEL9 Extra Packages for
Enterprise Linux (EPEL) :
Les fichiers .repo répertorient souvent plusieurs références de référentiel dans un seul et même
fichier. Chaque référence commence par un nom composé d'un seul mot et placé entre crochets.
RH124-RHEL9.0-fr-2-20220609 529
chapitre 14 | Installation et mise à jour de paquetages logiciels
Pour définir un référentiel, mais ne pas le rechercher par défaut, insérez le paramètre enabled=0.
Bien que la commande dnf config-manager active et désactive les référentiels de
manière persistante, la commande dnf avec les options --enablerepo=PATTERN et --
disablerepo=PATTERN sont temporaires pour la durée de la commande.
Mise en garde
Installez la clé RPM GPG avant d'installer les paquetages signés, pour vous assurer
que les paquetages proviennent d'une source fiable. Si la clé RPM GPG n'est pas
installée, la commande dnf ne parvient pas à installer les paquetages signés. La
commande dnf avec l'option --nogpgcheck ignore les clés GPG manquantes,
mais peut entraîner l'installation de paquetages compromis ou falsifiés.
Références
Pages de manuel dnf(5), dnf.conf(8) et dnf-config-manager(8)
530 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
Exercice guidé
Résultats
• Configurer un système pour obtenir les mises à jour logicielles d'un serveur de la classe et
mettre à jour le système pour utiliser les paquetages plus récents.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Utilisez la commande ssh pour vous connecter au système servera en tant qu'utilisateur
student. Utilisez la commande sudo -i pour basculer vers l'utilisateur root.
2. Configurez les référentiels de logiciels sur servera pour obtenir des paquetages et des
mises à jour personnalisés à partir de l'URL suivante :
RH124-RHEL9.0-fr-2-20220609 531
chapitre 14 | Installation et mise à jour de paquetages logiciels
2.2. Examinez le fichier de référentiels logiciels que la commande précédente a créé dans
le répertoire /etc/yum.repos.d. Utilisez la commande vim pour éditer le fichier et
ajouter le paramètre gpgcheck=0 permettant de désactiver la vérification de la clé
GPG pour le référentiel.
[rht-updates]
name=rht updates
baseurl=http://content.example.com/rhel9.0/x86_64/rhcsa-practice/errata
enabled=1
gpgcheck=0
2.4. Utilisez la commande dnf repolist all pour lister tous les référentiels du
système.
532 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
Is this ok [y/N]: y
...output omitted...
Installed:
rht-system-1.0.0-1.noarch
Complete!
3.3. Vérifiez que le paquetage rht-system est installé et notez le numéro de version du
paquetage.
4. Activez le référentiel logiciel rht-updates et mettez à jour tous les paquetages logiciels
pertinents.
4.2. Utilisez la commande dnf update pour mettre à jour tous les paquetages de
logiciels sur servera .
4.3. Vérifiez que le paquetage rht-system est mis à niveau et notez le numéro de
version du paquetage.
5. Quittez servera.
RH124-RHEL9.0-fr-2-20220609 533
chapitre 14 | Installation et mise à jour de paquetages logiciels
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
534 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
Open Lab
Résultats
• Gérer les référentiels logiciels.
• Installer et mettre à niveau des paquetages à partir de référentiels.
• Installer un paquetage RPM.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Sur la machine serverb, configurez un référentiel de logiciels pour obtenir des mises à
jour. Nommez le référentiel errata et configurez-le dans le fichier /etc/yum.repos.d/
errata.repo. Configurez le fichier errata.repo pour utiliser le référentiel http://
content.example.com/rhel9.0/x86_64/rhcsa-practice/errata. Ne vérifiez pas
les signatures GPG.
2. Sur serverb, installez le paquetage rht-system.
3. Pour des raisons de sécurité, la machine serverb ne doit pas pouvoir se connecter à une
imprimante papier. Pour ce faire, supprimez le paquetage cups. Une fois que vous avez
terminé, quittez le shell root.
4. Le script de démarrage télécharge le paquetage rhcsa-script-1.0.0-1.noarch.rpm
dans le répertoire /home/student sur la machine serverb.
Vérifiez que le paquetage rhcsa-script-1.0.0-1.noarch.rpm est disponible sur
serverb et installez-le avec les privilèges root. Vérifiez que le paquetage est installé.
Quittez la machine serverb.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
RH124-RHEL9.0-fr-2-20220609 535
chapitre 14 | Installation et mise à jour de paquetages logiciels
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
536 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
Solution
Résultats
• Gérer les référentiels logiciels.
• Installer et mettre à niveau des paquetages à partir de référentiels.
• Installer un paquetage RPM.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Sur la machine serverb, configurez un référentiel de logiciels pour obtenir des mises à
jour. Nommez le référentiel errata et configurez-le dans le fichier /etc/yum.repos.d/
errata.repo. Configurez le fichier errata.repo pour utiliser le référentiel http://
content.example.com/rhel9.0/x86_64/rhcsa-practice/errata. Ne vérifiez pas
les signatures GPG.
[errata]
name=Red Hat Updates
baseurl=http://content.example.com/rhel9.0/x86_64/rhcsa-practice/errata
enabled=1
gpgcheck=0
RH124-RHEL9.0-fr-2-20220609 537
chapitre 14 | Installation et mise à jour de paquetages logiciels
3. Pour des raisons de sécurité, la machine serverb ne doit pas pouvoir se connecter à une
imprimante papier. Pour ce faire, supprimez le paquetage cups. Une fois que vous avez
terminé, quittez le shell root.
Freed space: 94 M
Is this ok [y/N]: y
...output omitted...
Complete!
538 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
Transaction Summary
==========================================================================
Install 1 Package
RH124-RHEL9.0-fr-2-20220609 539
chapitre 14 | Installation et mise à jour de paquetages logiciels
Installed:
rhcsa-script-1.0.0-1.noarch
Complete!
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
540 RH124-RHEL9.0-fr-2-20220609
chapitre 14 | Installation et mise à jour de paquetages logiciels
Résumé
• Red Hat Subscription Management fournit des outils permettant aux ordinateurs de s'abonner
à des produits, de recevoir des mises à jour de paquetages logiciels et de suivre les informations
relatives aux contrats d'assistance et aux abonnements utilisés par les systèmes.
• Les logiciels sont fournis sous forme de paquetages RPM, ce qui facilite l'installation, la mise à
niveau et la désinstallation des logiciels du système.
• La commande rpm peut interroger une base de données locale afin de fournir des informations
sur le contenu des paquetages installés et d'installer des fichiers de paquetages téléchargés.
• L'utilitaire dnf est un puissant outil de ligne de commande pour installer, mettre à jour,
supprimer et interroger les paquetages logiciels.
• Red Hat Enterprise Linux utilise les flux d'application pour fournir un référentiel unique
permettant d'héberger plusieurs versions du paquetage d'une application et de ses
dépendances.
RH124-RHEL9.0-fr-2-20220609 541
542 RH124-RHEL9.0-fr-2-20220609
chapitre 15
RH124-RHEL9.0-fr-2-20220609 543
chapitre 15 | Accès aux systèmes de fichiers Linux
Résultats
Identifier un répertoire dans la hiérarchie du système de fichiers et le périphérique sur lequel il est
stocké.
Un point de montage est un concept légèrement différent de celui d'une lettre de lecteur
Microsoft Windows, où chaque système de fichiers est une entité distincte. Les points de montage
permettent à plusieurs périphériques de système de fichiers d'être disponibles dans une seule
arborescence. Ceci est similaire aux dossiers montés NTFS dans Microsoft Windows.
Le répertoire /dev stocke les fichiers de périphériques en mode bloc, que RHEL crée
automatiquement pour tous les périphériques. Dans RHEL 9, le premier disque dur SATA, SAS,
SCSI ou USB détecté est appelé le périphérique /dev/sda, le deuxième /dev/sdb, et ainsi de
suite. Ces noms représentent l'intégralité du disque dur.
544 RH124-RHEL9.0-fr-2-20220609
chapitre 15 | Accès aux systèmes de fichiers Linux
Partitions de disque
Généralement, le périphérique de stockage n'est pas intégralement créé dans un système de
fichiers. Pour créer une partition, divisez les périphériques de stockage en fragments plus petits.
Les partitions vous permettent de compartimenter un disque : les différentes partitions peuvent
être formatées avec des systèmes de fichiers différents, ou être utilisées à d'autres fins. Par
exemple, une partition peut contenir le répertoire personnel de l'utilisateur, tandis qu'une autre
peut contenir les données et journaux du système. Même si la partition du répertoire personnel est
remplie de données, la partition système peut encore disposer d'espace disque.
Les partitions sont des périphériques en mode bloc à part entière. Par exemple, sur un stockage
connecté à un SATA, la première partition sur le premier disque est /dev/sda1. La deuxième
partition du même stockage est le disque /dev/sda2. La troisième partition sur le troisième
périphérique de stockage SATA est le disque /dev/sdc3, etc. Les périphériques de stockage
paravirtualisés ont un système de nommage similaire. Par exemple, la première partition sur le
premier disque de stockage est /dev/vda1. La deuxième partition sur le deuxième périphérique
de stockage est le disque /dev/vdb2, etc.
Un périphérique SSD connecté à un NVMe nomme ses partitions différemment d'un périphérique
SATA. Pour les périphériques de stockage NVMe, la partie nvmeX du nom fait référence au
périphérique, la partie nY à l'espace de noms et la partie pZ à la partition. Par exemple, la première
partition du premier espace de noms sur le premier disque est la partition /dev/nvme0n1p1. La
troisième partition du premier espace de noms sur le deuxième disque est /dev/nvme1n1p3, etc.
Les cartes SD ou MMC peuvent parfois disposer d'un système de nommage similaire à celui des
périphériques SATA (/dev/sdN), mais ce n'est pas toujours le cas. Dans certains cas, les cartes
SD ou MMC peuvent avoir des noms tels que /dev/mmcblk0p1, où la partie mmcblkX du nom
fait référence au périphérique de stockage et la partie pY du nom fait référence au numéro de
partition sur ce périphérique.
Une liste étendue du fichier de périphérique /dev/sda1 sur la machine host révèle le type de
fichier b, qui correspond à un périphérique en mode bloc :
Volumes logiques
Une autre manière d'organiser les disques et les partitions implique la gestion de volume logique
(LVM — Logical Volume Management). La LVM permet d'agréger des périphériques en mode bloc
dans un groupe de volumes. L'espace disque du groupe de volumes est réparti en un ou plusieurs
volumes logiques, qui sont l'équivalent fonctionnel d'une partition sur un disque physique.
Le système LVM attribue des noms aux groupes de volumes et aux volumes logiques lors de leur
création. La LVM crée un répertoire dans le répertoire /dev qui correspond au nom du groupe,
puis crée un lien symbolique dans ce nouveau répertoire avec le même nom que le volume logique.
Ce fichier de volume logique est alors disponible pour être monté. Par exemple, si un groupe
RH124-RHEL9.0-fr-2-20220609 545
chapitre 15 | Accès aux systèmes de fichiers Linux
de volumes est appelé myvg et que le volume logique mylv est présent, le chemin complet du
périphérique du volume logique est le fichier /dev/myvg/mylv.
Note
Le nom de périphérique du volume logique mentionné précédemment établit un
lien symbolique avec le fichier de périphérique qui y accède, qui peut varier d'un
démarrage à l'autre. Une autre forme de nom de périphérique de volume logique,
qui est liée à des fichiers du répertoire /dev/mapper, est souvent utilisée pour les
liens symboliques vers le fichier de périphérique.
L'exemple suivant affiche les systèmes de fichiers et les points de montage sur la machine host.
[user@host ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 912584 0 912584 0% /dev
tmpfs 936516 0 936516 0% /dev/shm
tmpfs 936516 16812 919704 2% /run
tmpfs 936516 0 936516 0% /sys/fs/cgroup
/dev/vda3 8377344 1411332 6966012 17% /
/dev/vda1 1038336 169896 868440 17% /boot
tmpfs 187300 0 187300 0% /run/user/1000
Le partitionnement montre que deux systèmes de fichiers physiques sont montés sur les
répertoires / et /boot qui existent généralement sur les machines virtuelles. Les périphériques
tmpfs et devtmpfs sont des systèmes de fichiers situés dans la mémoire du système. Tous
les fichiers écrits dans le système de fichiers tmpfs ou devtmpfs disparaissent après un
redémarrage du système.
Les options -h ou -H de la commande df sont des options lisibles par l'homme pour améliorer la
lisibilité des tailles de sortie. L'option -h indique la valeur en Kio (210 ), Mio (220 ) ou Gio (230 ),
tandis que l'option -H la renvoie en unités SI : Ko (103 ), Mo (106 ) ou Go (109 ). Les fabricants de
disques durs utilisent généralement des unités SI lorsqu'ils font la promotion de leurs produits.
Affichez les systèmes de fichiers situés sur la machine host, avec toutes les unités converties en
format lisible par l'utilisateur :
[user@host ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 892M 0 892M 0% /dev
tmpfs 915M 0 915M 0% /dev/shm
tmpfs 915M 17M 899M 2% /run
tmpfs 915M 0 915M 0% /sys/fs/cgroup
/dev/vda3 8.0G 1.4G 6.7G 17% /
/dev/vda1 1014M 166M 849M 17% /boot
tmpfs 183M 0 183M 0% /run/user/1000
546 RH124-RHEL9.0-fr-2-20220609
chapitre 15 | Accès aux systèmes de fichiers Linux
Utilisez la commande du pour obtenir des informations plus détaillées sur un espace
d'arborescence de répertoires spécifique. Les options -h et -H de la commande du convertissent
la sortie dans un format lisible par l'utilisateur. La commande du affiche la taille de tous les fichiers
dans l'arborescence des répertoires actuels, de manière récursive.
Affichez le rapport d'utilisation du disque pour le répertoire /usr/share sur la machine host :
Affichez le rapport d'utilisation du disque dans un format lisible par l'utilisateur pour le répertoire /
usr/share :
Références
Pages du manuel df(1) et du(1).
RH124-RHEL9.0-fr-2-20220609 547
chapitre 15 | Accès aux systèmes de fichiers Linux
Quiz
1. Quel est le nom du fichier de périphérique de l'intégralité d'un disque dur SATA dans le
répertoire /dev ?
a. /dev/vda
b. /dev/sda1
c. /dev/vg_install/lv_home
d. /dev/sda
2. Quelle commande les systèmes de fichiers avec les points de montage affichent-ils ?
a. du -H
b. df
c. du
d. ls
3. Quelle commande affiche le rapport d'utilisation du disque dans un format lisible par
l'utilisateur pour le répertoire /home ?
a. ls /home
b. df
c. du -h /home
d. du /home
4. Quel est le nom de fichier de périphérique correct pour la troisième partition sur le
deuxième disque virtio-blk connecté à une machine virtuelle ?
a. /dev/vdb3
b. /dev/vda2
c. /dev/sda3
d. /dev/vda3
5. Quelle commande fournit une vue d'ensemble des points de montage du système de
fichiers et de la quantité d'espace libre disponible dans les unités SI ?
a. df
b. df -h
c. df -H
d. du -h
548 RH124-RHEL9.0-fr-2-20220609
chapitre 15 | Accès aux systèmes de fichiers Linux
Solution
1. Quel est le nom du fichier de périphérique de l'intégralité d'un disque dur SATA dans le
répertoire /dev ?
a. /dev/vda
b. /dev/sda1
c. /dev/vg_install/lv_home
d. /dev/sda
2. Quelle commande les systèmes de fichiers avec les points de montage affichent-ils ?
a. du -H
b. df
c. du
d. ls
3. Quelle commande affiche le rapport d'utilisation du disque dans un format lisible par
l'utilisateur pour le répertoire /home ?
a. ls /home
b. df
c. du -h /home
d. du /home
4. Quel est le nom de fichier de périphérique correct pour la troisième partition sur le
deuxième disque virtio-blk connecté à une machine virtuelle ?
a. /dev/vdb3
b. /dev/vda2
c. /dev/sda3
d. /dev/vda3
5. Quelle commande fournit une vue d'ensemble des points de montage du système de
fichiers et de la quantité d'espace libre disponible dans les unités SI ?
a. df
b. df -h
c. df -H
d. du -h
RH124-RHEL9.0-fr-2-20220609 549
chapitre 15 | Accès aux systèmes de fichiers Linux
Résultats
Accéder au contenu des systèmes de fichiers en ajoutant et en supprimant des systèmes de
fichiers à la hiérarchie des systèmes de fichiers.
Vous pouvez monter le système de fichiers de l'une des manières suivantes avec la commande
mount :
Identifiez ensuite le périphérique à monter, puis assurez-vous que le point de montage existe et
montez le périphérique sur le point de montage.
Note
Si vous montez un système de fichiers avec la commande mount, puis redémarrez
votre système, le système de fichiers n'est pas automatiquement remonté. Le cours
Administration système Red Hat II (RH134) explique comment monter des systèmes
de fichiers de manière persistante avec le fichier /etc/fstab.
550 RH124-RHEL9.0-fr-2-20220609
chapitre 15 | Accès aux systèmes de fichiers Linux
Important
Si un répertoire à utiliser comme point de montage n'est pas vide, les fichiers
existants seront masqués et inaccessibles tant qu'un système de fichiers y est
monté. Les fichiers d'origine seront à nouveau accessibles après le démontage du
système de fichiers monté.
La commande lsblk -fp liste le chemin d'accès complet du périphérique, ainsi que les UUID et
le type de système de fichiers dans la partition. Le point de montage est vide lorsque le système
de fichiers n'est pas monté.
RH124-RHEL9.0-fr-2-20220609 551
chapitre 15 | Accès aux systèmes de fichiers Linux
Pour détacher un périphérique amovible en toute sécurité, démontez d'abord manuellement tous
les systèmes de fichiers sur le périphérique.
Mise en garde
Les données du système de fichiers utilisent le cache mémoire pendant le
fonctionnement normal. Vous devez démonter les systèmes de fichiers d'un lecteur
amovible avant de débrancher le lecteur. La procédure de démontage vide les
données sur le disque avant de libérer le lecteur.
La commande umount utilise le point de montage comme argument pour démonter un système
de fichiers.
Le démontage n'est pas possible si le système de fichiers monté est en cours d'utilisation. Pour
que la commande umount réussisse, tous les processus doivent cesser d'accéder aux données
situées sous le point de montage.
Dans l'exemple suivant, la commande umount échoue, car le shell utilise le répertoire /mnt/data
comme répertoire de travail actuel et génère par conséquent un message d'erreur.
La commande lsof liste tous les fichiers ouverts et les processus qui accèdent au système de
fichiers. Cette liste permet d'identifier les processus qui empêchent le démontage correct du
système de fichiers.
552 RH124-RHEL9.0-fr-2-20220609
chapitre 15 | Accès aux systèmes de fichiers Linux
Après avoir identifié les processus, attendez qu'ils se terminent ou envoyez le signal SIGTERM ou
SIGKILL pour les terminer. Dans ce cas, il suffit d'ouvrir un dossier situé en dehors du point de
montage à la place du dossier de travail courant.
[root@host data]# cd
[root@host ~]# umount /mnt/data
Références
Pages de manuel lsblk(8), mount(8), umount(8) et lsof(8)
RH124-RHEL9.0-fr-2-20220609 553
chapitre 15 | Accès aux systèmes de fichiers Linux
Exercice guidé
Résultats
• Identifier et monter un nouveau système de fichiers à un point de montage spécifié, puis
de le démonter.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Connectez-vous à la machine servera en tant qu'utilisateur student et basculez vers
l'utilisateur root.
2. Une nouvelle partition dotée d'un système de fichiers a été ajoutée au disque /dev/vdb
sur la machine servera. Montez la partition nouvellement disponible en utilisant l'UUID au
point de montage /mnt/part1.
554 RH124-RHEL9.0-fr-2-20220609
chapitre 15 | Accès aux systèmes de fichiers Linux
2.4. Vérifiez que le périphérique /dev/vdb1 est monté sur le répertoire /mnt/part1.
[root@servera part1]# cd
[root@servera ~]#
RH124-RHEL9.0-fr-2-20220609 555
chapitre 15 | Accès aux systèmes de fichiers Linux
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
556 RH124-RHEL9.0-fr-2-20220609
chapitre 15 | Accès aux systèmes de fichiers Linux
Résultats
Rechercher des fichiers sur les systèmes de fichiers montés avec les commandes find et locate.
Recherche de fichiers
Un administrateur système a besoin d'outils pour rechercher des fichiers qui correspondent à
certains critères spécifiques dans un système de fichiers. Cette section aborde deux commandes
de recherche de fichiers dans la hiérarchie d'un système de fichiers :
• La commande locate recherche dans un index généré à l'avance des noms de fichiers ou des
chemins d'accès, et renvoie les résultats instantanément.
• La commande find effectue des recherches de fichiers en temps réel dans la hiérarchie du
système de fichiers en l'analysant.
La base de données locate est automatiquement mise à jour tous les jours. L'utilisateur root
peut toutefois lancer la commande updatedb pour forcer une mise à jour immédiate.
La commande locate restreint les résultats pour les utilisateurs sans autorisation. Pour voir le
nom du fichier résultant, l'utilisateur doit disposer du droit de recherche dans le répertoire dans
lequel se trouve le fichier. Par exemple, localisez les fichiers que l'utilisateur developer peut lire
et qui correspondent au mot-clé passwd dans le nom ou le chemin d'accès :
L'exemple suivant montre le nom de fichier ou le chemin d'accès pour une correspondance
partielle avec la requête de recherche :
RH124-RHEL9.0-fr-2-20220609 557
chapitre 15 | Accès aux systèmes de fichiers Linux
La commande locate avec l'option -i sert à effectuer une recherche sans tenir compte de la
casse. Cette option renvoie toutes les combinaisons possibles de lettres majuscules et minuscules
correspondantes :
La commande find examine les fichiers du système de fichiers à l'aide du compte utilisateur qui
a exécuté la recherche. L'utilisateur qui invoque la commande find doit disposer des permissions
de lecture et d'écriture sur un répertoire pour pouvoir en examiner le contenu.
Le premier argument de la commande find est le répertoire dans lequel doit se faire la recherche.
Si la commande find omet l'argument de répertoire, elle commence la recherche dans le
répertoire actuel et cherche des correspondances dans tous les sous-répertoires.
Pour rechercher des fichiers par nom de fichier, utilisez la commande find avec l'option -name
FILENAME pour renvoyer le chemin des fichiers qui correspondent exactement à FILENAME. Par
exemple, pour rechercher les fichiers sshd_config à partir du répertoire racine /, exécutez la
commande suivante :
558 RH124-RHEL9.0-fr-2-20220609
chapitre 15 | Accès aux systèmes de fichiers Linux
Note
Dans la commande find, les options de mot complet utilisent un seul tiret,
contrairement à un double tiret pour la plupart des autres commandes Linux.
Des caractères génériques peuvent servir à rechercher un nom de fichier et à renvoyer tous
les résultats qui correspondent partiellement. Avec les caractères génériques, il est important
de mettre entre guillemets le nom de fichier, afin d'éviter que le terminal interprète mal ces
caractères génériques.
Dans l'exemple suivant, en commençant par le répertoire /, recherchez les fichiers qui se
terminent par l'extension .txt :
Pour rechercher des fichiers dans le répertoire /etc/ qui contiennent la chaîne pass, exécutez la
commande suivante :
Pour rechercher un nom de fichier donné sans tenir compte de la casse, utilisez la commande
find avec l'option -iname suivie du nom de fichier à rechercher. Pour trouver des noms de
fichiers contenant la chaîne messages sans tenir compte de la casse, dans le répertoire racine /,
exécutez la commande suivante :
Pour rechercher des fichiers dans le répertoire /home/developer dont l'utilisateur developer
est propriétaire :
RH124-RHEL9.0-fr-2-20220609 559
chapitre 15 | Accès aux systèmes de fichiers Linux
Pour rechercher des fichiers dans le répertoire /home/developer dont le groupe developer
est propriétaire :
Pour rechercher des fichiers dans le répertoire /home/developer dont l'ID utilisateur 1000 est
propriétaire :
Pour rechercher des fichiers dans le répertoire /home/developer dont l'ID de groupe 1000 est
propriétaire :
La commande find avec les options -user et -group recherche des fichiers lorsque le
propriétaire du fichier et le propriétaire du groupe sont différents. L'exemple suivant répertorie les
fichiers que l'utilisateur root possède et avec le groupe mail :
La commande find avec l'option -perm recherche des fichiers avec un ensemble de permissions
particulier. Les valeurs octales définissent les permissions avec 4, 2 et 1 pour la lecture, l'écriture
et l'exécution. Les permissions sont précédées d'un signe / ou - pour contrôler les résultats de la
recherche.
Une permission octale précédée d'un / correspond aux fichiers pour lesquels au moins une
permission est activée pour l'utilisateur, le groupe ou les autres dans cet ensemble de permissions.
Un fichier avec les permissions r--r--r-- ne correspond pas à la permission /222, mais
correspond à la permission rw-r--r--. Un signe - devant la permission signifie que les trois
parties des permissions doivent correspondre. Dans l'exemple précédent, les fichiers avec les
560 RH124-RHEL9.0-fr-2-20220609
chapitre 15 | Accès aux systèmes de fichiers Linux
Par exemple, les commandes suivantes correspondent à n'importe quel fichier du répertoire /
home auquel l'utilisateur peut accéder en lecture, écriture et exécution, les membres du groupe
en lecture et en écriture, et les autres en lecture seule. Les deux commandes sont équivalentes,
mais la première utilise la méthode octale pour les permissions, tandis que la seconde utilise les
méthodes symboliques.
La commande find avec l'option -ls est très pratique lors de la recherche de fichiers par
autorisation, car elle fournit des informations sur les fichiers, y compris leurs autorisations.
Pour rechercher les fichiers pour lesquels l'utilisateur a au moins les permissions d'écriture et
d'exécution, le groupe a au moins la permission d'écriture, et les autres ont au moins la permission
de lecture :
Pour rechercher les fichiers auxquels l'utilisateur peut accéder en lecture, ou le groupe au moins
en lecture, ou les autres au moins en écriture :
Lorsqu'elle est utilisée avec les signes / ou -, la valeur 0 fonctionne comme un caractère
générique, car elle désigne toute permission.
Pour rechercher les fichiers enregistrés dans le répertoire /home/developer auxquels les autres
ont au moins accès en lecture sur la machine host :
Pour rechercher tous les fichiers dans le répertoire /home/developer auquel d'autres personnes
peuvent accéder en écriture :
RH124-RHEL9.0-fr-2-20220609 561
chapitre 15 | Accès aux systèmes de fichiers Linux
Vous pouvez utiliser les caractères plus + et moins - pour inclure des fichiers plus grands et plus
petits que la taille donnée, respectivement. L'exemple suivant illustre une recherche de fichiers
d'une taille exacte de 10 mégaoctets :
Important
La commande find avec l'option -size arrondit tout à des unités simples. Par
exemple, la commande find -size 1M renvoie les fichiers de moins de 1 Mo, car
elle arrondit tous les fichiers qui font jusqu'à 1 Mo.
Pour rechercher tous les fichiers dont le contenu a changé il y a 120 minutes :
562 RH124-RHEL9.0-fr-2-20220609
chapitre 15 | Accès aux systèmes de fichiers Linux
Le modificateur + devant les minutes trouve tous les fichiers dans le répertoire / qui ont
changé il y a plus de n minutes. Pour rechercher tous les fichiers dont le contenu a changé il y a
200 minutes :
Le modificateur - recherche tous les fichiers dans le répertoire / qui ont changé il y a moins de
n minutes. L'exemple suivant liste les fichiers qui ont été modifiés il y a moins de 150 minutes :
La commande find avec l'option -links suivie d'un nombre recherche tous les fichiers vers
lesquels pointe un certain nombre de liens matériels. Le nombre précédé du modificateur +
recherche les fichiers dont le nombre de liens matériels est supérieur au nombre indiqué. Si le
nombre précède un modificateur -, la recherche se limite à tous les fichiers dont le nombre de
liens matériels est inférieur au nombre indiqué.
Recherchez tous les fichiers standard qui comptent plusieurs liens matériels :
RH124-RHEL9.0-fr-2-20220609 563
chapitre 15 | Accès aux systèmes de fichiers Linux
Références
Pages de manuel locate(1), updatedb(8) et find(1)
564 RH124-RHEL9.0-fr-2-20220609
chapitre 15 | Accès aux systèmes de fichiers Linux
Exercice guidé
Résultats
• Rechercher des fichiers avec les commandes find et locate.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Sur la machine workstation, utilisez la commande ssh pour vous connecter à la machine
servera en tant qu'utilisateur student, puis basculez vers l'utilisateur root.
2. Utilisez la commande locate pour rechercher des fichiers sur la machine servera.
2.1. Mettez à jour la base de données locatedb manuellement sur la machine server.
Utilisez la commande sudo updatedb pour mettre à jour la base de données.
RH124-RHEL9.0-fr-2-20220609 565
chapitre 15 | Accès aux systèmes de fichiers Linux
3. Utilisez la commande find pour effectuer des recherches en temps réel sur la machine
servera, en respectant les exigences suivantes :
• Listez tous les fichiers dans le répertoire /var/lib dont l'utilisateur chrony est
propriétaire.
• Listez tous les fichiers dans le répertoire /var dont l'utilisateur root et le groupe mail
sont propriétaires.
• Listez tous les fichiers du répertoire /usr/bin dont la taille est supérieure à 50 Ko.
• Listez tous les fichiers du répertoire /home/student qui ont été modifiés au cours des
120 dernières minutes.
• Lisez tous les fichiers de périphériques de traitement par blocs dans le répertoire /dev.
3.1. Recherchez tous les fichiers dans le répertoire /var/lib dont l'utilisateur chrony
est propriétaire avec le privilège root.
3.2. Listez tous les fichiers dans le répertoire /var dont l'utilisateur root et qui
appartiennent au groupe mail.
3.3. Listez tous les fichiers du répertoire /usr/bin dont la taille est supérieure à 50 Ko.
3.4. Listez tous les fichiers du répertoire /home/student qui ont été modifiés au cours
des 120 dernières minutes.
3.5. Lisez tous les fichiers de périphériques de traitement par blocs dans le répertoire /
dev.
566 RH124-RHEL9.0-fr-2-20220609
chapitre 15 | Accès aux systèmes de fichiers Linux
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 567
chapitre 15 | Accès aux systèmes de fichiers Linux
Open Lab
Résultats
• Monter un système de fichiers.
• Générer un rapport d'utilisation d'un disque.
• Rechercher des fichiers dans le système de fichiers local.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Sur la machine serverb en tant qu'utilisateur root, identifiez l'UUID du périphérique /dev/
vdb1 et montez-le au moyen de son UUID sur le répertoire /mnt/freespace.
2. Générez un rapport d'utilisation d'un disque pour le répertoire /usr/share. Enregistrez le
résultat dans le fichier /mnt/freespace/results.txt.
3. Recherchez tous les fichiers de configuration rsyslog.conf et stockez le résultat dans le
fichier /mnt/freespace/search1.txt.
4. Stockez le résultat de la recherche de tous les fichiers dans le répertoire /usr/share
qui sont supérieurs à 50 Mo et inférieurs à 100 Mo dans le fichier /mnt/freespace/
search2.txt.
5. Revenez au système workstation en tant qu'utilisateur student.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
568 RH124-RHEL9.0-fr-2-20220609
chapitre 15 | Accès aux systèmes de fichiers Linux
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 569
chapitre 15 | Accès aux systèmes de fichiers Linux
Solution
Résultats
• Monter un système de fichiers.
• Générer un rapport d'utilisation d'un disque.
• Rechercher des fichiers dans le système de fichiers local.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Sur la machine serverb en tant qu'utilisateur root, identifiez l'UUID du périphérique /dev/
vdb1 et montez-le au moyen de son UUID sur le répertoire /mnt/freespace.
570 RH124-RHEL9.0-fr-2-20220609
chapitre 15 | Accès aux systèmes de fichiers Linux
1.5. Vérifiez que le périphérique /dev/vdb1 est monté sur le répertoire /mnt/
freespace.
RH124-RHEL9.0-fr-2-20220609 571
chapitre 15 | Accès aux systèmes de fichiers Linux
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
572 RH124-RHEL9.0-fr-2-20220609
chapitre 15 | Accès aux systèmes de fichiers Linux
Résumé
• Les périphériques de stockage sont représentés par un type de fichier de périphérique en mode
bloc.
• La commande df renvoie l'espace disque total, l'espace disque utilisé ainsi que l'espace disque
libre sur tous les systèmes de fichiers normaux montés.
• L'utilisateur root peut utiliser la commande mount pour monter manuellement un système de
fichiers.
• Pour démonter un périphérique avec succès, tous les processus doivent cesser d'accéder au
point de montage.
• Les périphériques de stockage amovibles sont montés dans le répertoire /run/media lors de
l'utilisation de l'environnement graphique.
• La commande lsblk liste les détails des périphériques en mode bloc, tels que la taille et l'UUID.
• La commande find effectue une recherche en temps réel dans les systèmes de fichiers locaux
conformément aux critères de recherche.
RH124-RHEL9.0-fr-2-20220609 573
574 RH124-RHEL9.0-fr-2-20220609
chapitre 16
RH124-RHEL9.0-fr-2-20220609 575
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Résultats
Activer l'interface de gestion de la console Web pour gérer et surveiller à distance les
performances d'un serveur Red Hat Enterprise Linux.
Vous pouvez utiliser la console Web pour surveiller les journaux du système et afficher des
graphiques des performances du système. En outre, vous pouvez utiliser votre navigateur Web
pour modifier les paramètres à l'aide des outils graphiques de l'interface de la console Web, dont
une session de terminal interactive entièrement opérationnelle.
Activez et démarrez ensuite le service cockpit.socket qui exécute un serveur Web. Cette
étape est nécessaire si vous devez vous connecter au système par le biais de l'interface Web.
Si vous utilisez un profil de pare-feu personnalisé, vous devez ajouter le service cockpit à
firewalld pour ouvrir le port 9090 dans le pare-feu :
Ouvrez https://servername:9090 dans votre navigateur Web, où nom_serveur est le nom d'hôte ou
l'adresse IP de votre serveur. La console Web protège la connexion par une session TLS (Transport
Layer Security). Par défaut, le service cockpit installe la console Web avec un certificat TLS
576 RH124-RHEL9.0-fr-2-20220609
chapitre 16 | Analyse des serveurs et obtention d'une assistance
auto-signé. Lorsque vous vous connectez à la console Web pour la première fois, le navigateur
Web affiche probablement un avertissement de sécurité. La page du manuel cockpit-ws(8)
explique comment remplacer le certificat TLS par un certificat qui est correctement signé.
Saisissez votre nom d'utilisateur et votre mot de passe dans l'écran de connexion.
Une fois que vous êtes connecté, la console Web affiche le nom d'utilisateur dans la partie gauche
de la barre de titre. L'accès par défaut à la console Web se fait avec des droits limités, comme vous
pouvez le voir dans le bouton Limited access suivant et dans le message "Web console is running
in limited access mode" (La console Web s'exécute en mode d'accès limité).
Si votre compte est configuré avec les privilèges appropriés, vous pouvez augmenter les privilèges
en basculant sur l'accès administrateur, en cliquant sur les boutons Limited access ou Turn on
administrative access. Lors du processus d'augmentation des privilèges, vous devez saisir votre
mot de passe. Lorsque vous avez augmenté les privilèges, le bouton Limited access se transforme
en Administrative access.
Vous pouvez revenir en mode d'accès limité en cliquant sur le bouton Administrative access, puis
en cliquant sur le bouton Limit access dans la fenêtre contextuelle qui s'affiche.
RH124-RHEL9.0-fr-2-20220609 577
chapitre 16 | Analyse des serveurs et obtention d'une assistance
En tant qu'utilisateur non privilégié, vous pouvez simplement définir ou réinitialiser votre mot de
passe et gérer des clés SSH publiques. Pour définir ou réinitialiser votre mot de passe, cliquez sur
le bouton Set password.
Saisissez vos informations dans les champs Old password, New password et Confirm new
password. Cliquez sur le bouton Set password pour activer le nouveau mot de passe.
578 RH124-RHEL9.0-fr-2-20220609
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Cliquez sur View details and history sur la page Overview pour afficher les détails des
performances actuelles du système en matière d'activité du processeur, d'utilisation de la
mémoire, d'E/S de disque et d'utilisation du réseau.
RH124-RHEL9.0-fr-2-20220609 579
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Cliquez sur une ligne pour afficher les détails du rapport de journal. Dans l'exemple suivant, notez
la première ligne qui indique un message de journal sudo.
580 RH124-RHEL9.0-fr-2-20220609
chapitre 16 | Analyse des serveurs et obtention d'une assistance
L'exemple suivant montre les détails que le service Web affiche lorsque vous cliquez sur la ligne
sudo. Les détails du rapport comprennent notamment l'entrée de journal sélectionnée (sudo),
la date, l'heure, la priorité et la fonction syslog de l'entrée de journal, ainsi que le nom d'hôte du
système ayant signalé le message de journal.
L'image ci-dessous présente des exemples de commandes courantes que vous pouvez utiliser
pour collecter des informations supplémentaires. Par exemple, le fait de lister le contenu
du répertoire /var/log fournit des rappels des fichiers journaux susceptibles de contenir
de précieuses informations. La commande id fournit des informations rapides, telles que
l'appartenance à un groupe, qui peuvent faciliter la résolution des problèmes de restriction d'accès
aux fichiers. La commande ps au fournit un aperçu rapide des processus en cours d'exécution
dans le terminal et de l'utilisateur associé au processus.
RH124-RHEL9.0-fr-2-20220609 581
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Figure 16.12: Résolution des problèmes d'une session de terminal sans privilèges
582 RH124-RHEL9.0-fr-2-20220609
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Après quelques minutes, l'interface affiche Done! une fois le rapport terminé. Cliquez sur le
bouton Download report pour enregistrer le rapport sur votre système local.
Dans le menu en haut à droite, sélectionnez l'option appropriée pour redémarrer ou arrêter un
système.
RH124-RHEL9.0-fr-2-20220609 583
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Dans l'exemple suivant, sélectionnez la ligne atd.service pour ouvrir la page de gestion des
services.
Cliquez sur le bouton Stop, Restart ou Disallow running (mask) selon le cas pour gérer le
service. Dans cette vue, le service est déjà en cours d'exécution. Pour afficher des informations
supplémentaires sur le service, cliquez sur l'un des liens en surbrillance ou faites défiler les
journaux de service affichés sous la section de gestion des services.
584 RH124-RHEL9.0-fr-2-20220609
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Cliquez sur le nom d'interface approprié dans la section Interfaces pour accéder à la page de
gestion. Dans cet exemple, l'interface eth0 est sélectionnée. La partie supérieure de la page de
gestion affiche l'activité du trafic réseau pour le périphérique sélectionné. Faites défiler la page
vers le bas pour afficher les paramètres de configuration et les options de gestion.
Pour modifier ou ajouter des options de configuration à une interface, cliquez sur les liens en
surbrillance correspondant à la configuration souhaitée. Dans cet exemple, le lien IPv4 présente
une seule adresse IP et un seul masque de réseau, 172.25.250.9/24, pour l'interface réseau
eth0. Pour ajouter une adresse IP à l'interface réseau eth0, cliquez sur le lien edit.
RH124-RHEL9.0-fr-2-20220609 585
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Cliquez sur le signe + à droite de la liste Manual pour ajouter une adresse IP. Saisissez une
adresse IP et un masque de réseau dans les champs appropriés. Cliquez sur Apply pour activer les
nouveaux paramètres.
586 RH124-RHEL9.0-fr-2-20220609
chapitre 16 | Analyse des serveurs et obtention d'une assistance
RH124-RHEL9.0-fr-2-20220609 587
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Références
Pages de manuel cockpit(1), cockpit-ws(8) et cockpit.conf(5)
588 RH124-RHEL9.0-fr-2-20220609
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Exercice guidé
Résultats
• Utiliser la console Web pour surveiller les fonctions de base du système, inspecter les
fichiers journaux, créer des comptes d'utilisateurs et accéder au terminal.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Connectez-vous à la machine servera en tant qu'utilisateur student.
2. La console Web est déjà installée sur le système, mais elle n'est pas activée. Activez et
démarrez le service cockpit.
RH124-RHEL9.0-fr-2-20220609 589
chapitre 16 | Analyse des serveurs et obtention d'une assistance
4.1. Cliquez sur le bouton Terminal dans la barre de navigation de gauche pour accéder au
terminal.
Une session de terminal s'ouvre avec l'utilisateur student déjà connecté. Vérifiez
que l'exécution de la commande fonctionne dans le terminal intégré.
[student@servera ~]$ id
uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
4.2. Cliquez sur le bouton Accounts dans la barre de navigation de gauche pour gérer les
utilisateurs.
Le bouton Create new account n'apparaît pas, car vous êtes connecté avec un accès
limité.
5.1. Cliquez sur le bouton Limited access pour passer en accès administratif. Utilisez
student comme mot de passe d'utilisateur student et cliquez sur le bouton
Authenticate. La console Web remplace le bouton Limited access par le bouton
Administrative access.
6. Cliquez sur Overview dans la barre de navigation de gauche, puis sur le bouton View details
and history dans la section Usage pour examiner les statistiques du système.
Cette page présente diverses statistiques du système d'exploitation, telles que la charge
actuelle, l'utilisation du disque, les E/S de disque et le trafic réseau.
7. Pour inspecter les journaux système, cliquez sur le bouton Logs dans la barre de navigation
de gauche.
Cette page affiche les journaux système systemd. Utilisez les boutons situés dans le coin
supérieur gauche pour modifier la façon dont la console Web affiche les entrées de journal
en fonction de la date et de la priorité des journaux.
7.1. Cliquez sur la liste Priority, puis sélectionnez Debug and above.
7.2. En fonction du jour du mois, cliquez sur une entrée de journal de la liste. Une page
de détails de l'entrée de journal s'ouvre avec des informations supplémentaires sur
l'événement, telles que le nom d'hôte, le contexte SELinux ou le numéro PID du
processus correspondant à l'entrée.
8.2. Faites défiler la page jusqu'à la section Interfaces, puis cliquez sur la ligne
correspondant à l'interface réseau eth0.
590 RH124-RHEL9.0-fr-2-20220609
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Une page de détails affiche les statistiques en temps réel du réseau, ainsi que la
configuration actuelle de cette interface réseau.
8.4. Dans la fenêtre IPv4 settings, cliquez sur le bouton + en regard de la liste Manual.
8.6. Dans la zone de texte Prefix length or Netmask, saisissez 24 en tant que valeur de
masque de réseau.
9.1. Cliquez sur le bouton Accounts dans la barre de navigation de gauche. La console
Web affiche à présent le bouton Create new account, car vous disposez des droits
d'administration.
9.3. Dans la fenêtre Create new account, ajoutez les informations suivantes :
Champ Valeur
Password redh@t!23
Confirm redh@t!23
10. Accédez à une session de terminal dans la console Web pour ajouter l'utilisateur manager1
au groupe wheel.
10.3. Utilisez la commande sudo usermod -aG wheel manager1 pour ajouter
l'utilisateur manager1 au groupe wheel.
RH124-RHEL9.0-fr-2-20220609 591
chapitre 16 | Analyse des serveurs et obtention d'une assistance
11.2. Recherchez le service Kernel process accounting. Cliquez sur le lien du service. Une
page de détails indique que le service est désactivé.
11.3. Cliquez sur le bouton Start and Enable en regard du nom du service.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
592 RH124-RHEL9.0-fr-2-20220609
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Résultats
Décrire et utiliser les principales ressources du portail client Red Hat pour rechercher des
informations dans la documentation Red Hat et dans la base de connaissances.
Certaines parties du site sont publiquement accessibles par tous, d'autres requièrent un
abonnement actif. Rendez-vous sur https://access.redhat.com/help/ pour obtenir de l'aide sur
l'accès au portail client Red Hat.
Cette visite guidée vous permet de découvrir les fonctions du portail et d'optimiser les avantages
de votre abonnement Red Hat. Une fois connecté au portail client Red Hat, cliquez sur le bouton
Tour the Customer Portal.
La fenêtre WELCOME TO THE RED HAT CUSTOMER PORTAL s'affiche. Cliquez sur le bouton
Let's go pour commencer la visite guidée.
Le menu Subscriptions ouvre une nouvelle page pour gérer vos systèmes enregistrés, ainsi
que vos abonnements et droits d'accès. Cette page énumère les informations sur les errata
applicables. Vous pouvez créer des clés d'activation pour enregistrer les systèmes et vous assurer
que les droits d'accès sont corrects. L'administrateur de l'organisation de votre compte peut
restreindre votre accès à cette page.
Le menu Downloads ouvre une nouvelle page pour accéder aux téléchargements de vos produits
et demander une évaluation des produits sans droits d'accès.
RH124-RHEL9.0-fr-2-20220609 593
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Le menu Support Cases ouvre une nouvelle page pour créer, suivre et gérer vos dossiers
d'assistance via le système de gestion des dossiers, si votre organisation a donné son autorisation.
À l'aide du menu User Menu, gérez votre compte, tous les comptes pour lesquels vous êtes un
administrateur d'organisation, votre profil et les options de notification par e-mail.
L'icône représentant le globe terrestre vous permet d'ouvrir le menu Language afin de spécifier
vos préférences linguistiques pour le portail client Red Hat.
Le menu Products & Services permet d'accéder aux hubs de produits et à des évaluations, guides
de mise en route spécifiques, ainsi qu'à d'autres informations d'assistance sur les produits. Vous
pouvez également accéder à la documentation des produits Red Hat, une base de connaissances
d'articles d'assistance, ainsi qu'aux politiques d'assistance. Vous pouvez contacter le support
technique Red Hat. Vous pouvez accéder aux services fournis par Red Hat, tels que les services de
consulting, la gestion de compte technique, les formations et les certifications.
Le menu Tools fournit des outils qui vous aident à utiliser efficacement les produits Red Hat.
Les outils aident à résoudre un problème de produit et fournissent des informations sur les
paquetages et les errata. La section Customer Portal Labs fournit un ensemble d'applications
Web et d'outils pour vous aider à améliorer les performances, à diagnostiquer les problèmes, à
identifier les failles de sécurité et à optimiser vos configurations. La section Red Hat Insights
permet d'analyser les plateformes et les applications pour prévoir les risques, prendre les
mesures recommandées et suivre les coûts de gestion des environnements de cloud hybride.
Insights alerter les administrateurs avant une panne, un événement de sécurité ou des dépenses
excessives.
Le menu Security permet d'accéder au Red Hat Product Security Center pour les mises à jour de
sécurité et empêche l'exposition des environnements aux vulnérabilités de sécurité. Cette section
fournit des informations sur les problèmes de sécurité majeurs, avec un accès aux avis de sécurité,
à la base de données CVE (Common Vulnerabilities and Exposures) de Red Hat, aux ateliers de
sécurité, au blog de sécurité de Red Hat, aux mesures de sécurité, aux évaluations de gravité, aux
politiques de rétroportage et aux les clés GNU Privacy Guard (GPG) de signature de produit.
Le menu Community donne accès à la section Customer Portal Community pour les
discussions et les groupes privés. Cette section est un endroit où les experts, les partenaires et
les clients Red Hat peuvent communiquer et collaborer. Cette section contient des forums de
discussion, des blogs et des informations sur les événements à venir.
Note
Red Hat recommande de consulter la visite guidée complète à l'adresse Premiers
pas avec Red Hat [https://access.redhat.com/start], y compris les sections des
menus How to Personalize Your Customer Portal experience, Explore the Benefits
of Your Red Hat subscription et How to Engage Red Hat Support. Un abonnement
actif est requis pour accéder à ces ressources d'abonnement.
594 RH124-RHEL9.0-fr-2-20220609
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Rassemblez des informations complémentaires. Quel est le produit affecté et quelle est sa
version ? Soyez prêt à fournir des informations de diagnostic pertinentes. Ces informations
peuvent inclure la sortie de la commande sos report. Pour les problèmes de noyau, ces
informations peuvent comprendre un vidage de la mémoire en cas de panne kdump du système
ou une photo numérique des messages de débogage du noyau affichés sur l'écran du système en
panne.
Déterminez le niveau de gravité. Red Hat utilise quatre niveaux de gravité pour classer les
problèmes. Les rapports de problèmes de gravité Urgente et Élevée doivent être suivis d'un appel
téléphonique au centre d'assistance local compétent (voir https://access.redhat.com/support/
contact/technicalSupport).
Gravité Description
Moyenne (Gravité de Problème impliquant une perte d'utilisation partielle, mais non
niveau 3) critique, du logiciel dans un environnement de production ou de
développement. Le problème implique un impact moyen à faible sur
votre activité pour les environnements de production. Les activités de
l'entreprise peuvent se poursuivre via la mise en place d'une procédure
de contournement. Dans les environnements de développement, le
problème empêche le projet de passer en phase de production.
RH124-RHEL9.0-fr-2-20220609 595
chapitre 16 | Analyse des serveurs et obtention d'une assistance
La liste suivante contient des informations qui peuvent être collectées dans un rapport :
• Version du noyau
• Modules du noyau chargés
• Fichiers de configuration du système et du service
• Sortie de la commande de diagnostic
• Liste de tous les paquetages installés
La génération du rapport sos nécessite des privilèges root. Exécutez la commande sos report
pour générer le rapport.
Optionally, please enter the case id that you are generating this report for []:
...output omitted...
Your sosreport has been generated and saved in:
/var/tmp/sosreport-host-2022-03-29-wixbhpz.tar.xz
..output omitted...
Please send this file to your support representative.
Vérifiez que la commande sos report a créé le fichier d'archive à l'emplacement précédent.
596 RH124-RHEL9.0-fr-2-20220609
chapitre 16 | Analyse des serveurs et obtention d'une assistance
• Envoyez le rapport sos en utilisant la commande sos report avec l'option --upload.
• Envoyez le rapport sos au portail client Red Hat en le joignant au dossier d'assistance.
RH124-RHEL9.0-fr-2-20220609 597
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Références
Page de manuel (1)sosreport
598 RH124-RHEL9.0-fr-2-20220609
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Exercice guidé
Résultats
• Générer un rapport de diagnostic en utilisant la console Web et le soumettre au portail
client Red Hat dans le cadre d'un dossier d'assistance.
Avant De Commencer
En tant qu’utilisateur student sur la machine workstation, utilisez la commande lab en
vue de préparer votre système pour cet exercice.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Instructions
1. Connectez-vous à la machine servera en tant qu'utilisateur student.
RH124-RHEL9.0-fr-2-20220609 599
chapitre 16 | Analyse des serveurs et obtention d'une assistance
5.3. Connectez-vous en tant qu'utilisateur root avec le mot de passe redhat. Vous êtes
maintenant connecté en tant qu'utilisateur privilégié, ce qui est nécessaire pour créer
un rapport de diagnostic.
5.4. Cliquez sur le menu Diagnostic Reports dans le volet de navigation gauche. Cliquez
sur le bouton Create Report. La création du rapport prend quelques minutes.
6. Lorsque le rapport est prêt, cliquez sur le bouton Download report pour enregistrer le
fichier.
6.1. Cliquez sur le bouton Download report, puis sur Save File.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
600 RH124-RHEL9.0-fr-2-20220609
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Résultats
Utiliser Red Hat Insights pour analyser les serveurs à la recherche de problèmes, y remédier ou les
résoudre, et confirmer que la solution a fonctionné.
Red Hat met régulièrement à jour la base de connaissances, en fonction des risques courants, des
failles de sécurité, des configurations incorrectes connues et d'autres problèmes que Red Hat
identifie. Red Hat valide et vérifie les actions visant à atténuer ou à corriger ces problèmes. Cette
assistance vous permet d'identifier, de hiérarchiser et de résoudre les problèmes de manière
proactive, avant qu'ils ne deviennent un problème majeur.
Pour chaque problème détecté, Red Hat Insights fournit des estimations du risque et des
recommandations sur la manière d'atténuer ou de résoudre ledit problème. Ces recommandations
peuvent suggérer des playbooks Ansible ou fournir des instructions détaillées pour vous aider à
résoudre le problème.
Les recommandations de Red Hat Insights sont adaptées à chaque système enregistré auprès du
service. Pour utiliser Red Hat Insights, installezl'agent sur chaque système client pour collecter
des métadonnées sur la configuration d'exécution du système. Ces données constituent un
sous-ensemble de ce que vous pourriez fournir au support Red Hat à l'aide de la commande
sosreport pour résoudre un dossier d'assistance.
Vous pouvez limiter ou brouiller les données que vos systèmes clients envoient. En limitant les
données, vous pouvez empêcher l'exécution de certaines règles analytiques, en fonction des
limites que vous avez définies.
Red Hat Insights fournit actuellement des analyses prédictives et des recommandations pour les
produits Red Hat suivants :
RH124-RHEL9.0-fr-2-20220609 601
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Lorsque la plateforme Red Hat Insights reçoit les données, elle les analyse et affiche le résultat
dans la console Web sur le site https://cloud.redhat.com/insights.
Si vous enregistrez votre système pour les droits d'accès logiciels via le service de gestion des
abonnements du portail client, vous pouvez activer Insights avec une seule commande. Utilisez la
commande insights-client --register pour enregistrer le système.
Le client Insights met régulièrement à jour les métadonnées transmises à Insights. Utilisez la
commande insights-client pour actualiser les métadonnées du client.
602 RH124-RHEL9.0-fr-2-20220609
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Assurez-vous que le paquetage insights-client est installé sur votre système. Le paquetage
est installé par défaut sur les systèmes RHEL 8 et versions ultérieures.
Vérifiez que le système est visible sous la section Inventory dans la console Web Insights sur le site
https://cloud.redhat.com/insights.
RH124-RHEL9.0-fr-2-20220609 603
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Pour chaque problème, Red Hat Insights fournit des informations supplémentaires pour vous aider
à comprendre le problème, à hiérarchiser les tâches à effectuer pour le résoudre, à déterminer
les mesures d'atténuation ou de correction disponibles et à automatiser sa résolution avec un
playbook Ansible. Red Hat Insights fournit également des liens vers des articles de la base de
connaissances sur le portail client.
Le service Advisor évalue le risque qu'un problème présente pour votre système sur la base de
deux catégories.
Total risk
Indique l'impact du problème sur votre système.
Risk of change
Indique l'impact de la mesure corrective sur votre système. Par exemple, il se peut que vous
deviez redémarrer le système.
604 RH124-RHEL9.0-fr-2-20220609
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Pour chaque CVE, Insights fournit des informations supplémentaires et répertorie les systèmes
exposés. Vous pouvez cliquer sur le bouton Remediate pour créer un playbook Ansible à des fins
de correction.
RH124-RHEL9.0-fr-2-20220609 605
chapitre 16 | Analyse des serveurs et obtention d'une assistance
La figure suivante montre que vous pouvez utiliser Red Hat Insights pour comparer le même
système à deux moments différents :
606 RH124-RHEL9.0-fr-2-20220609
chapitre 16 | Analyse des serveurs et obtention d'une assistance
La page Remediations répertorie tous les playbooks Ansible que vous avez créés à des fins de
correction. Vous pouvez télécharger les playbooks à partir de cette page.
La page Subscription vous permet de surveiller l'utilisation de votre abonnement Red Hat.
RH124-RHEL9.0-fr-2-20220609 607
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Références
Pages de manuel insights-client(8) et insights-client.conf(5)
Pour plus d'informations sur Red Hat Insights, consultez la Product Documentation
for Red Hat Insights à l'adresse
https://access.redhat.com/documentation/en-us/red_hat_insights
Pour plus d'informations sur l'exclusion des données collectées par Insights,
reportez-vous aux chapitres Red Hat Insights Client Data Obfuscation et Red Hat
Insights Client Data Redaction du manuel Client Configuration Guide for Red Hat
Insights à l'adresse
https://access.redhat.com/documentation/en-us/red_hat_insights/2021/html-
single/client_configuration_guide_for_red_hat_insights/assembly-main-client-cg
Des informations sur les données collectées par Red Hat Insights sont disponibles
sur la page
Informations relatives au système collectées par Red Hat Insights
https://access.redhat.com/articles/1598863
608 RH124-RHEL9.0-fr-2-20220609
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Quiz
1. Dans quel ordre les événements suivants se produisent-ils lors de la gestion d'un
système Red Hat Enterprise Linux qui utilise Red Hat Insights ?
1) Red Hat Insights analyzes system metadata to determine which issues and
recommendations apply.
2) The Insights client uploads system metadata to the Red Hat Insights service.
3) The administrator views the recommended actions in the Red Hat Insights
customer portal.
4) The Insights client collects system metadata on the Red Hat Enterprise Linux
system.
a. 1, 2, 3, 4
b. 4, 2, 1, 3
c. 4, 2, 3, 1
d. 4, 1, 2, 3
2. Quelle commande utilisez-vous pour enregistrer un client sur Red Hat Insights ?
a. insights-client --register
b. insights-client --no-upload
c. subscription-manager register
d. insights-client --unregister
RH124-RHEL9.0-fr-2-20220609 609
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Solution
1. Dans quel ordre les événements suivants se produisent-ils lors de la gestion d'un
système Red Hat Enterprise Linux qui utilise Red Hat Insights ?
1) Red Hat Insights analyzes system metadata to determine which issues and
recommendations apply.
2) The Insights client uploads system metadata to the Red Hat Insights service.
3) The administrator views the recommended actions in the Red Hat Insights
customer portal.
4) The Insights client collects system metadata on the Red Hat Enterprise Linux
system.
a. 1, 2, 3, 4
b. 4, 2, 1, 3
c. 4, 2, 3, 1
d. 4, 1, 2, 3
2. Quelle commande utilisez-vous pour enregistrer un client sur Red Hat Insights ?
a. insights-client --register
b. insights-client --no-upload
c. subscription-manager register
d. insights-client --unregister
610 RH124-RHEL9.0-fr-2-20220609
chapitre 16 | Analyse des serveurs et obtention d'une assistance
Résumé
• La console Web est une interface de gestion Web vers votre serveur, basée sur le service
Open Source cockpit.
• La console Web fournit des graphiques de performances du système, des outils graphiques pour
gérer la configuration du système et examiner les journaux, ainsi que des interfaces de terminal
interactives.
• Le portail client Red Hat vous permet d'accéder à la documentation, à des téléchargements,
à des outils d'optimisation, à la gestion des dossiers d'assistance, ainsi qu'à la gestion des
abonnements et des droits pour vos produits Red Hat.
• Red Hat Insights est un outil d'analyse prédictive SaaS qui vous aide à identifier et à corriger les
menaces pesant sur la sécurité, les performances, la disponibilité et la stabilité de vos systèmes.
RH124-RHEL9.0-fr-2-20220609 611
612 RH124-RHEL9.0-fr-2-20220609
chapitre 17
Révision complète
Objectif Tâches de révision depuis Red Hat System
Administration I
RH124-RHEL9.0-fr-2-20220609 613
chapitre 17 | Révision complète
Révision complète
Résultats
Démontrer les connaissances et les compétences acquises dans le cours Red Hat System
Administration I.
Vous pouvez vous référer aux précédentes sections du manuel pour en savoir plus.
Décrire et expliquer l'objet de Linux, d'Open Source, des distributions Linux et de Red Hat
Enterprise Linux.
• Se connecter au système Linux avec l'environnement de bureau GNOME pour exécuter des
commandes depuis l'invite du shell dans un programme de terminal.
• Gagnez du temps lors de l'exécution de commandes à partir d'une invite de shell avec des
raccourcis bash.
• Décrire comment Linux organise les fichiers, et l'objet des divers répertoires dans la hiérarchie
du système de fichiers.
• Spécifier l'emplacement absolu et l'emplacement relatif des fichiers par rapport au répertoire de
travail actuel, déterminer et modifier le répertoire de travail et lister le contenu des répertoires.
• Faire en sorte que plusieurs noms de fichiers référencent le même fichier avec des liens
matériels et symboliques.
• Exécuter efficacement les commandes qui affectent de nombreux fichiers en utilisant les
fonctionnalités de filtrage par motif du shell bash.
614 RH124-RHEL9.0-fr-2-20220609
chapitre 17 | Révision complète
Rechercher des informations dans les pages de manuel du système Linux local.
• Enregistrer la sortie ou les erreurs dans un fichier avec la redirection du shell et traiter la sortie
de la commande via plusieurs programmes de ligne de commande avec des pipes.
• Créer et modifier des fichiers texte à partir de la ligne de commande avec l'éditeur vim.
• Définir des variables shell pour exécuter des commandes et modifier les scripts de démarrage
bash pour définir des variables shell et d'environnement afin de modifier le comportement du
shell et des programmes exécutés à partir de celui-ci.
• Se connecter en tant que super utilisateur pour gérer un système Linux et accorder à d'autres
utilisateurs un accès super utilisateur à l'aide de la commande sudo.
• Définir une politique de gestion des mots de passe pour les utilisateurs, ainsi que verrouiller et
déverrouiller manuellement les comptes d'utilisateur.
• Lister les permissions du système de fichiers sur les fichiers et les répertoires, et évaluez l'effet
de ces permissions sur l'accès des utilisateurs et des groupes.
• Changer les permissions et la propriété des fichiers avec des outils de ligne de commande.
• Contrôler les permissions par défaut des fichiers créés par les utilisateurs, expliquer l'effet
des autorisations spéciales, et utiliser des autorisations spéciales et par défaut pour définir le
groupe propriétaire des fichiers créés dans un répertoire.
RH124-RHEL9.0-fr-2-20220609 615
chapitre 17 | Révision complète
• Utiliser le contrôle de tâche bash pour gérer plusieurs processus démarrés à partir de la même
session de terminal.
• Utiliser les commandes pour arrêter les processus et communiquer avec eux, définir les
caractéristiques d'un processus démon, et arrêter les sessions et les processus utilisateur.
• Répertorier les démons système et les services réseau démarrés par le service systemd et les
unités de socket.
• Configurer un compte d'utilisateur pour utiliser une authentification par clé pour se connecter à
des systèmes distants de manière sécurisée, sans mot de passe.
• Désactiver les connexions directes en tant que root et l'authentification par mot de passe pour
le service OpenSSH.
• Décrire l'architecture de journalisation utilisée par Red Hat Enterprise Linux pour enregistrer des
événements.
• Interpréter les événements dans les fichiers syslog pertinents pour résoudre des problèmes ou
vérifier l'état du système.
• Trouver et interpréter des entrées dans le journal système pour résoudre des problèmes ou
vérifier l'état du système.
• Maintenir une synchronisation précise de l'horloge à l'aide du protocole NTP ( Network Time
Protocol) et configurer le fuseau horaire pour garantir des horodatages corrects pour les
événements enregistrés par le journal système et les journaux.
• Tester et inspecter la configuration réseau actuelle avec les utilitaires de ligne de commande.
616 RH124-RHEL9.0-fr-2-20220609
chapitre 17 | Révision complète
• Configurer le nom d'hôte statique d'un serveur et sa résolution, puis tester les résultats.
• Archiver des fichiers et des répertoires dans un fichier compressé avec tar, et extraire le
contenu d'une archive tar existante.
• Transférer des fichiers depuis ou vers un système distant en toute sécurité avec SSH.
• Synchroniser le contenu d'un fichier ou d'un répertoire local avec une copie sur un serveur
distant de manière efficace et fiable.
• Enregistrer un système sur votre compte Red Hat et lui attribuer les droits pour les mises à jour
logicielles et les services de support avec Red Hat Subscription Management.
• Expliquer comment les logiciels sont fournis sous forme de paquetages RPM et inspecter les
paquetages installés sur le système avec DNF et RPM.
• Trouver, installer et mettre à jour des paquetages logiciels avec la commande dnf.
• Activer et désactiver l'utilisation de référentiels DNF tiers ou Red Hat par un serveur.
• Rechercher des fichiers sur les systèmes de fichiers montés avec les commandes find et
locate.
• Activer l'interface de gestion de la console Web pour gérer et surveiller à distance les
performances d'un serveur Red Hat Enterprise Linux.
• Décrire et utiliser les principales ressources du portail client Red Hat pour rechercher des
informations dans la documentation Red Hat et dans la base de connaissances.
• Utiliser Red Hat Insights pour analyser les serveurs à la recherche de problèmes, y remédier ou
les résoudre, et confirmer que la solution a fonctionné.
RH124-RHEL9.0-fr-2-20220609 617
chapitre 17 | Révision complète
Open Lab
Note
Si vous prévoyez de passer l'examen RHCSA, utilisez l'approche suivante pour
maximiser les avantages de cette révision complète : essayez chaque atelier
sans afficher les boutons de solution ni faire référence au contenu du cours.
Utilisez les scripts de notation pour évaluer vos progrès à mesure que vous
terminez chaque atelier.
Au cours de cette révision, vous gérez des fichiers, redirigez un ensemble spécifique de
lignes d'un fichier texte vers un autre fichier et modifiez les fichiers texte.
Résultats
• Gérer des fichiers à partir de la ligne de commande.
• Afficher un nombre spécifique de lignes à partir de fichiers texte et rediriger la sortie vers
un autre fichier.
• Modifier des fichiers texte.
Avant De Commencer
Si vous n'avez pas réinitialisé vos machines workstation et server à la fin du chapitre
précédent, enregistrez le travail que vous souhaitez conserver des exercices précédents
effectués sur ces machines, puis réinitialisez-les.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Spécifications
• Créez le répertoire /home/student/grading.
618 RH124-RHEL9.0-fr-2-20220609
chapitre 17 | Révision complète
• Enregistrez le résultat d'une commande qui répertorie le contenu du répertoire /boot dans le
fichier /home/student/grading/longlisting.txt. La sortie doit être une longue liste qui
inclut les autorisations de fichier, le propriétaire et le propriétaire du groupe, la taille et la date de
modification de chaque fichier.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 619
chapitre 17 | Révision complète
Solution
Note
Si vous prévoyez de passer l'examen RHCSA, utilisez l'approche suivante pour
maximiser les avantages de cette révision complète : essayez chaque atelier
sans afficher les boutons de solution ni faire référence au contenu du cours.
Utilisez les scripts de notation pour évaluer vos progrès à mesure que vous
terminez chaque atelier.
Au cours de cette révision, vous gérez des fichiers, redirigez un ensemble spécifique de
lignes d'un fichier texte vers un autre fichier et modifiez les fichiers texte.
Résultats
• Gérer des fichiers à partir de la ligne de commande.
• Afficher un nombre spécifique de lignes à partir de fichiers texte et rediriger la sortie vers
un autre fichier.
• Modifier des fichiers texte.
Avant De Commencer
Si vous n'avez pas réinitialisé vos machines workstation et server à la fin du chapitre
précédent, enregistrez le travail que vous souhaitez conserver des exercices précédents
effectués sur ces machines, puis réinitialisez-les.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
620 RH124-RHEL9.0-fr-2-20220609
chapitre 17 | Révision complète
2.1. Créez les fichiers vides grade1, grade2 et grade3 dans le répertoire /home/
student/grading. Appliquez la fonctionnalité de shell d'extension d'accolade pour
créer les trois fichiers avec une seule commande touch.
2.2. Vérifiez que les fichiers grade1, grade2 et grade3 existent sous le répertoire /home/
student/grading.
Test AA
Test BB
Test CC
Test DD
Test EE
RH124-RHEL9.0-fr-2-20220609 621
chapitre 17 | Révision complète
Test AA
Test BB
Test CC
Test DD
Test EE
Test HH
Test II
Test JJ
[student@serverb grading]$ cd
[student@serverb ~]$
6.2. À partir du mode de commande dans vim, faites défiler jusqu'à la ligne Test JJ.
Appuyez deux fois sur la touche y de votre clavier pour copier la ligne de texte
et appuyez ensuite sur la touche p pour la coller sous le curseur. Entrez wq pour
enregistrer les modifications et quitter vim. Vérifiez que le fichier /home/student/
grading/review-copy.txt contient le texte suivant :
Test AA
Test BB
Test CC
Test DD
Test EE
Test HH
Test II
Test JJ
Test JJ
622 RH124-RHEL9.0-fr-2-20220609
chapitre 17 | Révision complète
7.2. À partir du mode de commande dans Vim, faites défiler jusqu'à la ligne Test HH.
Appuyez deux fois sur la touche d de votre clavier pour supprimer la ligne de texte.
Entrez wq pour enregistrer les modifications et quitter vim. Vérifiez que le fichier /
home/student/grading/review-copy.txt contient le texte suivant :
Test AA
Test BB
Test CC
Test DD
Test EE
Test II
Test JJ
Test JJ
8.2. À partir du mode de commande dans Vim, faites défiler jusqu'à la ligne Test CC.
Appuyez sur la touche i du clavier pour passer en mode insertion, tout en maintenant
le curseur au début de la ligne Test CC. En mode insertion, appuyez sur la touche
Enter du clavier pour créer une ligne vide au-dessus du curseur. Utilisez la flèche
vers le haut pour accéder à la ligne vide et créer la ligne de texte A new line.
Appuyez sur la touche Esc du clavier pour repasser en mode de commande.
Entrez wq pour enregistrer les modifications et quitter Vim. Vérifiez que le fichier
/home/student/grading/review-copy.txt contient le texte suivant.
Test AA
Test BB
A new line
Test CC
Test DD
Test EE
Test II
Test JJ
Test JJ
RH124-RHEL9.0-fr-2-20220609 623
chapitre 17 | Révision complète
11. Enregistrez le résultat d'une commande qui répertorie le contenu du répertoire /boot dans
le fichier /home/student/grading/longlisting.txt. La sortie doit être une longue
liste qui inclut les autorisations de fichier, le propriétaire et le propriétaire du groupe, la taille
et la date de modification de chaque fichier.
11.1. Affichez le contenu du répertoire /boot au format longue liste et redirigez la sortie
vers le fichier /home/student/grading/longlisting.txt.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
624 RH124-RHEL9.0-fr-2-20220609
chapitre 17 | Révision complète
RH124-RHEL9.0-fr-2-20220609 625
chapitre 17 | Révision complète
Open Lab
Note
Si vous prévoyez de passer l'examen RHCSA, utilisez l'approche suivante pour
maximiser les avantages de cette révision complète : essayez chaque atelier
sans afficher les boutons de solution ni faire référence au contenu du cours.
Utilisez les scripts de notation pour évaluer vos progrès à mesure que vous
terminez chaque atelier.
Au cours de cette révision, vous gérez des comptes d'utilisateurs et de groupes, définissez
des autorisations sur des fichiers et des répertoires, et gérez des processus.
Résultats
• Gérer des groupes et des comptes d'utilisateur.
• Définir des autorisations sur des fichiers et des répertoires.
• Identifier et gérer les processus gourmands en ressources processeur.
Avant De Commencer
Si vous n'avez pas réinitialisé vos machines workstation et server à la fin du chapitre
précédent, enregistrez le travail que vous souhaitez conserver des exercices précédents
effectués sur ces machines, puis réinitialisez-les.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Spécifications
• Identifiez et terminez le processus qui utilise actuellement le plus de temps processeur.
626 RH124-RHEL9.0-fr-2-20220609
chapitre 17 | Révision complète
– Autorisez l'utilisateur à utiliser la commande sudo pour exécuter toute commande en tant
que super utilisateur.
• Assurez-vous que les utilisateurs sont autorisés à ne supprimer que les fichiers dont ils sont
propriétaires à partir du répertoire /home/student/grading/review2.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 627
chapitre 17 | Révision complète
Solution
Note
Si vous prévoyez de passer l'examen RHCSA, utilisez l'approche suivante pour
maximiser les avantages de cette révision complète : essayez chaque atelier
sans afficher les boutons de solution ni faire référence au contenu du cours.
Utilisez les scripts de notation pour évaluer vos progrès à mesure que vous
terminez chaque atelier.
Au cours de cette révision, vous gérez des comptes d'utilisateurs et de groupes, définissez
des autorisations sur des fichiers et des répertoires, et gérez des processus.
Résultats
• Gérer des groupes et des comptes d'utilisateur.
• Définir des autorisations sur des fichiers et des répertoires.
• Identifier et gérer les processus gourmands en ressources processeur.
Avant De Commencer
Si vous n'avez pas réinitialisé vos machines workstation et server à la fin du chapitre
précédent, enregistrez le travail que vous souhaitez conserver des exercices précédents
effectués sur ces machines, puis réinitialisez-les.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
1.2. Utilisez la commande top pour afficher l'état de la consommation des ressources
processeur du système en temps réel.
628 RH124-RHEL9.0-fr-2-20220609
chapitre 17 | Révision complète
...output omitted...
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2303 student 20 0 217048 944 876 R 99.7 0.1 100:11.64 dd
...output omitted...
...output omitted...
PID to signal/kill [default pid = 2303] Enter
...output omitted...
1.5. Utilisez le signal SIGTERM par défaut pour mettre fin au processus.
...output omitted...
Send pid 2833 signal [15/sigterm] Enter
...output omitted...
1.6. Appuyez sur la touche q pour quitter l'interface interactive de la commande top.
3. Créez l'utilisateur dbadmin1. Ajoutez le groupe database en tant que groupe secondaire.
Définissez le mot de passe sur redhat et forcez le changement de mot de passe à la
première connexion de l'utilisateur. Autorisez le changement de mot de passe après 10 jours
à compter du jour du dernier changement de mot de passe. Définissez l'expiration du mot
de passe à 30 jours à compter du jour du dernier changement de mot de passe. Autorisez
l'utilisateur à utiliser la commande sudo pour exécuter toute commande en tant que super
utilisateur. Configurez l'umask par défaut sur 007.
3.1. Créez l'utilisateur dbadmin1. Ajoutez le groupe database en tant que groupe
secondaire.
RH124-RHEL9.0-fr-2-20220609 629
chapitre 17 | Révision complète
3.3. Forcez l'utilisateur dbadmin1 à changer son mot de passe à la prochaine connexion.
3.4. Définissez l'âge minimal du mot de passe de l'utilisateur dbadmin1 sur 10 jours.
3.5. Définissez l'âge maximal du mot de passe de l'utilisateur dbadmin1 sur 30 jours.
3.7. Basculez vers l'utilisateur dbadmin1. Ajoutez la ligne umask 007 au fichier /home/
dbadmin1/.bashrc.
4.1. Utilisez la commande mkdir avec l'option -p pour créer le répertoire /home/
student/grading/review2.
630 RH124-RHEL9.0-fr-2-20220609
chapitre 17 | Révision complète
6. Assurez-vous que les utilisateurs sont autorisés à ne supprimer que les fichiers dont ils sont
propriétaires à partir du répertoire /home/student/grading/review2.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 631
chapitre 17 | Révision complète
632 RH124-RHEL9.0-fr-2-20220609
chapitre 17 | Révision complète
Open Lab
Note
Si vous prévoyez de passer l'examen RHCSA, utilisez l'approche suivante pour
maximiser les avantages de cette révision complète : essayez chaque atelier
sans afficher les boutons de solution ni faire référence au contenu du cours.
Utilisez les scripts de notation pour évaluer vos progrès à mesure que vous
terminez chaque atelier.
Au cours de cette révision, vous configurez, sécurisez et utilisez le service SSH pour accéder
à la machine distante, configurez le service rsyslog, archivez des fichiers locaux, transférez
des fichiers locaux vers une machine distante et gérez des paquetages avec l'utilitaire dnf.
Résultats
• Créer une paire de clés SSH.
• Désactiver les connexions SSH en tant qu'utilisateur root.
• Désactiver les connexions SSH basées sur des mots de passe.
• Mettre à jour le fuseau horaire d'un serveur.
• Installer des paquetages et des modules de paquetages à l'aide de la commande dnf.
• Archiver des fichiers locaux en vue de la sauvegarde.
• Transférer des fichiers locaux sur une machine distante.
Avant De Commencer
Si vous n’avez pas réinitialisé vos machines workstation et server à la fin du chapitre
précédent, enregistrez le travail que vous souhaitez conserver des exercices précédents
effectués sur ces machines, puis réinitialisez-les.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Spécifications
• Générez des clés SSH pour l'utilisateur student sur serverb. Ne protégez pas la clé privée
avec une phrase de passe. Enregistrez les clés privées et publiques en tant que fichiers /
home/student/.ssh/review3_key et /home/student/.ssh/review3_key.pub
respectivement.
RH124-RHEL9.0-fr-2-20220609 633
chapitre 17 | Révision complète
• Configurez l'utilisateur student sur servera afin qu'il accepte les connexions authentifiées
par la paire de clés SSH review3_key. L'utilisateur student sur serverb doit pouvoir se
connecter à servera à l'aide de SSH sans entrer de mot de passe.
• Sur serverb, configurez le service sshd pour empêcher l'utilisateur root de se connecter.
• Sur serverb, configurez le service sshd pour empêcher les utilisateurs d'utiliser leurs mots de
passe pour se connecter. Les utilisateurs doivent toujours pouvoir authentifier les connexions à
l'aide d'une paire de clés SSH.
• Créez une archive tar /tmp/log.tar qui inclut le contenu du répertoire /var/log sur
serverb. Transférez à distance l'archive tar vers le répertoire /tmp sur servera, en vous
authentifiant en tant qu'utilisateur student avec la clé privée review3_key.
• Configurez le service rsyslog sur serverb pour enregistrer tous les messages avec la
priorité debug ou un niveau de priorité supérieur dans le fichier /var/log/grading-debug.
Définissez la configuration dans le fichier /etc/rsyslog.d/grading-debug.conf.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
634 RH124-RHEL9.0-fr-2-20220609
chapitre 17 | Révision complète
Solution
Note
Si vous prévoyez de passer l'examen RHCSA, utilisez l'approche suivante pour
maximiser les avantages de cette révision complète : essayez chaque atelier
sans afficher les boutons de solution ni faire référence au contenu du cours.
Utilisez les scripts de notation pour évaluer vos progrès à mesure que vous
terminez chaque atelier.
Au cours de cette révision, vous configurez, sécurisez et utilisez le service SSH pour accéder
à la machine distante, configurez le service rsyslog, archivez des fichiers locaux, transférez
des fichiers locaux vers une machine distante et gérez des paquetages avec l'utilitaire dnf.
Résultats
• Créer une paire de clés SSH.
• Désactiver les connexions SSH en tant qu'utilisateur root.
• Désactiver les connexions SSH basées sur des mots de passe.
• Mettre à jour le fuseau horaire d'un serveur.
• Installer des paquetages et des modules de paquetages à l'aide de la commande dnf.
• Archiver des fichiers locaux en vue de la sauvegarde.
• Transférer des fichiers locaux sur une machine distante.
Avant De Commencer
Si vous n’avez pas réinitialisé vos machines workstation et server à la fin du chapitre
précédent, enregistrez le travail que vous souhaitez conserver des exercices précédents
effectués sur ces machines, puis réinitialisez-les.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
1. Générez des clés SSH pour l'utilisateur student sur la machine serverb. Ne protégez pas
la clé privée avec une phrase de passe. Nommez les fichiers de clés privées et publiques /
home/student/.ssh/review3_key et /home/student/.ssh/review3_key.pub,
respectivement.
RH124-RHEL9.0-fr-2-20220609 635
chapitre 17 | Révision complète
2. Configurez l'utilisateur student sur servera afin qu'il accepte les connexions authentifiées
par la paire de clés SSH review3_key. L'utilisateur student sur serverb doit pouvoir se
connecter à servera à l'aide de SSH sans entrer de mot de passe.
2.2. Vérifiez que vous pouvez vous connecter à servera à partir de serverb en tant
qu'utilisateur student en utilisant la clé privée review3_key sans être invité à saisir
le mot de passe.
636 RH124-RHEL9.0-fr-2-20220609
chapitre 17 | Révision complète
3. Sur serverb, configurez le service sshd pour empêcher l'utilisateur root de se connecter.
4. Sur serverb, configurez le service sshd pour empêcher les utilisateurs d'utiliser leurs
mots de passe pour se connecter. Les utilisateurs doivent toujours pouvoir authentifier les
connexions à l'aide de clés SSH.
5. Créez l'archive tar /tmp/log.tar qui inclut le contenu du répertoire /var/log sur
serverb. Transférez à distance l'archive tar vers le répertoire /tmp sur servera, en vous
authentifiant en tant qu'utilisateur student avec la clé privée review3_key.
5.2. Transférez à distance le fichier d'archive /tmp/log.tar vers le répertoire /tmp sur
servera. Spécifiez le fichier /home/student/.ssh/review3_key en tant que clé
privée de la paire de clés SSH.
RH124-RHEL9.0-fr-2-20220609 637
chapitre 17 | Révision complète
6. Configurez le service rsyslog sur serverb pour enregistrer tous les messages avec la
priorité debug ou un niveau de priorité supérieur dans le fichier /var/log/grading-
debug. Mettez à jour la configuration dans le fichier /etc/rsyslog.d/grading-
debug.conf.
*.debug /var/log/grading-debug
6.3. Générez un message de journal Debug Testing avec une priorité debug.
6.4. Vérifiez que le message de journal Debug Testing se trouve dans le fichier /var/
log/grading-debug.
638 RH124-RHEL9.0-fr-2-20220609
chapitre 17 | Révision complète
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 639
chapitre 17 | Révision complète
Open Lab
Note
Si vous prévoyez de passer l'examen RHCSA, utilisez l'approche suivante pour
maximiser les avantages de cette révision complète : essayez chaque atelier
sans afficher les boutons de solution ni faire référence au contenu du cours.
Utilisez les scripts de notation pour évaluer vos progrès à mesure que vous
terminez chaque atelier.
Résultats
• Configurer les paramètres réseau.
• Tester la connectivité réseau.
• Définir un nom d'hôte statique.
• Utiliser des noms d'hôte canoniques pouvant être résolus localement pour se connecter
aux systèmes.
Avant De Commencer
Si vous n'avez pas réinitialisé vos machines workstation et server à la fin du chapitre
précédent, enregistrez le travail que vous souhaitez conserver des exercices précédents
effectués sur ces machines, puis réinitialisez-les.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Important
Il est utile d'apporter des modifications au réseau à partir de la console
du serveur, que ce soit localement ou via une console distante. Lors de
l'utilisation de la commande ssh pour ajuster les paramètres réseau, une
commande erronée peut bloquer ou verrouiller votre session. Vous devez
donc apporter des corrections à la configuration du réseau via la console.
Dans la page Web qui contrôle votre environnement d'atelier, cliquez sur
le bouton OPEN CONSOLE pour serverb. Un onglet s'ouvre dans votre
navigateur avec la session de console serverb. Connectez-vous en tant
qu'utilisateur student.
640 RH124-RHEL9.0-fr-2-20220609
chapitre 17 | Révision complète
Spécifications
• Déterminez le nom de l'interface Ethernet et son profil de connexion active sur serverb.
• Sur serverb, créez un profil de connexion static pour l'interface Ethernet disponible. Le
profil static définit de manière statique les paramètres du réseau et n'utilise pas le protocole
DHCP. Configurez le profil static pour utiliser les paramètres réseau du tableau suivant :
Paramètre Paramètre
Passerelle 172.25.250.254
• Sur serverb, définissez client-review4 comme nom d'hôte canonique pour l'adresse IPv4
servera 172.25.250.10.
• Sur serverb, rétablissez les paramètres réseau d'origine en activant la connexion réseau
d'origine.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 641
chapitre 17 | Révision complète
Solution
Note
Si vous prévoyez de passer l'examen RHCSA, utilisez l'approche suivante pour
maximiser les avantages de cette révision complète : essayez chaque atelier
sans afficher les boutons de solution ni faire référence au contenu du cours.
Utilisez les scripts de notation pour évaluer vos progrès à mesure que vous
terminez chaque atelier.
Résultats
• Configurer les paramètres réseau.
• Tester la connectivité réseau.
• Définir un nom d'hôte statique.
• Utiliser des noms d'hôte canoniques pouvant être résolus localement pour se connecter
aux systèmes.
Avant De Commencer
Si vous n'avez pas réinitialisé vos machines workstation et server à la fin du chapitre
précédent, enregistrez le travail que vous souhaitez conserver des exercices précédents
effectués sur ces machines, puis réinitialisez-les.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Important
Il est utile d'apporter des modifications au réseau à partir de la console
du serveur, que ce soit localement ou via une console distante. Lors de
l'utilisation de la commande ssh pour ajuster les paramètres réseau, une
commande erronée peut bloquer ou verrouiller votre session. Vous devez
donc apporter des corrections à la configuration du réseau via la console.
Dans la page Web qui contrôle votre environnement d'atelier, cliquez sur
le bouton OPEN CONSOLE pour serverb. Un onglet s'ouvre dans votre
navigateur avec la session de console serverb. Connectez-vous en tant
qu'utilisateur student.
642 RH124-RHEL9.0-fr-2-20220609
chapitre 17 | Révision complète
1. Utilisez la console système pour vous connecter en tant qu'utilisateur student à serverb.
Dans la page Web qui contrôle votre environnement d'atelier, cliquez sur le bouton OPEN
CONSOLE pour serverb. Un onglet s'ouvre dans votre navigateur avec la session de
console serverb. Connectez-vous en tant qu'utilisateur student.
2. Déterminez le nom de l'interface Ethernet sur serverb et le profil de connexion active
utilisé.
Dans cet exemple, eth0 est le nom de l'interface Ethernet. Le nom du profil de
connexion est Wired connection 1. Créez le profil de connexion static pour
cette interface.
Note
Les noms de l'interface réseau et du profil de connexion initial peuvent être
différents de la sortie précédente. Utilisez le nom indiqué par votre système pour
remplacer l'espace réservé ethX dans les étapes ultérieures.
3. Créez le profil de connexion static pour l'interface ethX sur serverb. Définissez les
paramètres réseau de manière statique, de sorte que DHCP ne soit pas utilisé. Définissez les
paramètres sur la base du tableau suivant :
Passerelle 172.25.250.254
3.1. Créez le profil de connexion static avec les paramètres réseau fournis.
RH124-RHEL9.0-fr-2-20220609 643
chapitre 17 | Révision complète
5.1. Modifiez le fichier /etc/hosts et ajoutez client-review4 en tant que nom pour
l'adresse IPv4 172.25.250.10.
172.25.250.10 client-review4
5.2. Vérifiez que vous pouvez atteindre l'adresse IPv4 servera 172.25.250.10 en
utilisant le nom d'hôte canonique client-review4.
6.3. À partir de workstation, utilisez la commande ping pour vérifier que l'adresse IPv4
172.25.250.211 est accessible.
644 RH124-RHEL9.0-fr-2-20220609
chapitre 17 | Révision complète
7. Sur serverb, rétablissez les paramètres d'origine en activant le profil réseau d'origine.
7.1. Revenez à la console et utilisez la commande nmcli pour activer le profil réseau
d'origine.
Le nom du profil de connexion d'origine peut être différent sur serverb. Remplacez le
nom dans cette solution par celui de votre système. Recherchez le nom du profil avec la
commande nmcli connection show.
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 645
chapitre 17 | Révision complète
Open Lab
Note
Si vous prévoyez de passer l'examen RHCSA, utilisez l'approche suivante pour
maximiser les avantages de cette révision complète : essayez chaque atelier
sans afficher les boutons de solution ni faire référence au contenu du cours.
Utilisez les scripts de notation pour évaluer vos progrès à mesure que vous
terminez chaque atelier.
Au cours de cette révision, vous montez un système de fichiers et recherchez des fichiers en
fonction de différents critères.
Résultats
• Monter un système de fichiers existant.
• Rechercher des fichiers en fonction de leur nom, de leurs permissions et de leur taille.
Avant De Commencer
Si vous n'avez pas réinitialisé vos machines workstation et server à la fin du chapitre
précédent, enregistrez le travail que vous souhaitez conserver des exercices précédents
effectués sur ces machines, puis réinitialisez-les.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
Spécifications
• Identifiez le périphérique en mode bloc démonté qui contient un système de fichiers XFS sur la
machine serverb. Montez le périphérique en mode bloc dans le répertoire /review5-disk.
• Localisez tous les fichiers dont l'utilisateur contractor1 et le groupe contractor sont
propriétaires. Les fichiers doivent également posséder les autorisations octales 640.
Enregistrez la liste de ces fichiers dans le fichier /review5-disk/review5-perms.txt.
• Localisez tous les fichiers d'une taille de 100 octets. Enregistrez les chemins absolus de ces
fichiers dans /review5-disk/review5-size.txt.
646 RH124-RHEL9.0-fr-2-20220609
chapitre 17 | Révision complète
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 647
chapitre 17 | Révision complète
Solution
Note
Si vous prévoyez de passer l'examen RHCSA, utilisez l'approche suivante pour
maximiser les avantages de cette révision complète : essayez chaque atelier
sans afficher les boutons de solution ni faire référence au contenu du cours.
Utilisez les scripts de notation pour évaluer vos progrès à mesure que vous
terminez chaque atelier.
Au cours de cette révision, vous montez un système de fichiers et recherchez des fichiers en
fonction de différents critères.
Résultats
• Monter un système de fichiers existant.
• Rechercher des fichiers en fonction de leur nom, de leurs permissions et de leur taille.
Avant De Commencer
Si vous n'avez pas réinitialisé vos machines workstation et server à la fin du chapitre
précédent, enregistrez le travail que vous souhaitez conserver des exercices précédents
effectués sur ces machines, puis réinitialisez-les.
Cette commande prépare votre environnement et garantit que toutes les ressources
requises sont disponibles.
1. Identifiez le périphérique en mode bloc démonté qui contient un système de fichiers XFS sur
la machine serverb. Montez le périphérique en mode bloc dans le répertoire /review5-
disk.
648 RH124-RHEL9.0-fr-2-20220609
chapitre 17 | Révision complète
1.2. Identifiez le périphérique en mode bloc démonté qui contient le système de fichiers
XFS.
Sur la base de la sortie précédente, notez que le périphérique bloc vdb1 contient le
système de fichiers XFS, qui n'est monté sur aucun système.
1.5. Vérifiez que le périphérique en mode bloc vdb1 est monté sur le répertoire /
review5-disk.
2.1. Localisez le fichier review5-path. Redirigez tous les messages d'erreur vers le fichier
spécial /dev/null.
RH124-RHEL9.0-fr-2-20220609 649
chapitre 17 | Révision complète
3.1. Localisez tous les fichiers dont l'utilisateur contractor1 et le groupe contractor
sont propriétaires et dotés de la permission octale 640. Redirigez toutes les erreurs
vers le fichier spécial /dev/null.
4. Localisez tous les fichiers d'une taille de 100 octets. Enregistrez les chemins d'accès absolus
à ces fichiers dans le fichier /review5-disk/review5-size.txt.
4.1. Localisez tous les fichiers d'une taille précise de 100 octets. Redirigez toutes les erreurs
vers le fichier spécial /dev/null.
650 RH124-RHEL9.0-fr-2-20220609
chapitre 17 | Révision complète
Évaluation
En tant qu'utilisateur student sur la machine workstation, utilisez la commande lab pour
évaluer votre travail. Corrigez toute erreur signalée et répétez la commande tant que des erreurs
persistent.
Fin
Sur la machine workstation, accédez au répertoire personnel de l'utilisateur student et
exécutez la commande lab pour terminer cet exercice. Il s'agit d'une étape importante pour vous
assurer que les ressources des exercices précédents n'ont pas d'incidence sur les exercices à venir.
RH124-RHEL9.0-fr-2-20220609 651
652 RH124-RHEL9.0-fr-2-20220609