Introduction à Linux Serveur
Linux est un système d'exploitation open source, principalement utilisé pour les serveurs en raison de sa stabilité, sécurité et flexibilité. En tant qu'étudiant en BTS SIO SISR, comprendre et maîtriser Linux est essentiel pour gérer des infrastructures informatiques modernes. Ce cours aborde les éléments fondamentaux de l'administration de serveurs Linux, en vous fournissant des connaissances pratiques et théoriques.
Architecture de Linux
Noyau (Kernel)
Le noyau est le cœur du système d'exploitation. Il gère les ressources matérielles (CPU, mémoire, périphériques) et les processus. Le noyau est responsable de l'allocation des ressources aux différents programmes en cours d'exécution et assure leur communication.
Exemple concret : Lorsqu'un utilisateur exécute une application, le noyau décide combien de mémoire et de temps processeur l'application peut utiliser. Cela garantit une utilisation optimale des ressources.
Système de fichiers
Linux utilise un système de fichiers hiérarchique, où tout commence à la racine `/`. La structure des répertoires est essentielle pour l'organisation et la gestion des fichiers. Les répertoires principaux incluent :
- `/home` : Répertoires des utilisateurs, où chaque utilisateur a son propre espace de travail.
- `/etc` : Contient les fichiers de configuration du système et des services. Par exemple, la configuration de la connexion réseau.
- `/var` : Contient des fichiers variables tels que les logs (journaux) et les bases de données. Ces fichiers changent fréquemment, d'où leur emplacement dans ce répertoire.
Définition : Le système de fichiers est la manière dont les fichiers sont organisés et stockés sur un disque. Une bonne compréhension de cette structure est essentielle pour naviguer efficacement dans le système.
Commandes de base
Gestion des fichiers
La gestion des fichiers est cruciale pour toute administration système. Voici quelques commandes de base :
- `ls` : Lister les fichiers et répertoires. Par exemple, `ls -l` affiche les détails des fichiers, y compris leurs permissions.
- `cd` : Changer de répertoire. Par exemple, `cd /home/utilisateur` vous amène dans le répertoire de l'utilisateur.
- `cp` : Copier des fichiers. Par exemple, `cp fichier.txt /chemin/du/nouveau/repertoire/` copie `fichier.txt` dans le nouveau répertoire.
- `mv` : Déplacer ou renommer des fichiers. Par exemple, `mv fichier.txt nouveau_fichier.txt` renomme le fichier.
- `rm` : Supprimer des fichiers. Utilisez `rm -r dossier/` pour supprimer un dossier et son contenu.
Cas pratique : Créez un répertoire nommé `projet` dans votre dossier personnel, puis créez un fichier texte à l'intérieur et déplacez-le dans un sous-répertoire. Cela vous familiarisera avec la gestion des fichiers.
Gestion des utilisateurs
La gestion des utilisateurs est essentielle pour la sécurité et l'organisation du système :
- `adduser nom_utilisateur` : Ajouter un utilisateur avec un répertoire personnel.
- `passwd nom_utilisateur` : Changer le mot de passe d'un utilisateur.
- `deluser nom_utilisateur` : Supprimer un utilisateur du système.
Cas pratique : Créez un nouvel utilisateur pour un projet spécifique et configurez ses permissions d'accès aux fichiers. Par exemple, créez un utilisateur nommé `dev` et donnez-lui accès à un répertoire de projet.
Gestion des groupes
Les groupes permettent de gérer les permissions d'accès de manière collective. Pour créer un groupe, utilisez la commande :
- `addgroup nom_groupe` : Créer un nouveau groupe.
Pour ajouter un utilisateur à un groupe, utilisez :
- `usermod -aG nom_groupe nom_utilisateur` : Ajoute `nom_utilisateur` au groupe `nom_groupe`.
Exemple concret : Dans un environnement de travail collaboratif, si plusieurs utilisateurs doivent avoir accès à un répertoire partagé, vous pouvez créer un groupe `devs` et ajouter tous les développeurs à ce groupe pour simplifier la gestion des droits d'accès.