Organisation
Linux est un système d'exploitation conçu pour être à la fois puissant et flexible, et son organisation reflète ces caractéristiques. L'organisation de Linux comprend la structure du système de fichiers, le fonctionnement des utilisateurs et des permissions, ainsi que les services et processus qui rendent le système opérationnel. Voici un aperçu des principales composantes qui définissent l'organisation de Linux.
1. Structure du Système de Fichiers Linux
Le système de fichiers de Linux est organisé d'une manière spécifique et hiérarchique. Il commence à la racine, représentée par /, et tous les fichiers et répertoires du système sont organisés sous cette racine.
Voici les principaux répertoires dans l'organisation de Linux :
/(racine): Le point de départ de la hiérarchie des fichiers. Tous les fichiers et dossiers se trouvent sous ce répertoire./bin: Contient les fichiers binaires essentiels. Ce répertoire contient des commandes fondamentales, commels,cp,mv, etc., nécessaires pour le fonctionnement de base du système./boot: Contient les fichiers nécessaires au démarrage du système, tels que le noyau et le chargeur de démarrage (GRUB)./dev: Contient des fichiers de périphériques qui permettent au système de communiquer avec les différents matériels (comme les disques, les imprimantes, etc.). Chaque périphérique est représenté comme un fichier dans ce répertoire./etc: Contient les fichiers de configuration du système. C'est ici que se trouvent les paramètres de configuration des services et des applications installées, par exemple/etc/hostnamepour le nom de la machine./home: Contient les répertoires personnels des utilisateurs. Chaque utilisateur possède son propre dossier sous/home(par exemple,/home/alice)./lib: Contient les bibliothèques partagées nécessaires aux programmes situés dans/binet/sbin./mntet/media: Utilisés pour monter des systèmes de fichiers externes, tels que des clés USB ou des disques durs externes./opt: Répertoire destiné aux logiciels additionnels qui ne font pas partie de la distribution standard. Souvent utilisé pour installer des applications tierces./proc: Un système de fichiers virtuel qui contient des informations sur les processus en cours. Par exemple,/proc/cpuinfodonne des informations sur le processeur./root: Le répertoire personnel de l'utilisateur root (l'administrateur)./sbin: Contient des binaires essentiels pour l'administration du système, souvent réservés à l'utilisateur root./tmp: Répertoire pour les fichiers temporaires. Ce répertoire est souvent vidé lors du redémarrage du système./usr: Contient les utilitaires et les applications utilisateur. On y trouve des sous-répertoires tels que/usr/bin(pour les programmes) et/usr/share(pour les fichiers partagés)./var: Contient des données variables, comme les journaux du système (/var/log), les fichiers de spool (tels que les emails) et les fichiers temporaires nécessitant une durée de conservation plus longue que ceux dans/tmp.
2. Fonctionnement des Utilisateurs et Permissions
Linux est un système multi-utilisateur, ce qui signifie que plusieurs utilisateurs peuvent travailler simultanément sur la même machine sans interférer les uns avec les autres. Chaque utilisateur a son propre répertoire personnel sous /home et ses propres permissions d'accès aux fichiers.
a. Types d'Utilisateurs
Utilisateur Standard: Un utilisateur normal avec des permissions limitées. Il ne peut pas apporter de modifications importantes au système.
Superutilisateur (root): L'administrateur du système qui a toutes les permissions. L'utilisateur
rootpeut tout faire sur le système.
b. Permissions
Les permissions sous Linux déterminent qui peut lire, écrire ou exécuter un fichier. Chaque fichier ou dossier a trois types de permissions :
Lecture (
r): L'utilisateur peut lire le fichier ou voir le contenu du dossier.Écriture (
w): L'utilisateur peut modifier le fichier ou ajouter/supprimer des fichiers dans le dossier.Exécution (
x): L'utilisateur peut exécuter le fichier (dans le cas d'un script ou d'un programme).
Les permissions sont définies pour trois catégories d'utilisateurs :
Propriétaire: L'utilisateur qui possède le fichier.
Groupe: Les membres du groupe propriétaire du fichier.
Autres: Tous les autres utilisateurs.
Par exemple, une ligne de permission comme -rwxr-xr-- signifie :
Propriétaire: Lire, écrire, exécuter (
rwx)Groupe: Lire, exécuter (
r-x)Autres: Lire (
r--)
Pour changer les permissions, on utilise la commande chmod. Pour changer le propriétaire ou le groupe d’un fichier, on utilise chown.
3. Processus et Services
Sous Linux, chaque programme en cours d'exécution est un processus. Un processus peut être lancé par l'utilisateur ou par le système lui-même.
a. Gestion des Processus
PID (Process ID): Chaque processus a un identifiant unique appelé PID.
ps: Affiche la liste des processus en cours d'exécution.ps auxtop: Affiche en temps réel les processus qui consomment le plus de ressources.topkill: Permet de terminer un processus à partir de son PID.kill 1234
b. Services
Un service est un processus qui fonctionne en arrière-plan pour fournir des fonctionnalités particulières, comme la gestion des connexions réseau, les bases de données, etc. Les services sont souvent gérés par un démon (un processus de fond qui attend des requêtes).
systemctl: Utilisé pour gérer les services sur les systèmes utilisant systemd.systemctl start nom_du_service systemctl stop nom_du_service systemctl status nom_du_service
4. Les Fichiers de Configuration
Les fichiers de configuration sous Linux sont généralement des fichiers texte, ce qui permet une modification facile avec un éditeur de texte comme nano ou vim. Ces fichiers se trouvent principalement dans le répertoire /etc.
Exemples de fichiers de configuration :
/etc/fstab: Définit les systèmes de fichiers montés automatiquement au démarrage./etc/hostname: Contient le nom de l'ordinateur./etc/passwd: Contient des informations sur les utilisateurs du système./etc/shadow: Contient des informations sur les mots de passe des utilisateurs, généralement sous forme chiffrée.
5. Les Packages et Logiciels
Sous Linux, les logiciels sont souvent installés via un gestionnaire de paquets qui simplifie l’installation, la mise à jour et la suppression des programmes.
APT (Advanced Package Tool): Utilisé sur les distributions basées sur Debian (comme Ubuntu).
sudo apt update sudo apt install nom_du_paquetYUM/DNF: Utilisé sur les distributions basées sur Red Hat (comme Fedora).
sudo dnf install nom_du_paquetPacman: Utilisé sur Arch Linux.
sudo pacman -S nom_du_paquet
Les paquets contiennent non seulement le logiciel, mais aussi les dépendances dont il a besoin pour fonctionner correctement.
6. Les Logiques de Sécurité
Linux est réputé pour sa sécurité grâce à son système de permissions strict, mais il inclut également d'autres mécanismes de sécurité :
SELinux (Security-Enhanced Linux) : Fournit des politiques de sécurité supplémentaires pour renforcer le contrôle d'accès.
AppArmor: Une autre approche de sécurité pour isoler les programmes et limiter les accès au système.
UFW (Uncomplicated Firewall): Un outil de pare-feu simple à utiliser pour sécuriser les connexions réseau.
Conclusion
L'organisation de Linux est conçue pour maximiser la sécurité, la flexibilité, et l'efficacité. La hiérarchie du système de fichiers permet de bien structurer les données, tandis que les permissions et la gestion des utilisateurs assurent une protection adéquate des ressources. La capacité de personnaliser le système via des fichiers de configuration en texte clair rend Linux extrêmement modulaire et adaptable.