0% ont trouvé ce document utile (0 vote)
28 vues27 pages

Exploration de Linux et ses distributions

Transféré par

manuel.kenne
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats ODT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
28 vues27 pages

Exploration de Linux et ses distributions

Transféré par

manuel.kenne
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats ODT, PDF, TXT ou lisez en ligne sur Scribd

[Attirez votre lecteur avec un résumé

attrayant. Il s’agit généralement d’une


brève synthèse du document. Lorsque
vous êtes prêt à ajouter votre contenu,
cliquez ici et commencez à taper.]

EXPOSE
PROGRAM
MTION
SYSTEME
[Sous-titre du
document]

[Nom de l’auteur]
RÉPUBLIQUE DU CAMEROUN REPUBLIC OF CAMEROON
Paix-Travail-Patrie Peace- Work-Fatherland
****** ******
UNIVERSITE DE YAOUNDE I UNIVERSITY OF YAOUNDE I
****** ******
ECOLE NATIONALE SUPERIEURE NATIONAL ADVANCED SCHOOL OF
POLYTECHNIQUE DE YAOUNDE ENGINEERING OF YAOUNDE (ENSPY)
(NASEY) ******
******
BP 8390 Tel/Fax: 222 22 45 47 BP 8390 Tel/Fax: 222 22 45 47
Yaoundé, Cameroun Yaoundé, Cameroon

EXPOSE DE
PROGRAMMATION SYSTEME

THEME : Exploration de Linux et de ses


Distributions : Architecture, Fonctionnement et
Applications
PROF: MR. DJIONANG
MEMBRE DE GROUPE :

NGUI FRANCK STEVE : 22P017 (CHEF)


NEUSSI PATRICE : 24P820
BILOA [Link]
2 PAOLO : 22P009
DOUANLA BRUNA : 22P025
DJITOU LOIC 2024/2025
Sommaire :
Introduction
1- Histoire de Linux
2- Différences entre Linux et autres systèmes d'exploitation
3- Distributions de Linux (exemples : Ubuntu, Fedora, CentOS)

I- Architecture de Linux

1 -Composants principaux : noyau, shell, systèmes de


fichiers
2- Modèle client-serveur
II- Gestion des fichiers sous Linux

1- Systèmes de fichiers
2- Commandes de gestion de fichiers (cp, mv, rm)
III- Gestion des processus sous Linux

1- Création et gestion des processus


2- Commandes de surveillance des processus (ps, top, kill)
IV- Gestion de la mémoire sous Linux

1- Allocation et utilisation de la mémoire


2- Commandes de gestion de la mémoire (free, vmstat)
V- Commandes de base de Linux

1- Commandes de navigation (cd, ls, pwd)


2- Commandes d'affichage de contenu (cat, less, head, tail)
VI- Commandes avancées et scripts shell

1- Commandes de gestion des utilisateurs et permissions (useradd, chmod)


2- Introduction aux scripts shell
a. Exemples de scripts simples
VII- Sécurité et gestion des systèmes sous Linux

a. Concepts de base de la sécurité sous Linux


b. Outils de surveillance système (netstat, top)
c. Sauvegarde et restauration des données

Conclusion

p. 3
Introduction

Le système
d'exploitation Linux occupe
aujourd'hui une place
incontournable dans le monde
de l'informatique. Utilisé à travers
divers secteurs, des serveurs aux
ordinateurs personnels, en passant par les appareils
mobiles et les supercalculateurs, Linux est reconnu pour sa
robustesse, sa flexibilité et sa sécurité. Son histoire
remonte aux années 1990, lorsqu'un étudiant en
informatique, Linus Torvalds, a entrepris de créer un noyau
de système d'exploitation accessible et gratuit, qui serait
rapidement adopté par une communauté de développeurs
du monde entier. En 1991, la première version du noyau
Linux a été publiée sous une licence open source,
marquant le début d'un projet collaboratif mondial.
Ce modèle de développement ouvert et communautaire est
l'une des raisons pour lesquelles Linux est aujourd'hui
stable et sécurisé, tout en restant adaptable aux avancées
technologiques. Contrairement aux systèmes d'exploitation
propriétaires tels que Windows et macOS, Linux offre un
code source librement disponible, permettant à chacun de
le consulter, de le modifier et de le redistribuer. Cette
transparence, couplée à une gestion rigoureuse des
permissions et de la sécurité, fait de Linux un
environnement multi-utilisateur particulièrement résistant
aux virus et aux attaques.
p. 4
Un autre atout majeur de Linux est sa modularité et sa
personnalisation. Les utilisateurs peuvent installer
uniquement les éléments dont ils ont besoin, ce qui le rend
particulièrement populaire dans les environnements
serveurs et les appareils embarqués, où les ressources
peuvent être limitées. Cette flexibilité se traduit également
par la diversité des distributions, ou "distros", qui
composent l'écosystème Linux. Chaque distribution,
comme Ubuntu, Fedora ou CentOS, est conçue pour
répondre à des besoins spécifiques, que ce soit pour un
usage personnel, professionnel ou dans un cadre de
développement.
Ainsi, Linux ne se limite pas à un simple système
d'exploitation ; il s'agit d'une plateforme dynamique qui
permet aux utilisateurs d'explorer, d'innover et de créer
des solutions adaptées à leurs besoins. En s'engageant
dans l'apprentissage de Linux, les professionnels de
l'informatique se dotent de compétences précieuses qui
leur ouvrent des portes dans un monde technologique en
constante évolution.

p. 5
I - Architecture de Linux

L’architecture de Linux repose sur une structure modulaire et


bien organisée, conçue pour assurer robustesse, flexibilité, et efficacité.
Comprendre les différents composants principaux de Linux, ainsi que le
modèle client-serveur, est essentiel pour maîtriser le fonctionnement de ce
système d’exploitation open source.

1- Composants principaux : Noyau, Shell, Systèmes de Fichiers


Noyau (Kernel)
Le noyau est le cœur de Linux, responsable de la gestion des ressources et
de la communication entre le matériel et les logiciels. C’est lui qui contrôle
l’allocation de la mémoire, la gestion des processus, l’accès aux
périphériques (comme le disque dur et le réseau), et assure la sécurité du
système. Le noyau fonctionne en mode privilégié, garantissant que seules
les opérations nécessaires et autorisées puissent accéder aux parties
critiques du système.
p. 6
Le noyau Linux est monolithique, ce qui signifie que toutes les fonctions
principales du système sont intégrées directement dans le noyau. Toutefois,
il supporte des modules, qui sont des extensions pouvant être ajoutées
dynamiquement sans redémarrer le système. Cela permet de maintenir un
système flexible et de charger des pilotes ou d’autres fonctionnalités
spécifiques au besoin.

Shell
Le shell est l’interface utilisateur de Linux, permettant d’interagir avec le
noyau et le système via des commandes. Le shell peut être considéré
comme un interpréteur de commandes, capable de lire les instructions de
l’utilisateur et de les traduire en opérations exécutables par le noyau. Il
existe plusieurs types de shell sous Linux, chacun avec ses propres
caractéristiques, comme Bash (Bourne Again Shell), Zsh, et Ksh.
Les utilisateurs peuvent exécuter des commandes simples ou complexes,
créer des scripts pour automatiser des tâches, et configurer
l’environnement de manière personnalisée. Le shell joue ainsi un rôle
crucial dans la flexibilité et la puissance de Linux, offrant une interaction
directe avec le système.

Systèmes de Fichiers
Les systèmes de fichiers sous Linux définissent la manière dont les
données sont stockées et organisées sur les disques. Linux prend en charge
différents types de systèmes de fichiers, dont les plus courants sont ext4
(utilisé par défaut sur la plupart des distributions Linux), XFS, et Btrfs. Le
système de fichiers hiérarchise les données sous forme d'arborescence, où
tous les fichiers et dossiers sont organisés sous le répertoire racine (/),
quel que soit le périphérique de stockage.
Chaque fichier ou dossier dans Linux possède des permissions qui
définissent qui peut lire, écrire ou exécuter ce fichier. La gestion
rigoureuse des permissions est l'un des éléments contribuant à la sécurité
du système.

2- Modèle Client-Serveur
Le modèle client-serveur est une architecture essentielle pour les systèmes
Linux, en particulier dans les environnements réseau. Ce modèle repose
p. 7
sur la communication entre deux entités : le client, qui initie les requêtes,
et le serveur, qui fournit les services demandés.
Sous Linux, de nombreux services et applications fonctionnent selon ce
modèle. Par exemple :
 Serveurs web : comme Apache ou Nginx, qui servent des pages web
aux navigateurs.
 Serveurs de bases de données : comme MySQL ou PostgreSQL,
qui répondent aux requêtes des applications pour stocker et
récupérer des données.
 Serveurs SSH : pour une connexion sécurisée et distante vers une
machine Linux, permettant aux utilisateurs d’interagir avec le
système de manière sécurisée via le réseau.
Ce modèle est très flexible et permet une évolutivité : plusieurs clients
peuvent se connecter à un même serveur, et les serveurs peuvent être
configurés pour gérer une grande quantité de connexions simultanées. Le
modèle client-serveur est également conçu pour être sécurisé, chaque
requête client passant par des protocoles de vérification et des permissions
strictes avant d'accéder aux ressources du serveur.

p. 8
II - Gestion des fichiers sous Linux
La gestion des fichiers est une composante essentielle de Linux, qui
permet d’organiser, manipuler et contrôler l'accès aux données de manière
efficace et sécurisée. Elle repose sur un système de fichiers structuré en
hiérarchie et sur une série de commandes permettant de naviguer et de
manipuler les fichiers au quotidien.

p. 9
1- Systèmes de Fichiers
Les systèmes de fichiers sous Linux définissent la manière dont les
données sont stockées, organisées et accédées sur les supports de stockage.
Contrairement à certains systèmes d’exploitation, Linux prend en charge
divers systèmes de fichiers, chacun ayant des caractéristiques adaptées à
différents besoins :

- ext4 : C’est le système de fichiers le plus couramment utilisé dans les


distributions Linux modernes. Il est performant, fiable, et compatible avec
des fonctionnalités avancées comme le journaling, qui permet de
minimiser les risques de corruption en cas de panne.
- XFS : Utilisé pour des environnements nécessitant de hautes
performances d'entrée/sortie, XFS est souvent adopté pour les serveurs et
les systèmes de traitement de données massives.
- Btrfs : Conçu pour fournir des fonctionnalités avancées, comme la prise
de snapshots et la compression, Btrfs est particulièrement adapté aux
environnements nécessitant de la flexibilité et une gestion de stockage
dynamique.
- NTFS/FAT32 : Bien que conçus pour Windows, ces systèmes de fichiers
sont également supportés dans Linux pour assurer la compatibilité avec
des disques et périphériques externes.

Chaque système de fichiers sous Linux organise les données sous une
hiérarchie en forme d’arborescence, avec le répertoire racine (`/`) à la base.
Cette organisation permet une structure claire et un accès rapide aux
fichiers et répertoires.

2- Commandes de Gestion de Fichiers :


Linux fournit une gamme de commandes puissantes pour manipuler
les fichiers et dossiers. Voici quelques commandes essentielles pour gérer
les fichiers dans un environnement Linux :

- cp (Copier) : La commande `cp` est utilisée pour copier des fichiers ou


des répertoires. Elle prend en argument la source et la destination :
```bash
cp [Link] destination/
```
Cette commande copie `[Link]` vers le dossier `destination`. Avec
l’option `-r`, on peut copier des répertoires entiers de manière récursive.
p. 10
- mv (Déplacer/Renommer) : La commande `mv` permet de déplacer des
fichiers d'un emplacement à un autre ou de renommer un fichier.
```bash
Mv [Link] nouveau_nom.txt
```
Ici, `mv` renomme `[Link]` en `nouveau_nom.txt`. Si l’on souhaite
déplacer `[Link]` vers un autre répertoire, on peut spécifier ce dernier
comme destination.
- rm (Supprimer) : La commande `rm` permet de supprimer des fichiers.
Elle doit être utilisée avec précaution, car les fichiers supprimés ne sont
pas envoyés dans une "corbeille" et sont donc définitivement effacés.
```bash
rm [Link]
```
Pour supprimer un dossier et son contenu, on utilise l’option `-r` pour
indiquer une suppression récursive :
```bash
rm -r dossier/
```

Ces commandes de base offrent une grande flexibilité pour la gestion des
fichiers dans Linux. Grâce à elles, l’utilisateur peut organiser, sauvegarder,
ou même supprimer des fichiers avec des commandes simples et efficaces,
adaptées à des opérations courantes ou des tâches plus complexes, comme
la gestion de systèmes de fichiers et de disques entiers.

p. 11
III - Gestion des processus sous Linux
p. 12
La gestion des processus est un aspect fondamental de Linux,
permettant aux utilisateurs de créer, surveiller et contrôler les applications
et services en cours d'exécution. Un processus est une instance d’un
programme actif, qui peut être surveillé et manipulé pour optimiser
l'utilisation des ressources du système.

1- Création et Gestion des Processus


- Création de processus : Lorsqu'un programme est exécuté, un nouveau
processus est créé. Dans Linux, cela se fait souvent via la commande `fork
() `, qui crée un processus enfant, ou par l’exécution directe d’une
commande dans le terminal.

- Contrôle des processus : Les processus peuvent être suspendus


(commande `kill -STOP PID`), repris (`kill -CONT PID`), ou terminés
(`kill PID`). Chaque processus possède un PID (identifiant unique),
facilitant sa gestion.

2- Commandes de Surveillance des Processus


- PS : Affiche une liste des processus en cours avec des informations telles
que le PID, l’utilisateur et l’état du processus.
```bash
ps aux
```
- Top : Affiche en temps réel l’utilisation du CPU et de la mémoire par les
processus, permettant de surveiller les performances du système.
```bash
Top
```
- Htop : Version améliorée de `top`, avec une interface plus visuelle et
interactive (doit être installée séparément).
- kill : Permet de terminer un processus en spécifiant son PID.

Ces outils permettent de gérer efficacement l’utilisation des ressources et


de résoudre les problèmes liés aux processus.

p. 13
IV- Gestion de la Mémoire sous Linux
p. 14
La gestion de la mémoire sous Linux est essentielle pour garantir
une utilisation efficace des ressources, ce qui est crucial pour les
performances du système. Linux utilise différents mécanismes pour
allouer, gérer et libérer la mémoire en fonction des besoins des processus
en cours d'exécution.

1- Allocation et Utilisation de la Mémoire

- Mémoire physique et virtuelle : Linux utilise la mémoire physique


(RAM) pour stocker temporairement les données et instructions en cours
d’utilisation. Lorsqu’il y a un manque de RAM, le système peut utiliser la
mémoire virtuelle, située dans une partition dédiée du disque dur appelée
"swap". Le swap aide à compenser le manque de RAM mais est plus lent.

- Gestion de la mémoire par les processus : Chaque processus se voit


allouer une certaine quantité de mémoire. Le noyau gère dynamiquement
l'allocation et la libération de mémoire selon les besoins, ce qui optimise
l'utilisation de la RAM disponible.
- Cache et mémoire tampon : Linux utilise une partie de la RAM pour
stocker les données en cache, afin d'accélérer l'accès aux fichiers
fréquemment utilisés. La mémoire tampon est utilisée pour temporiser les
opérations d'écriture sur le disque.

2- Commandes de Gestion de la Mémoire


- Free : Affiche la quantité de mémoire libre, utilisée, ainsi que la mémoire
en cache et le swap.
```bash
Free -h
```

- Vmstat : Fournit un rapport sur l'utilisation de la mémoire, les processus,


et les entrées/sorties en temps réel.
```bash
vmstat 5
```

p. 15
- Top et Htop : Ces outils montrent en temps réel la consommation de
mémoire par chaque processus, permettant de surveiller et d’optimiser
l'usage des ressources.

- Swapoff/Swapon : Permettent d’activer ou de désactiver la partition


swap. Cela peut être utile pour ajuster l'utilisation de la mémoire en cas de
besoin.
```bash
sudo swapon -s
sudo swapoff -a
```

Ces outils et commandes aident les utilisateurs à contrôler et optimiser la


mémoire, évitant ainsi les ralentissements et assurant la stabilité du
système.

V- Commandes de Base de Linux

p. 16
Les commandes de base sous Linux permettent de naviguer dans les
répertoires, de visualiser le contenu des fichiers et de manipuler les
données. Elles sont essentielles pour quiconque souhaite interagir
efficacement avec le système Linux en ligne de commande.

1- Commandes de Navigation :
- cd (Change Directory) : Permet de naviguer entre les répertoires.
```bash
Cd /chemin/vers/repertoire
```
Utiliser `cd. ` pour revenir au répertoire parent ou `cd ~` pour revenir au
répertoire personnel de l’utilisateur.

- ls : Affiche la liste des fichiers et dossiers dans le répertoire courant.


```bash
Ls
```
Avec des options comme `ls -l` (affichage détaillé) et `ls -a` (affiche les
fichiers cachés), on obtient plus d’informations.

- Pwd (Print Working Directory) : Affiche le chemin complet du


répertoire courant.
```bash
pwd
```
Cela permet de connaître précisément l’emplacement dans lequel on
travaille.

2- Commandes d'Affichage de Contenu :


- cat : Affiche le contenu d’un fichier directement dans le terminal.
```bash
Cat [Link]
```
Utile pour lire rapidement de petits fichiers.

p. 17
- less : Affiche le contenu d’un fichier page par page, permettant une
navigation plus facile dans de grands fichiers.
```bash
less [Link]
```
Utilisez les touches fléchées pour naviguer et `q` pour quitter.

- Head : Affiche les premières lignes d’un fichier (par défaut 10 lignes).
```bash
head [Link]
```
Avec `-n`, on peut spécifier le nombre de lignes (ex : `head -n 5
[Link]`).

- Tail : Affiche les dernières lignes d’un fichier (par défaut 10 lignes).
```bash
tail [Link]
```
L’option `-f` permet de suivre en temps réel l’ajout de lignes dans le
fichier, utile pour surveiller des logs.

Ces commandes permettent d'explorer, d'afficher et de gérer efficacement


les fichiers et répertoires dans un environnement Linux.

p. 18
VI- Commandes Avancées et Scripts Shell

p. 19
Pour des tâches plus complexes, les commandes avancées et les
scripts shell permettent une gestion fine des utilisateurs, des permissions et
de l'automatisation dans un environnement Linux. Voici un aperçu de
commandes et de scripts plus avancés qui introduisent des concepts de
conditionnels, de boucles, et d'optimisation des opérations système.

1- Commandes de Gestion des Utilisateurs et des


Permissions (Avancées)

-Usermod : Modifie les attributs d'un utilisateur existant, comme l’ajout


de groupes supplémentaires ou le changement de répertoire personnel.
```bash
sudo usermod -aG sudo nom_utilisateur
```
Ici, l'option `-aG` ajoute `nom_utilisateur` au groupe `sudo`, lui donnant
des privilèges administratifs.

- Chown : Change le propriétaire et le groupe d'un fichier ou répertoire.


```bash
sudo chown utilisateur:group [Link]
```
Cela est utile pour donner à un utilisateur spécifique la propriété d'un
fichier ou d'un répertoire, en modifiant également le groupe d'accès.

- Find + chmod : Change les permissions de fichiers d'un type particulier


dans un répertoire donné.
```bash
find /chemin -type f -name "*.sh" -exec chmod 755 {} \;
p. 20
```
Cette commande recherche tous les fichiers `.sh` et leur donne les
permissions `755` pour le propriétaire, le groupe et les autres.

2- Introduction aux Scripts Shell (Avancés)

Les scripts shell avancés utilisent des boucles, des conditions et des
variables pour automatiser des tâches complexes. Ils permettent aussi la
gestion de logs, l'exécution conditionnelle et la surveillance du système.

3- Structures de Contrôle et Boucles


- Conditions : Utiliser des `if` et `else` pour ajouter des décisions dans les
scripts.
```bash
If [-f /etc/passwd] ; then
echo "Le fichier passwd existe."
else
echo "Le fichier passwd n'existe pas."
Fin
```

- Boucles : Effectuer des actions répétitives comme le traitement de


plusieurs fichiers ou l'exécution de tâches pour plusieurs utilisateurs.
```bash
For utilisateur in $(cat [Link]) ; do
sudo useradd -m "$utilisateur"
echo "Utilisateur $utilisateur créé."
done
Exemples de Scripts Avancés
1. Script de Sauvegarde avec Date et Rotation

Ce script sauvegarde un répertoire avec une horodatation et conserve


uniquement les 7 dernières sauvegardes, supprimant les plus anciennes
pour économiser l’espace.

```bash
#! /bin/bash
source_dir="/chemin/source"
p. 21
backup_dir="/chemin/sauvegarde"
Date=$(date +%Y-%m-%d)

# Créer une nouvelle sauvegarde avec la date


Tar -czf "$backup_dir/sauvegarde-$[Link]" "$source_dir"

# Supprimer les anciennes sauvegardes (conserver les 7 dernières)


ls -1tr "$backup_dir"/sauvegarde-*.[Link] | head -n -7 | xargs rm -f
echo "Sauvegarde terminée avec rotation des anciens fichiers."

2. Script de Surveillance du Système et Alerte


Ce script surveille l’utilisation de la mémoire et envoie une alerte si
elle dépasse un seuil défini.

```bash
#! /bin/bash
Seuil=80
Utilisation=$(free | grep Mem | awk ‘ {print $3/$2 * 100.0}')

If (($(echo "$utilisation > $seuil" | bc -l))) ; then


echo "Alerte : la mémoire utilisée est de $utilisation% !" | mail -s
"Alerte Mémoire" admin@[Link]
else
echo "Utilisation de la mémoire sous contrôle : $utilisation%"
Fin

3. Script de Vérification des Services et Redémarrage


Automatique
Ce script vérifie si des services critiques (comme Apache et MySQL)
sont en cours d’exécution. Si un service est arrêté, il redémarre
automatiquement.

```bash
#! /bin/bash
Services= ("apache2" "mysql")

For service in "${services [@]} » ; do


If ! systemctl is-active --quiet "$service"; then
p. 22
echo "$service est arrêté. Redémarrage en cours..."
systemctl start "$service"
else
echo "$service est actif."
Fin
done
```
4. Optimisation de la Gestion des Fichiers et Permissions

- Find + xargs : Trouve des fichiers de grande taille et les déplace vers un
dossier d’archivage, avec `xargs` pour une gestion optimisée des
commandes.
```bash
find /chemin -type f -size +100M | xargs -I {} mv {} /chemin/archives
```

- Chmod en fonction de conditions : Applique des permissions basées sur


des conditions complexes. Par exemple, donner l'exécution uniquement
aux scripts créés il y a moins de 30 jours.
```bash
find /chemin -type f -name "*.sh" -mtime -30 -exec chmod +x {} \;
```

VII - Sécurité et Gestion des Systèmes sous Linux

p. 23
La sécurité et la gestion des systèmes sont des aspects cruciaux dans
l'administration des systèmes Linux. La robustesse de Linux contre les
menaces est largement due à sa conception et aux outils disponibles pour
surveiller et maintenir la sécurité des systèmes.

- Concepts de Base de la Sécurité sous Linux


1. Modèle de Permissions : Linux utilise un système de permissions basé
sur trois catégories d'utilisateurs : le propriétaire (user), le groupe (group),
et les autres (others). Chaque fichier et répertoire a des permissions
spécifiques (lecture, écriture, exécution) qui déterminent qui peut faire
quoi.

- Permissions :
- `r` : lecture (read)
- `w` : écriture (write)
- `x` : exécution (execute)

2. Système de Gestion des Utilisateurs : Les utilisateurs sont gérés avec


des comptes qui ont des rôles spécifiques. La création de comptes limités
et la gestion des groupes aident à restreindre l'accès aux ressources
sensibles.

3. Pare-feu : L'utilisation d'un pare-feu comme `iptables` ou `ufw` permet


de contrôler le trafic entrant et sortant sur le système, en bloquant ou en
autorisant les connexions selon des règles définies.

4. Mises à Jour de Sécurité : La mise à jour régulière du système et des


paquets installés est essentielle pour protéger contre les vulnérabilités
connues. Les mises à jour doivent être appliquées dès qu'elles sont
disponibles.

5. Audit et Journalisation : L'utilisation de journaux (`/var/log/`) pour


enregistrer les activités système permet de détecter les anomalies et de
mener des enquêtes sur les incidents de sécurité.

- Outils de Surveillance Système


1. Netstat : Cet outil permet d'afficher les connexions réseau, les tables de
routage, les interfaces réseau et les statistiques des protocoles. Il est utile
pour identifier les connexions actives et détecter des connexions suspectes.
p. 24
```bash
netstat -tuln
```
Cette commande affiche toutes les connexions TCP et UDP actives avec
les ports d'écoute.

2. Top : Un utilitaire de surveillance des processus qui affiche en temps


réel l'utilisation des ressources du système, comme le processeur et la
mémoire. Il permet aux administrateurs de voir quels processus
consomment le plus de ressources.
```bash
Top
```
En appuyant sur `h`, vous pouvez afficher l'aide sur l'utilisation de l'outil.
Pour quitter, appuyez sur `q`.

3. Htop : Une version améliorée de `top`, `htop` offre une interface plus
conviviale et permet de naviguer facilement dans la liste des processus. Il
est souvent installé séparément et peut être utilisé pour effectuer des
actions directement sur les processus.
```bash
htop
```

4. PS : Cet outil permet de lister les processus en cours d'exécution sur le


système. Il peut être utilisé pour obtenir des informations détaillées sur les
processus spécifiques.
```bash
ps aux
```

- Sauvegarde et Restauration des Données


1. Sauvegarde : Il est essentiel de mettre en place une stratégie de
sauvegarde régulière pour protéger les données critiques. Les commandes
`tar` et `rsync` sont couramment utilisées pour créer des sauvegardes.

- **Exemple avec `tar`** :


```bash
Tar -czvf [Link] /chemin/vers/dossier
```
p. 25
Cette commande crée une archive compressée du dossier spécifié.

- **Exemple avec `rsync`** :


```bash
rsync -av --delete /source/ /destination/
```
`rsync` synchronise le contenu d’un répertoire source vers une
destination, ne copiant que les fichiers modifiés et supprimant les fichiers
qui ne sont plus dans le répertoire source.

2. Restauration : En cas de perte de données, il est crucial de pouvoir


restaurer les fichiers à partir des sauvegardes. Par exemple, pour restaurer
une archive créée avec `tar` :
```bash
Tar -xzvf [Link] -C /chemin/de/restauration
```

3. Automatisation des Sauvegardes : Pour garantir que les sauvegardes


sont effectuées régulièrement, il est possible de programmer des tâches à
l'aide de `cron`. Un exemple d'entrée `cron` pour effectuer une sauvegarde
quotidienne à minuit :
```bash
0 0 * * * /chemin/vers/script_sauvegarde.sh
```

La sécurité et la gestion des systèmes sous Linux sont essentielles pour


maintenir l'intégrité et la disponibilité des systèmes d'information. En
combinant des pratiques de sécurité solides, des outils de surveillance
efficaces, et des stratégies de sauvegarde et de restauration appropriées, les
administrateurs peuvent protéger leurs systèmes contre les menaces
potentielles et assurer la continuité des opérations.

Conclusion
L’apprentissage et la maîtrise de Linux constituent une compétence
essentielle pour tout professionnel de l’informatique. À travers cette
exploration des différents aspects de Linux, allant de son histoire et
architecture aux commandes de base et avancées, ainsi qu'à la sécurité et la
p. 26
gestion des systèmes, il est évident que Linux offre une plateforme
puissante et flexible pour le développement et l'administration des
systèmes.
La diversité des distributions de Linux permet aux utilisateurs de choisir
l'environnement qui correspond le mieux à leurs besoins, qu'il s'agisse de
serveurs, de postes de travail ou d'applications spécialisées. La
compréhension de l'architecture matérielle et logicielle de Linux, ainsi que
des concepts fondamentaux tels que la gestion des fichiers, des processus
et de la mémoire, est cruciale pour optimiser les performances et garantir
la sécurité des systèmes.
Les commandes de base et avancées fournissent une interface de
communication directe avec le système, permettant aux utilisateurs de
gérer efficacement les ressources et d'automatiser des tâches grâce aux
scripts shell. Parallèlement, les principes de sécurité et les outils de
surveillance aident à protéger les systèmes contre les menaces, tout en
assurant la sauvegarde et la restauration des données, ce qui est vital pour
la continuité des opérations.
En résumé, Linux est plus qu'un simple système d'exploitation ; c'est un
écosystème dynamique qui permet aux utilisateurs d'explorer, d'innover et
d'optimiser leurs environnements informatiques. En s'engageant dans
l'apprentissage continu de Linux, les professionnels de l'informatique
peuvent développer des compétences précieuses qui leur ouvriront des
portes dans divers domaines technologiques.

p. 27

Vous aimerez peut-être aussi