3 - Manager le Système
Fiche de révision RHCSA (EX200 / RHEL 9) : filesystem, recherche & montage, liens, archivage, traitement de texte (grep/sed/awk), gestion des utilisateurs/groupes, sudo, SSH, permissions et configuration réseau.
ℹ️ Ce module couvre surtout la gestion des fichiers, utilisateurs et du réseau. La partie EX200 « operate running systems » (processus
ps/top/kill, servicessystemctl/units/targets, logsjournalctl, logicielsdnf, planificationcron/timers) est traitée dans la fiche 4 - Administrer les tâches (voir renvoi en fin de fiche).
A. Filesystem (FHS)
- Les répertoires sont standardisés par le FHS (Filesystem Hierarchy Standard).
- Le point de départ du filesystem est le répertoire root
/. - Plusieurs devices peuvent être intégrés au filesystem en les montant.
| Répertoire | Rôle |
|---|---|
/etc |
Fichiers de configuration |
/usr |
Programmes (équivalent du « Program Files » Windows) |
/var |
Données variables / temporaires (logs, spool…) |
/tmp |
Fichiers temporaires, seul répertoire inscriptible par tous |
/home |
Répertoires personnels des utilisateurs |
pwd # voir le répertoire courant
cd / # aller à la racine
ls # lister
Commandes essentielles
ls # lister
mkdir dossier # créer un dossier
cp src dst # copier
mv src dst # déplacer / renommer
rmdir dossier # supprimer un dossier VIDE
rm -rf dossier# supprimer dossier non vide (récursif, forcé)
rm fichier # supprimer un fichier
🚨 rm -rf ne demande aucune confirmation : vérifier le chemin avant d'exécuter.
B. Trouver les fichiers
which ls # localise un binaire présent dans $PATH
locate hosts # recherche via une base indexée (updatedb)
find / -name "hosts" # recherche flexible selon de nombreux critères
💡 locate est rapide mais dépend de l'index : lancer updatedb pour le rafraîchir. find parcourt le disque en direct (plus lent mais toujours à jour).
Exemples find
# Chercher par nom, en masquant les erreurs (permission denied)
find / -name "hosts" 2>/dev/null
# Tous les fichiers (pas dossiers) dépassant 1000 Mo
find / -type f -size +1000M
💡
grep -lne renvoie que le nom des fichiers correspondants.\;clôt une instruction-exec. Le/indique qu'on cherche depuis la racine. Les2>/dev/nulljettent les erreurs (ex : on ne peut pasgrepun dossier).

C. Montage de device
Pour accéder à un device, il doit être rattaché à un répertoire : c'est le montage.
mount /dev/sdb1 /mnt # monter le device sur /mnt (ex : clé USB = souvent sdb1)
findmnt # afficher tous les devices montés
lsblk # voir les block devices (montés ou non)
umount /mnt # démonter
💡 Pour un montage persistant au reboot, ajouter une ligne dans /etc/fstab (objectif EX200, voir module stockage).
D. Les liens (links)
Pointeurs vers d'autres emplacements (principe du raccourci). Linux distingue hard links et symbolic links.
ln cible nom_lien # hard link
ln -s cible nom_lien # lien symbolique (soft link)
ls -il # lister avec les inodes
Comprendre :
- L'inode est l'administration du fichier ; il pointe vers le block (localisation réelle des données).
- Un hard link = un nom supplémentaire associé au même inode (on peut en avoir plusieurs).
- Un lien symbolique pointe vers un nom/chemin et a son propre inode.
| Hard link | Lien symbolique | |
|---|---|---|
| Inode | Même que l'original | Inode différent |
| Si l'original est supprimé | Reste valide (les données survivent tant qu'un hard link existe) | Devient cassé (dangling) |
| Traverser des filesystems | Non | Oui |
💡 Dans ls -l, un l en première colonne des droits indique un lien symbolique.
E. L'archivage (tar)
Sert à archiver, compresser, extraire ou lister.
tar -cvf monarchive.tar /home/etc # créer (c) une archive
tar -tvf monarchive.tar # lister (t) le contenu
tar -xvf monarchive.tar # extraire (x) dans le répertoire courant
Options de compression (à placer avec -c) :
| Option | Outil | Extension | Caractéristique |
|---|---|---|---|
-z |
gzip | .tar.gz |
Le plus courant, le plus rapide |
-j |
bzip2 | .tar.bz2 |
Compression intermédiaire |
-J |
xz | .tar.xz |
Meilleur taux de compression |
tar -czvf archive.tar.gz /home/etc # archive + gzip
tar -cjvf archive.tar.bz2 /home/etc # archive + bzip2
tar -cJvf archive.tar.xz /home/etc # archive + xz
F. Gestion des textes
more fichier # affichage page par page
less fichier # navigation avant/arrière (plus complet que more)
head -n 5 fichier# 5 premières lignes (10 par défaut)
tail -n 5 fichier# 5 dernières lignes (10 par défaut)
tail -f fichier # suivre un fichier en temps réel (logs)
cat fichier # afficher (-A non-imprimables, -b numérote, -s compresse lignes vides)
Filtrer et transformer
cut -d: -f1 /etc/passwd # colonne 1 (séparateur ':')
cut -d: -f1 /etc/passwd | sort # + tri
echo hello | tr a-z A-Z # translate : affiche HELLO
grep -v motif fichier # exclure les lignes contenant motif
grep -A5 -B4 motif fichier # 5 lignes après + 4 avant le match
grep -R -i motif /etc # -R récursif dans l'arbo, -i insensible à la casse
Regular expressions (BRE)
| Pattern | Sens | Exemple |
|---|---|---|
^ |
début de ligne | grep '^hamid' fichier |
$ |
fin de ligne | grep 'bash$' fichier |
\b |
limite de mot | grep 'hamid\b' (exclut « hamida ») |
\{3\} |
n occurrences | grep 'bo\{3\}t' → trouve « booot » |
* |
0 fois ou plus |
Extended regex (ERE, grep -E)
| Pattern | Sens |
|---|---|
+ |
une fois ou plus |
? |
zéro ou une fois |
. |
un caractère quelconque |
| |
alternance (ceci OU cela) |
grep -E 'colou?r' fichier # 'color' ou 'colour'
awk — extraction par colonnes
awk -F: '{print $4}' /etc/passwd # 4e colonne (séparateur ':')
awk -F: '/hamid/ {print $4}' /etc/passwd # 4e colonne des lignes contenant 'hamid'
awk -F: '{print $NF}' /etc/passwd # dernière colonne ($NF = number of fields)
sed — remplacement de texte
sed -n '5p' /etc/passwd # imprimer (p) uniquement la ligne 5
sed -i 's/old/new/g' myfile # remplacer old par new partout (g=global), -i en place
sed -i -e '10d' myfile # supprimer (d) la ligne 10
🚨 sed -i modifie le fichier directement sur le disque : tester d'abord sans -i pour visualiser le résultat.
G. L'utilisateur root & sudo
- L'UID 0 est celui de root (administrateur) : accès total au système (opère au plus près du kernel).
su - nom # devenir 'nom' (avec son environnement)
su - # devenir root
sudo -i # ouvrir un shell root
sudo commande # exécuter une commande en tant que root
Configuration sudo
visudo # éditer /etc/sudoers en toute sécurité (vérif syntaxe)
Dans le fichier sudoers :
%wheel ALL=(ALL) ALL # tout le groupe wheel a sudo
%wheel ALL=(ALL) NOPASSWD: ALL # 🚨 NE PAS activer : sudo sans mot de passe
Defaults timestamp_timeout=60 # ne redemande pas le mot de passe pendant 60 min
student ALL=/sbin/useradd # 'student' n'a sudo que pour useradd
%users ALL=/bin/mount /dev/sdb # le groupe users autorisé à monter sdb
usermod -aG wheel student # ajouter student au groupe wheel (sudo)
💡 Pour rester organisé, créer des fichiers par utilisateur dans /etc/sudoers.d/ :
# /etc/sudoers.d/hamid
hamid ALL=/usr/bin/passwd, !/usr/bin/passwd root # passwd autorisé SAUF pour root
H. SSH (Secure Shell)
- Activé par défaut via le service sshd.
systemctl status sshd # état du service SSH
ssh user@IP # se connecter (root souvent désactivé pour SSH)
💡 Authentification par clés recommandée : ssh-keygen puis ssh-copy-id user@IP.
I. Gestion des utilisateurs
Les comptes donnent aux personnes/processus l'accès aux ressources : les processus utilisent des comptes système, les personnes des comptes utilisateur.
Propriétés dans /etc/passwd :
Name:Passwd:UID:GID:GECOS:DIRECTORY:SHELL
- UID : id utilisateur — GID : id du groupe primaire — GECOS : infos complémentaires — SHELL : programme lancé après authentification réussie.
/etc/shadow: contient le mot de passe chiffré.
useradd nom # créer un utilisateur
usermod nom # modifier
userdel nom # supprimer
passwd nom # définir/changer le mot de passe
Exemples
useradd lori -u 2000 -s /sbin/nologin # UID 2000, shell nologin
userdel -r lori # supprime aussi /home et le mail spool
Réglages par défaut
useradd -D # afficher les valeurs par défaut
vi /etc/login.defs # paramètres globaux (UID min/max, expiration mdp...)
vi /etc/default/useradd # défauts spécifiques à useradd
/etc/skel: tout fichier placé ici est copié dans le/homede chaque nouvel utilisateur.
Limiter les accès
usermod -L hamid # verrouiller le compte
usermod -U hamid # déverrouiller
usermod -e 2024-01-01 hamid # date d'expiration du compte
usermod -s /sbin/nologin hamid# empêcher la connexion (shell nologin)
J. Gestion des groupes
- Chaque utilisateur appartient à au moins un groupe (le groupe primaire, défini dans
/etc/passwd). - Les groupes secondaires sont gérés via
/etc/group.
id user # voir UID/GID et groupes de l'utilisateur
groupadd nom # créer un groupe
groupdel nom # supprimer
groupmod nom # modifier
lid -g groupe # lister les membres d'un groupe
usermod -aG groupe user # ajouter user à un groupe secondaire (⚠️ ne pas oublier -a)
🚨 usermod -G sans -a remplace la liste des groupes secondaires (retire l'utilisateur des autres). Toujours utiliser -aG pour ajouter.
K. Gestion des mots de passe
- Stockés chiffrés dans
/etc/shadow. - Exigences de base dans
/etc/login.defs; règles avancées via PAM (Pluggable Authentication Modules).
chage user # gérer l'expiration / âge du mot de passe (interactif)
chage -l user # afficher les paramètres d'expiration
Astuces (scripting)
echo password | passwd --stdin anna # définir le mot de passe sans prompt
passwd -l user # verrouiller le mot de passe d'un compte
Pendant l'examen, réflexe : commande --help pour retrouver les options.
L. Les permissions (UGO)
Chaque fichier a un User owner, un Group owner et Others : UGO.
ls -l # afficher les permissions
chown user fichier # changer le propriétaire
chown user:group fichier
chown :group fichier # changer seulement le groupe
chgrp groupe fichier # changer le groupe
Read / Write / Execute

- Valeurs : 4 (read), 2 (write), 1 (execute).
- 💡 Utiliser
X(majuscule) sur un dossier applique l'exécution aux dossiers uniquement, pas aux fichiers ordinaires (évite de rendre les fichiers exécutables).
chmod 750 fichier # 7=rwx (user), 5=r-x (group), 0=--- (others)
chmod +x fichier # ajouter execute à tout le monde
chmod g+w fichier # write au groupe
chmod u-w fichier # retirer write au propriétaire
Dossier partagé : SGID & Sticky bit
- SGID (
g+s) sur un dossier : tous les fichiers créés héritent du groupe du dossier (utile pour le partage en équipe). - Sticky bit (
+t) sur un dossier : seul le propriétaire d'un fichier peut le supprimer (cf./tmp).
chmod g+s dossier # SGID
chmod +t dossier # sticky bit
chmod 3770 dossier # 3 = SGID(2)+sticky(1), rwx user & group, rien pour others
Permissions par défaut & umask
- Valeurs de base : fichiers 666 (
rw-rw-rw-), dossiers 777 (rwxrwxrwx). - L'umask retranche des permissions : droits effectifs = défaut − umask.

umask # afficher l'umask courant
umask 027 # exemple : fichiers → rw-r----- , dossiers → rwxr-x---
💡 Pour rendre un umask permanent : l'ajouter dans /etc/bashrc (global) ou ~/.bashrc (par utilisateur). Recharger sans rouvrir le shell :
source ~/.bashrc # ou : . ~/.bashrc
M. Configuration réseau
- IPv6 : attribution via DHCPv6 ou SLAAC (paquet
radvdcôté routeur). - BIOS Device Name : nom d'interface prédictible basé sur l'emplacement matériel (ex :
ens33,enp0s3).
Résolution de noms / hostname
hostnamectl set-hostname client.example.com # définir le nom de la machine
| Fichier | Rôle |
|---|---|
/etc/hostname |
Nom d'hôte persistant |
/etc/hosts |
Résolution de noms locale (statique) |
/etc/resolv.conf |
Configuration du client DNS (nameservers) |
/etc/nsswitch.conf |
Ordre de résolution (ligne hosts:) |
La commande ip
Remplace l'ancienne ifconfig. Sert surtout au test / troubleshooting (la config persistante passe par NetworkManager).
ip addr # propriétés d'adresses
ip addr add 10.0.0.10/24 dev ens33 # ajouter une IP (non persistant)
ip link # propriétés des interfaces (couche 2)
ip -s link # avec statistiques
ip route # table de routage
ip route add default via 10.0.0.1 # route par défaut
ip route add 2.2.2.0/24 via 10.0.0.1 # route vers un réseau
🚨 Les changements via ip sont volatils (perdus au reboot). Pour du persistant, utiliser nmcli.
NetworkManager (nmcli / nmtui)
- Config stockée dans
/etc/NetworkManager/system-connections/(anciennement/etc/sysconfig/network-scripts/). - Les devices = interfaces ; connection = profil de configuration.
systemctl status NetworkManager
nmcli con show # connexions configurées
nmcli dev status # état des interfaces
# Ajouter une connexion statique
nmcli con add type ethernet con-name maconnexion ifname ens33 \
ipv4.addresses 10.0.0.10/24 ipv4.gateway 10.0.0.1 ipv4.method manual
nmcli con up maconnexion # activer la connexion
nmcli con show maconnexion # voir les réglages
nmcli con mod maconnexion ... # modifier
nmcli con reload # recharger après modification de fichier
💡 nmtui : interface texte (créer → activer → appliquer). On peut y ajouter des IP secondaires.
Troubleshooting réseau
ping -c 4 serveur # envoyer 4 paquets puis stopper
ping6 2001::210 # ping en IPv6
ping6 ff02::1%ens33 # link-local v6 : préciser le NIC obligatoire
ip route # table de routage v4
ip -6 route # table de routage v6
tracepath serveur # chemin réseau complet
tracepath6 serveur
ss -tu # sockets TCP/UDP
ss -tuna # + numériques + en écoute
ss -tunap # + processus associés (PID/programme)
N. Operate Running Systems (renvoi)
La partie EX200 « operate running systems » (processus ps/top/kill, signaux, services systemctl/units/targets, journaux journalctl, logiciels dnf/rpm, planification cron/timers/at, timedatectl) est traitée dans sa fiche dédiée.
🔗 Voir fiche 4 - Administrer les tâches (systemd, services, journald, cron).
Sources : Red Hat EX200 — exam objectives