INFORMATIQUE APPLIQUÉE: CSI 4200
ADMINISTRATION DES SYSTÈMES D’EXPLOITATION
Diomède NZISABIRA
Avant-propos
L’Université Virtuelle Africaine (UVA) est fière de participer à accès à l’éducation dans les pays africains en produisant du matériel d’apprentissage de qualité. Nous sommes également fiers de contribuer à la connaissance globale, pour nos ressources éducatives sont principalement accessibles de l’extérieur du continent africain.
Ce module a été développé dans le cadre d’un programme de diplôme et diplôme en
informatique appliquée, en collaboration avec 18 institutions partenaires dans 16 pays africains.
Un total de 156 modules ont été développés ou traduits pour assurer la disponibilité en anglais, français et portugais. Ces modules sont également disponibles en tant que ressources éducatives ouvertes (OER) à oer.avu.org.
Au nom de l’Université Virtuelle Africaine et notre patron, nos institutions partenaires, la Banque africaine de développement, je vous invite à utiliser ce module dans votre
établissement, pour leur propre éducation, partager aussi largement que possible et participer activement aux communautés AVU de pratique d’intérêt. Nous nous engageons à être à l’avant-garde du développement et de partage ouvert de ressources pédagogiques.
L’Université Virtuelle Africaine (UVA) est une organisation intergouvernementale
panafricaine mis en place par lettre recommandée avec un mandat d’augmenter l’accès à l’enseignement supérieur et de formation de qualité grâce à l’utilisation novatrice des technologies de communication de l’information. Une charte instituant la UVA Organisation intergouvernementale, signée à ce jour par dix-neuf (19) Les gouvernements africains - Kenya, Sénégal, Mauritanie, Mali, Côte d’Ivoire, Tanzanie, Mozambique, République démocratique du Congo, Bénin, Ghana, République de Guinée, le Burkina Faso, le Niger, le Soudan du Sud, le Soudan, la Gambie, la Guinée-Bissau, l’Ethiopie et le Cap-Vert.
Les institutions suivantes ont participé au programme informatique appliquée: (1) Université d’Abomey Calavi au Bénin; (2) University of Ougagadougou au Burkina Faso; (3) Université Lumière Bujumbura Burundi; (4) Université de Douala au Cameroun; (5) Université de
Nouakchott en Mauritanie; (6) Université Gaston Berger Sénégal; (7) Université des Sciences, Techniques et Technologies de Bamako au Mali (8) Institut de la gestion et de l’administration
publique du Ghana; (9) Université des sciences et de la technologie Kwame Nkrumah au Ghana; (10) Université Kenyatta au Kenya; (11) Université Egerton au Kenya; (12) Université d’Addis-Abeba en Ethiopie (13) Université du Rwanda; (14) University of Salaam en Tanzanie Dar; (15) Université Abdou Moumouni Niamey Niger; (16) Université Cheikh Anta Diop au Sénégal; (17) Université pédagogique au Mozambique; E (18) L’Université de la Gambie en Gambie.
Bakary Diallo le Recteur
Université Virtuelle Africaine
Crédits de production
Auteur
Diomede Nzisabira
Pair Réviseur
Cherif Diallo
UVA – Coordination Académique
Dr. Marilena Cabral
Coordinateur global Sciences Informatiques Apliquées
Prof Tim Mwololo Waema
Coordinateur du module
Robert Oboko
Concepteurs pédagogiques
Elizabeth Mbasu Benta Ochola Diana Tuel
Equipe Média
Sidney McGregor Michal Abigael Koyier
Barry Savala Mercy Tabi Ojwang
Edwin Kiprono Josiah Mutsogu
Kelvin Muriithi Kefa Murimi
Victor Oluoch Otieno Gerisson Mulongo
Droits d’auteur
Ce document est publié dans les conditions de la Creative Commons Http://fr.wikipedia.org/wiki/Creative_Commons
Attribution http://creativecommons.org/licenses/by/2.5/
Le gabarit est copyright African Virtual University sous licence Creative Commons Attribution- ShareAlike 4.0 International License. CC-BY, SA
Supporté par
Projet Multinational II de l’UVA financé par la Banque africaine de développement.
Table des matières
Avant-propos 2
Crédits de production 3
Copyright Remarquer 4
Remerciements 5
Aperçu sur du cours 10
Prérequis 10
Matériel 10
Objectif du cours 10
Unités 10
Evaluation 12
Calendrier d’exécution 12
Ressources 12
Unité 0: Prérequis 14
Introduction 14Objectifs 14
Mots-clés: 14
Activité 0 1 : Historique et Philosophie de Linux 14
Introduction 14 0.1.1 Historique 14 0.1.2 Philosophie de Unix 15 Rappel 16 Ressources documentaires 16 Activité 0 2 : Processus d’installation 16
Introduction 16 Résumé de l’unité 16
Évaluation de l’unité 16
0.2.1 Choix de la distribution 17
0.2.2 Partitionnement et système de fichiers 17
0.2.3 Procédure d’installation générique 18
Conclusion : 18
Lectures et autres ressources 19
Evaluation de l’activité : 19
Résumé de l’unité 19
Evaluation de l’unité d’apprentissage 19
Unité 1:Gestion des utilisateurs et des groups 20
Introduction 20Objectifs 20
Activité 1 1: Utilisateur 21
Introduction 21 1.1.1 Hiérarchie des comptes 21 1.1.2 Gestion des utilisateurs 21 Mots Clé 21
1.1.2.1 Création d’un compte d’utilisateur 22 1.1.2.2 Suppression d’un compte d’utilisateur 24 1.1.2.3 Modification d’un compte d’utilisateur : 25 Conclusion 25 Evaluation de l’activité : 25
Activité 1 2 Gestion des groupes 26
Introduction 26 1.2.1 Création d’un groupe 26 1.2.2 Modification d’un groupe 26 1.2.3 Suppression d’un groupe 27 Conclusion 27 Activité 1.2.3 : Conversion des fichiers de mots de passe et actions de l’utilisateur 27
Introduction 27 Evaluation de l’activité : 27
1.2.3.1 conversions de fichiers 28
1.2.3.2 Vérification de cohérence 28
1.2.3.3 Actions de l’utilisateur 28
Conclusion : 30
Evaluation de l’activité 30
Résumé 30
Système de notation 31 Critères d’évaluation 31 Evaluation de l’unité : 31
Unité 2:Système de fichiers et gestion des disques 32
Introduction 32Objectifs : 32
Mots Clé 32
Activité 2.1 : Système de fichiers 33
Introduction 33 2.1.1 Principe 33 2.1.2 Comparaison de systèmes de fichiers 34 2.1.3 Création d’un système de fichiers 35 2.1.4 Montage d’un système de fichiers 35 Conclusion 36 Activité 2 2 : Partitionnement 36
Introduction 36 Evaluation 36
2.2.1 Organisation d’un disque 37 Remarque : 37 2.2.2 Manipulation des partitions 39 Remarque : 40 2.2.2 Le swap 40 Conclusion 42 Evaluation : 42
Activité 2 3 : Les quotas 43
Introduction 43
2.3.1 Mise place de quotas 43
Conclusion 45
Evaluation 45
Système de notation 46 Critères d’évaluation 46 Lectures et autres ressources 46
Résumé 46
Evaluation de l’unité 46
Unité 3: Sauvegarde et restauration 47
Introduction 47Objectifs 47
Mots Clé 47
Activité 3 1: Aperçu général 48
Introduction 48 3.1.1 Définition de la sauvegarde 48 3.1.2 Importance de la sauvegarde 48 3.1.3 Quels fichiers doivent être sauvegardés ? 49 3.1.4 Fréquence et support de sauvegarde 49 3.1.4 Restauration 49 Évaluation 50 Conclusion 50 Activité 3 2: Méthodes et stratégies de sauvegarde 50
Introduction 50 3.2.1 Méthode de sauvegarde 50 3.2.2 Stratégie de sauvegarde 51 Conclusion 51 Activité 3 3 Quelques commandes utiles pour la sauvegarde et la restauration 51
Introduction 51
Évaluation 51
3.3.1 La commande dump 52
3.3.2 La commande restore 53
3.3.3 La commande tar 53
3.3.4 La commande cpio 54
3.3.5 La commande dd 55
Évaluation 56
Conclusion 56
Système de notation 57
Critères d’évaluation 57
Lectures et autres ressources 57
Résumé 57
Evaluation de l’unité 57
Unité 4: Sécurité 58
Introduction 58Objectifs 58
Mots Clé 58
Activité 4 1: Contrôle des droits d’endossement 59
Introduction 59 4.1.1 Contrôler les droits d’endossement 59 4.1.2 Politique de mot de passe 59 4.1.3 Interdiction des connexions 60 Conclusion 62 Activité 4 2: Mots de passe et rootkits 62
Introduction 62 Évaluation 62 4.2.1 Test de mot de passe 63 4 2 2 Recherche des rootkits 64
4.2.2.1 Principe du rootkits 64
4.2.2.2 chkrootkit 64
Conclusion 65
Activité 4 3: Sécurité des services et des réseaux 65
Introduction 65 4.3.1 Vérification des ports ouverts 65
4.3.1.1 Les sockets 65 Evaluation 65 4.3.1.2 Informations depuis netstat 66 4.3.1.3 L’outil nmap 67 4 3 2 Suppression des services inutiles 67
4 3 2 1 Généralités 67
4.3.2.2 Services standalone 68 Conclusion 68 Evaluation 68 Système de notation 69 Critères d’évaluation 69 Résumé 69
Evaluation de l’unité 69
Résumé du module 70
Examen Final 70
Aperçu sur du cours
Aperçu sur du cours
Les systèmes d’exploitation sont au centre des activités informatiques. Un système
d’exploitation est un programme qui agit comme un intermédiaire entre un utilisateur d’un ordinateur, des logiciels d’application et le matériel informatique. Deux objectifs principaux d’un des systèmes d’exploitation sont à gérer les ressources (par exemple le temps CPU, mémoire) et de contrôler les utilisateurs et les logiciels.
Ce cours introduit les étudiants à l’administration des systèmes d’exploitation. Il traite de l’utilisateur / gestion du groupe, système de fichiers et la gestion de disque, la sauvegarde, la récupération ainsi que la sécurité du système.
Prérequis
Ce module a pour prérequis le module d’Introduction aux systèmes d’exploitation.
Matériel
Pour accomplir ce module, le matériel requis est :
• Un ordinateur avec le système d’exploitation linux
• Un navigateur
• Une connexion internet.
Objectif du cours
A la fin de ce module, l’apprenant devra être en mesure de : 1. Gérer les utilisateurs et des groupes ;
2. Configurer le système de fichier et gérer les disques ; 3. Faire la sauvegarde et la restauration ;
4. Appliquer les mesures de sécurité du système.
Unités
Unité 0: Pré-requis
Cette unité donne un aperçu sur le système d’exploitation. Il traite de la définition, les services, les exigences, les environnements, l’installation et la configuration du système d’exploitation.
Unité 1: Gestion des utilisateurs et des groupes
Les systèmes d’exploitation modernes sont multiutilisateurs et multitâche. Dans Linux, chaque utilisateur possède son propre répertoire d’enregistrement de fichiers. Les utilisateurs
possèdent des droits d’accès est chaque utilisateur est au moins rattaché à un groupe. Dans cette unité d’apprentissage, nous allons détailler les tâches de gestion des utilisateurs et des groupes.
Unité 2: Système de fichiers et gestion de disque
« Un système de fichiers (abrégé « FS » pour File System1, parfois filesystem en anglais) ou système de gestion de fichiers (SGF) est une façon de stocker les informations et de les organiser dans des fichiers sur ce que l’on appelle les mémoires secondaires (disque dur, CD-ROM, etc.) ». Source : https://fr.wikipedia.org/wiki/Syst%C3%A8me_de_fichiers Gérer les fichiers alors revient à conserver, partager et restituer les données des fichiers entre utilisateurs et applications. Cette unité explique la notion de système de fichiers, leur implantation ainsi que la gestion des disques et des quotas.
Unité 3: Sauvegarde et restauration
La sauvegarde est un processus qui consiste à conserver les données, par une duplication, sur un support externe du système informatique. Cela permet de garantir que les données ne seront pas perdues si un sinistre venait de se produire. Une fois les données sauvegardées il est impératif de pouvoir les restituer en état lorsque c’est nécessaire. Dans cette unité, nous allons détailler les notions de sauvegarde et de restauration de données. Plusieurs questions y relatif seront répondues en l’occurrence : que faut-il sauvegarder ? Quand faut-il effectuer la sauvegarde ? Comment effectuer la sauvegarde/restauration des données.
Unité 4: Sécurité
Le principal objectif de cette unité est d’éclairer les étudiants sur la façon dont ils peuvent sécuriser le système informatique. Différentes commandes en rapport avec la sécurité du système seront abordées dans cette unité.
Aperçu sur du cours
Evaluation
1 Evaluation continue Ponderation (%)
1.1 Test I 10
1.2 Test II 10
1.3 Test III 10
1.4 Test IV 5
1.4 Travaux pratiques (étude de cas) 25
2 Examen final 40
Total 100
Calendrier d’exécution
Unité Intitulé Temps (heures)
0 Pré-requis 10
1 Gestion des utilisateurs et des groupes 32 2 Système de fichiers et gestion de quotas 33 3 Sauvegarde et restauration de données 30
4 Sécurité 15
Total 120
Ressources
Unité 0:
• Andew Tanenbaum, Systèmes d’exploitation 2ème édition, chapitre 1
• A Silberschatz, Peter B Galvin, G Gagne: Operating System Concepts, 7th edition, Chapter 1 and 2 https://doc.ubuntu-fr.org/cohabitation_ubuntu_windows
Unité1 :
• Linux System Administration, Vicki Stanfield, Roderick W. Smith, Sybex., 2nd Edition, 2002, Chapter 5
• LPI – Linux System Administration, Revision 1.0, 2000, Chapter 6
• http://www.control-escape.com/linux/users-groups.html, Users and Groups, February 24, 2006
• http://www.tldp.org/HOWTO/Shadow-Password-HOWTO-2.html, Why shadow your passwd file?, February 24, 2006
• http://www.w3resource.com/linux-system-administration/user-management.php, User Management, February 24, 2016
Unité 2:
• Linux System Administration, Vicki Stanfield, Roderick W. Smith, Sybex., 2nd Edition, 2002, Chapter 6
• LPI – Linux System Administration, Revision 1.0, 2000, Chapter 5
• http://www.lifl.fr/~forget/CoursSyst/disques.pdf
• http://public.loligrub.be/contrib/tlepoint/BASE/node38.html
• http://www.linuxplanet.com/linuxplanet/tutorials/6666/1
Unité 3:
• http://www.pcmag.com/article2/0,2817,899676,00.asp; Backup Methods and Rotation Schemes; BY MATTHEW D. SARREL; FEBRUARY 21, 2003
• www.tandbergdata.com/us ;Tape Rotation BEST PRACTICES The Tandberg Data SMB Guide to Backup Data Protection Strategies for the Small-to-Medium Size Business p.10 Basic Backup Guide
• http://public.loligrub.be/contrib/tlepoint/BASE/node38.html
• https://doc.ubuntu-fr.org/quota
• http://www.labo-microsoft.org/articles/win/quotas_disque/
Unité 4:
• Linux System Administration, Vicki Stanfield, Roderick W. Smith, Sybex., 2nd Edition, 2002, Chapter 15
• LPI – Linux System Administration, Revision 1.0, 2000, Chapter 9
• [Moore] Moore, Sonia Marie (Ed.). “MS Windows NT Workstation 4.0 Resource Guide.” 1995. http://www.microsoft.com/technet/archive/ntwrkstn/reskit/default.
mspx.
Unité 0: Prérequis
Unité 0: Prérequis
Introduction
Le logiciel système est un ensemble de logiciels qui gèrent et exploitent les composants du système informatique. Au cours de cette activité, nous allons voir l’environnement du SE et les différentes étapes d’installation d’un SE.
Objectifs
À la fin de cette unité, vous devriez être capable de:
• Démontrer une bonne connaissance des fonctionnalités du système d’exploitation ;
• Installer le système d’exploitation linux
Mots-clés:
Système d’exploitation : Un logiciel système qui fait fonctionner les autres programmes (application)
Système Informatique : Un ensemble d’équipements destiné au traitement (enregistrement, modification, suppression, restitution) automatique de l’information.
Activité 0.1 : Historique et Philosophie de Linux Introduction
La vie de Linux est intimement liée à celle de son ancêtre Unix. On ne peut donc pas parler de Linux sans parler d’Unix. Ainsi, D’un point de vue purement technique, Linux est simplement une variante d’Unix. Qu’est –ce qui a motivé la création d’Unix ? Comment a été son évolution
? Quelle est sa philosophie ? Telles sont les questions qui seront abordé dans cette unité.
0.1.1 Historique
On doit l’origine de Unix à Richard Stallman un chercheur du laboratoire sur l’Intelligence Artificielle MIT (États-Unis), qui a lancé le projet GNU (Licence Publique Général) afin de réagir à une pratique alors émergente consistant à conserver secret le code source des logiciels tout en rendant obligatoire l’achat de licences. Son but était de recréer un environnement complet exempt de restrictions et disposant de tous les outils nécessaires à n’importe quel utilisateur.
Le modèle qu’il a retenu était celui d’Unix, parce qu’il était techniquement supérieur aux autres environnements de l’époque. Etant opposé à la distribution sous licence d’Unix par AT&T, il a appelé son projet GNU, acronyme récursif de « GNU n’est pas Unix » (N.d.T. : GNU’s Not Unix).
Les dates clés de ces deux systèmes d’exploitation sont résumées sur le schéma ci-dessous:
Figure 1: Historique
Pour plus de détails sur l’historique, vous pouvez consulter les liens suivants : http://projet.unix.free.fr/historique.htm
0.1.2 Philosophie de Unix
Sous unix, tout est fichier (fichiers, répertoires, devices, liens, etc.). Ceux-ci doivent être lisible par l’homme et exploitable simplement par la machine. Unix est multitâche : Plusieurs processus s’exécutent en même temps et le SE assure son contrôle.
Il est multiutilisateur : C’est-à-dire que plusieurs utilisateurs peuvent se connecter et utiliser les processus simultanément.
Le Kernel et le SE
Le noyau est le cœur du système, c’est lui qui s’occupe de fournir aux logiciels une interface pour utiliser le matériel. Il assure non seulement la gestion de l’accès aux ressources machines (droits, ordonnancement, gestion des accès) mais aussi le chargement de modules (drivers).
Le SE (OS) permet de gérer le système via l’interface proposé par le Kernel (système de fichiers, réseau, droit, périphérique).
Unité 0: Prérequis
Résumé de l’unité
Linux dérive directement de Unix. L’historique de Unix constitue par conséquent celui de Linux.
Les deux SE sont GNU (Licence Publique Général) mais des versions payantes existent. Le but de ses concepteurs était de recréer un environnement complet exempt de restrictions et disposant de tous les outils nécessaires à n’importe quel utilisateur. Pour ces SE, le cœur du système est le noyau. Il se charge de fournir aux logiciels une interface pour utiliser le matériel.
Évaluation de l’unité
Cette évaluation est composée par une série de question de simple compréhension 1. Quelles sont les périodes clé de l’historique de Linux ?
2. Quel est le rôle du noyau de Linux ? 3. Discuter de la philosophie de Linux.
Système de notation :
• Pour toute réponse incorrecte (0 points)
• Pour une réponse incomplète (0,5 points)
• Pour toute réponse correcte (1 point)
Rappel
Unix est l’ancêtre de Linux. Dans Unix(Linux) toutes les ressources sont considérées comme des fichiers. Le SE Unix(Linux) possède un noyau chargé de fournir aux logiciels une interface pour utiliser le matériel.
Ressources documentaires
http://projet.unix.free.fr/historique.htm
Activité 0.2 : Processus d’installation Introduction
Pour installer Linux, plusieurs étapes doivent être suivies. Comme tout système d’exploitation Linux a un ensemble d’exigences. Il convient alors de connaître les spécificités de chaque version que l’on veut installer au regard des caractéristiques techniques de votre machine. Au cours de cette activité, nous allons explorer les différentes versions de Linux, leurs exigences, ainsi que les différentes manières d’installer Linux.
0.2.1 Choix de la distribution
Il existe un grand nombre de distributions Linux aussi importantes les unes que les autres. Si l’une d’entre elles était réellement meilleure que toutes les autres, la question du choix ne se poserait pas, et il n’y aurait aucun problème. Mais en réalité, chaque distribution a son public, et le choix doit se faire en fonction de ses besoins et de ses désirs. Chose qui, évidemment, n’est pas forcément évidente quand on n’a jamais installé Linux. Une description exhaustive de chaque distribution est donnée sur le site lui dédiée.
Pour quelques détails sur les distributions visitez la page web suivante :
http://linux.developpez.com/tutoriels/debuter-installation/guide-linux-distribution/#LII
0.2.2 Partitionnement et système de fichiers
L’installation d’un système d’exploitation tel que Linux sur un PC touche aux structures de données fondamentales du disque dur et est de ce fait une opération très sensible. Il est donc nécessaire de connaître certaines notions de base afin de savoir ce que l’on est en train de faire. Cette section a donc pour but de vous présenter ce qu’est une partition et un système de fichiers, comment choisir un plan de partitionnement, et comment l’accès aux partitions se fait dans un système Linux.
Une « partition » est, comme son nom l’indique, une partie d’un disque dur. Les partitions permettent de diviser l’espace de stockage des disques durs en zones indépendantes de taille restreinte. La notion de partition permet de réserver certaines portions du disque dur à un usage particulier, et de bien séparer les données qui se trouvent dans chaque partition.
L’opération de « partitionnement » est l’opération de création des différentes partitions d’un disque dur.
L’installation de plusieurs systèmes d’exploitation nécessite souvent d’allouer une partition à chaque système, car les systèmes d’exploitation ne comprennent généralement pas le format des partitions des autres systèmes. Il est également parfois nécessaire, pour un même système, de définir plusieurs partitions, qui seront utilisées à des fins spécifiques. Par exemple, Linux fonctionne nettement mieux si on lui attribue une partition de « swap » (dite aussi « partition d’échange ») pour stocker des données peu utilisées qui se trouve en mémoire, lorsqu’il a besoin de plus de mémoire qu’il n’en est physiquement installée sur la machine. De même, il est possible de créer plusieurs partitions pour séparer les données utilisateurs des programmes, ce qui permet de faciliter les mécanismes de sauvegarde d’une part, et d’assurer une plus grande sécurité des données lors des opérations de maintenance du système d’autre part.
Sur les machines de type PC, chaque disque dur peut être découpé en quatre partitions dites « primaires ». La position, la taille et le type de ces partitions sont enregistrées dans le premier secteur du disque dur, que l’on appelle souvent le « Master Boot Record » (« MBR » en abrégé). Le MBR ne contient que quatre entrées pour la définition des partitions, d’où la limite de quatre partitions primaires. Le type des partitions est un code numérique qui indique le système d’exploitation capable de l’utiliser et sa nature (partition de swap ou système de fichiers par exemple). À titre d’exemple, Linux utilise principalement deux types de partition :
Unité 0: Prérequis
les partitions de swap (numéro 82) et les partitions pour les systèmes de fichiers (type 83).
La définition des partitions se fait donc en donnant leur point de départ, leur taille et leur type.
Le point de départ et la longueur des partitions sont exprimées en secteurs. Un « secteur » est l’unité de base pour les données des disques durs, qui correspond à un bloc de 512 octets utiles (auxquels s’ajoutent bien entendu d’éventuels octets de contrôle d’erreur, mais qui ne sont manipulés que par le disque dur lui-même et par son contrôleur, et que l’on ne peut donc pas utiliser pour y stocker des données). Cela dit, certains systèmes (ceux de Microsoft) ne permettent pas une telle finesse dans la définition des partitions et nécessitent de travailler au niveau du cylindre.
Les détails de partitionnement sont donnés dans la section 4 de l’unité 2 de ce cours.
NB :
On peut installer deux systèmes d’exploitation (Windows et Linux par exemple) sans être obligé de créer deux partitions (Détails : https://doc.ubuntu-fr.org/
cohabitation_ubuntu_windows).
0.2.3 Procédure d’installation générique
L’installation d’un système d’exploitation est une opération délicate, surtout si l’on modifie les partitions, puisqu’il faut travailler au niveau le plus bas. La moindre erreur peut provoquer une catastrophe, ce qui peut au mieux vous obliger à recommencer complètement l’installation, et au pire à perdre l’ensemble de vos données, y compris celles des autres systèmes installés. Par conséquent : il faut commencer par sauvegarder les données. Une fois la sauvegarde faite et que l’on connaît comment partitionner le disque on peut commencer l’installation. Les étapes génériques d’installation sont :
• L’amorçage du système ;
• La création ou redimensionnement des partitions du disque dur ;
• La création des systèmes de fichiers et de la partition d’échange ;
• L’installation du système proprement dite ;
• L’installation du gestionnaire d’amorçage ;
• La configuration du système.
Conclusion :
L’installation de Linux suit un ensemble d’étapes. Les distributions étant nombreuses, il est impératif de se décider sur la distribution à installer. Par la suite les étapes clés de son installation sont : l’amorçage du système, la création ou redimensionnement des partitions du disque dur, la création des systèmes de fichiers et de la partition d’échange, l’installation du système proprement dite, l’installation du gestionnaire d’amorçage et la configuration du système.
Evaluation de l’activité :
1. Discuter des critères à prendre en compte pour le choix de la distribution à un installer.
2. Présenter les principales étapes d’installation de Linux 3. Expliquer le système de fichier sous Linux.
Résumé de l’unité
Au cours de cette unité, nous avons passé de long en large l’historique, la philosophie de Linux ainsi que le processus d’installation. Linux considère l’ensemble des ressources comme des fichiers. Le SE Linux présente un noyau qui sert d’interface aux différents logiciels afin de leur permettre d’utiliser le matériel. Linux est un système multiutilisateur et permet la gestion des ressources en garantissant leur partage.
Evaluation de l’unité d’apprentissage
1. Quel est l’importance d’un système d’exploitation ?
2. Donner les avis que pourrait vous motiver à choisir le SE Linux par rapport à Windows.
3. Procéder à l’installation du SE Linux Ubuntu et commenter les étapes clés.
Lectures et autres ressources
https://doc.ubuntu-fr.org/cohabitation_ubuntu_windows
http://linux.developpez.com/tutoriels/debuter-installation/guide-linux-distribution/#LII http://projet.unix.free.fr/historique.htm
Andew Tanenbaum, Systèmes d’exploitation 2ème édition, chapitre 1
A Silberschatz, Peter B Galvin, G Gagne: Operating System Concepts, 7th edition, Chapter 1 and 2
Unité 1:Gestion des utilisateurs et des groups
Unité 1:Gestion des utilisateurs et des groups
Introduction
Dans toute entreprise, la sécurisation de ses données est une grande préoccupation pour l’entreprise concernée. Une bonne gestion des utilisateurs et des groupes constitue une bonne base de sécurité et de stabilité de votre système. Dans le système, les utilisateurs et les groupes sont repérés par des numéros (numéro utilisateur pour les utilisateurs : uid [user identifier] et le numéro de groupe :gid [Group Identifier]). Ce numéro est unique pour un utilisateur/groupe donné. Dans cette unité, vous apprendrez les principales activités de gestion des utilisateurs et des groupes à savoir : définir un utilisateur et un groupe, créer un utilisateur et un groupe, modifier un utilisateur et un groupe, affecter les utilisateurs à un groupe, distinguer les droits d’accès, etc.
Objectifs
A la fin de ce module, l’apprenant devra être capable de : 1. Créer un utilisateur/groupe ;
2. Modifier un utilisateur/groupe ; 3. Supprimer un utilisateur/groupe ; 4. Ajouter un utilisateur à un groupe ; 5. Distinguer les droits d’accès.
Mots Clé
Utilisateur : C’est une entité reconnu par le système par son nom et éventuellement son mot de passe.
Ressource : Une désigne toute entité dont a besoin un processus pour s’exécuter
Groupe : Unité de regroupement des utilisateurs. Un groupe est destiné à contenir les utilisateurs ayant les mêmes droits. Le groupe est moyen de simplifier la tâche de gestion des utilisateurs.
L’authentification : Reconnaissance de l’utilisateur par les données d’identification.
Root : Super utilisateur ou utilisateur principal (administrateur)
Activité 1.1: Utilisateur Introduction
Tout utilisateur d’un système doit être connu de celui-ci. Cela est fait grâce au nom utilisateur et/ou mot de passe. Un utilisateur peut appartenir à un ou plusieurs groupes d’utilisateurs pour être autorisé à utiliser le système. Dans cette activité, vous apprendrez à identifier et contrôler les utilisateurs via le fichier /etc/passwd.
1.1.1 Hiérarchie des comptes
• Root : C’est un super utilisateur. Les permissions d’accès ne sont pas appliquées sur lui il peut faire tous. C’est un compte pour l’administrateur du système.
• bin, daemon, lp, sync, news, ftp..: ce sont des comptes utilisateur utilisés par différentes applications et démons (deamons). Ce genre de compte ne peuvent pas (doivent pas) être utilisé comme login.
• comptes ordinaires
1.1.2 Gestion des utilisateurs
La gestion des utilisateurs passe par les trois principales opérations suivantes : l’ajout, la modification et la suppression. Linux gérant l’ensemble des ressources en utilisant les fichiers, les informations d’un utilisateur donné constituent une ligne du fichier (/etc/
password) . Celle-ci comprend sept champs séparés par des « : ». Il s’agit notamment de : login:passwd:uid:gid:comment:home:shell
Unité 1:Gestion des utilisateurs et des groups
• login : Le login désigne le nom du compte de l’utilisateur. Il est composé d’au maximum 8 caractères alphanumériques.
• passwd : Désigne le mot de passe de l’utilisateur. Il est sous forme codée.
• uid : Il s’agit d’un numéro unique de l’utilisateur. Celui-ci est compris entre 0 et 65535. Les 100 premiers nombres sont par convention réservés au système et ne correspondent pas à des utilisateurs normaux.
• gid : C’est le numéro qui identifie le groupe de l’utilisateur. Chaque utilisateur appartient à un groupe principal et peut appartenir à un ou plusieurs groupes secondaires. La notion de groupe permet de gérer les permissions sur les fichiers.
• comment : Commentaire dans lequel on peut trouver les informations sur l’utilisateur ou simplement le nom complet de l’utilisateur.
• home : Chemin complet du répertoire (directory) attribuée à l’utilisateur
• shell : Chemin complet du shell, le programme qui interagit avec l’utilisateur et qui permet de taper des commandes (commande exécutée après connexion au système).
Le fichier /etc/passwd est public (toute personne qui a un compte sur la machine peut le lire).
Pour contrecarrer cette faille, certains systèmes ont introduit le fichier /etc/shadow, lisible seulement par l’utilisateur root.
Après la création d’un compte utilisateur, tous les fichiers de /etc/skel sont copiés dans le répertoire personnel de cet utilisateur. On place dans ce répertoire les fichiers dont tout le monde doit en avoir une copie.
La commande su permet de changer l’identité de l’utilisateur courant. Sa syntaxe est la suivante:
su [[-] utilisateur]
Utilisateur est l’utilisateur dont on veut prendre l’identité. Si aucun utilisateur n’est spécifié, le changement se fait vers l’utilisateur root. La commande demande un mot de passe avant d’obtempérer sauf si c’est fait par root.
1.1.2.1 Création d’un compte d’utilisateur
La création d’un compte demande plusieurs opérations : l’ajout d’une entrée dans le fichier /etc/passwd, la création du répertoire personnel de l’utilisateur, et la mise en place de la configuration par défaut dans le répertoire de cet utilisateur.
L’ensemble de ces opérations est pris en charge par la commande adduser ou useradd. Sa syntaxe est : adduser [-c commentaires] [-d rep_personnel]
[-e date_expiration] [-f tps_inactivité]
[-g groupe_initial] [-G groupe [,...]
[-m [-k squelette_rep | -M] [-p motdepasse]
[-s shell] [-u uid [-o]] [-n] [-r] utilisateur
La commande demande interactivement les données nécessaires à l’identification de l’utilisateur lorsqu’elle est utilisée sans arguments.
Exemple : Créer un utilisateur nommé bana, mot de passe : Ali123 ; Nom complet : Kaneza Bana ; Numéro de chambre : 14 ; Tél de bureau : 79 574 864 ; tél domicile : 14 789 645.
Figure 2: Ajout interactif d’un utilisateur
Si aucune option n’est précisée, les valeurs par défaut sont récupérées au sein du fichier /etc/
defaults/useradd.
La liste des principales options sont résumées dans ce qui suit :
Option Rôle
-m Permet de créer le répertoire personnel
-u Précise l’uid numérique de l’utilisateur. Cette valeur doit être unique -g Précise le groupe principal de l’utilisateur par gid ou par son nom
-G Précise les groupes additionnels (secondaires, de l’utilisateur) séparés par des virgules (variable GROUPS).
-d Chemin du répertoire personnel. C’est généralement /home/<login>, mais n’importe quel chemin peut être précisé (variable HOME/<login>).
-c
Un commentaire associé au compte. Il peut être quelconque mais est parfois utilisé par certaines commandes comme finger. Son contenu peut être modifié par l’utilisateur avec la commande chfn.
-k Chemin du répertoire contenant le squelette de l’arborescence du répertoire utilisateur. C’est généralement /etc/skell (variable SKEL).
-s Shell (commande de connexion) par défaut de l’utilisateur (variable SHELL). L’utilisateur peut le changer via la commande chsh.
-p Le mot de passe, crypté, de l’utilisateur.
Table 1: Synthèse des options de la commande d’ajout d’un utilisateur
Unité 1:Gestion des utilisateurs et des groups
La commande passwd permet de gérer les mots de passe mais aussi les autorisations de connexion et la plupart des champs présents dans /etc/shadow. Tu peux changer ton mot de passe, dans le délai précisé par le champ 4 de /etc/shadow. L’action par défaut change le mot de passe de l’utilisateur courant. Pour question de sécurité l’ancien mot de passe lui sera demandé. Le changement de mot de passe est présenté ci-dessous. La commande id permet d’afficher l’identité de l’utilisateur.
Figure 3: Changement du mot de passe
Pour question de sécurité, les mots de passe sont masqués. Raison pour laquelle ils n’apparaissent pas sur la figure ci-dessus.
Les modules PAM (Pluggable Authentification Module) imposent certaines contraintes de mot de passe (longueur, pas basé sur un mot du dictionnaire, etc). L’utilisateur root a le droit de modifier le mot de passe de n’importe quel utilisateur sans connaître au préalable l’ancien mot de passe. Il peut également outrepasser les contraintes PAM
1.1.2.2 Suppression d’un compte d’utilisateur
Pour supprimer un utilisateur on utilise la commande userdel. Il faut que l’utilisateur à supprimer ne soit pas connecté. Par défaut le répertoire personnel n’est pas supprimé. Pour cela il faut passer l’option -r.
Ex : # userdel -r jordie
Cette commande supprime l’utilisateur jordie. Son répertoire personnel et ses fichiers sont supprimés. La commande supprime toute trace de l’utilisateur dans le fichier de configuration : /etc/passwd y compris dans les groupes d’utilisateurs. Lorsque l’on n’est pas logé comme root, il faut faire précéder la commande par sudo (voir les détails sur https://doc.ubuntu-fr.org/
sudo#pseudo-root_une_console_superutilisateur).
1.1.2.3 Modification d’un compte d’utilisateur :
La commande de modification d’un utilisateur est : usermod. Elle a la même syntaxe et les mêmes options que la commande useradd. Des syntaxes complémentaires existent. Il s’agit notamment de:
• passwd –l nomutilisateur pour désactiver un utilisateur
• passwd –u nomutilisateur pour activer un utilisateur
• etc ;
Conclusion
Tout au long de cette activité nous avons exploré la gestion des utilisateurs. Nous nous sommes rendu compte que l’ajout d’un utilisateur implique l’ajout d’une ligne dans un fichier.
Une fois l’utilisateur créé on peut le modifier ou le supprimer via un ensemble de commande.
Les modules PAM imposent des contrôle de restriction de choix de mots de passe afin d’avoir un mot de passe. L’utilisateur root a le droit de faire ce qu’il veut sur les autres utilisateurs. Il peut même ne pas respecter les contraintes imposées par PAM.
Evaluation de l’activité :
1. Que comprenez-vous par la gestion des utilisateurs ? 2. Donner les caractéristiques d’un bon mot de passe.
Question 3:
1. Créer les utilisateurs Ali et Alice
2. Effectuer des vérifications : possibilité immédiate de se loguer sous ces comptes, création de leur répertoire personnel dans /home.
3. Changer le mot de passe d’Alice.
4. Essayer de créer un compte déjà existant et déduire ce qui se passe.
5. Supprimer le compte d’Ali. Est-ce que son répertoire personnel a été supprimé ?
Unité 1:Gestion des utilisateurs et des groups
Activité 1.2 Gestion des groupes Introduction
Sous Linux, un groupe est un ensemble d’utilisateurs qui partagent les mêmes fichiers et répertoires. Un utilisateur doit appartenir au moins dans un groupe (groupe initial défini au moment de la création). Il peut appartenir dans un ou plusieurs groupes secondaires mais le rôle du groupe initial reste prépondérant.
Comment sont alors gérer les groupes ? Quelles sont les commandes de gestion des groupes
? Toutes ces questions seront touchées dans cette activité.
1.2.1 Création d’un groupe
Vous pouvez créer un groupe directement dans le fichier /etc/group ou bien passer par les commandes associées. Si vous éditez le fichier à la main, utilisez la commande vigr (ou vipw g).
La commande groupadd permet de créer un groupe. Sa syntaxe simple accepte l’argument -g pour préciser un GID précis.
Le fichier /etc/group comprend 4 champs, séparés par le symbole « : »
• nom du groupe
• x pour remplacer un mot de passe non attribué maintenant
• numéro de groupe, c-à-d l’identifiant gid
• la liste des membres du groupe
1.2.2 Modification d’un groupe
Pour modifier un groupe, utiliser la commande groupmod. Cette commande admet les paramètres suivants :
• -n<nom>: pour renommer le groupe
• -g <GID>: Modifie le GID. NB le groupe d’appartenance des fichiers concernés reste inchangé
• -A<user>: ajoute l’utilisateur spécifié dans le groupe.
• -R<user>: pour supprimer l’utilisateur spécifié du groupe
1.2.3 Suppression d’un groupe
La suppression d’un groupe est faite avec la commande : groupdel. Pour que la suppression soit possible, il faut que le groupe à supprimer ne soit pas le groupe principal de l’utilisateur.
Cette commande va la ligne correspondante dans /etc/group. Il revient à l’utilisateur de vérifier le système de fichiers (et la configuration des applications si besoin) pour supprimer toute trace de ce groupe.
Ex : # groupdel ABC
Conclusion
Un groupe est une unité d’administration permettant de regrouper un ensemble d’utilisateurs partageant les mêmes droits. Comme pour les utilisateurs, Linux gère les groupes sous forme d’enregistrements d’un fichier (/etc/group). La gestion des groupes passe par l’ajout (groupadd), la modification (groupmod) et la suppression (groupdel).
Evaluation de l’activité :
1. Que comprenez-vous par la gestion des groupes ? 2. Quand est-ce qu’un groupe ne peut pas être supprimé ?
Question 3:
1. créer le groupe comptabilite
2. ajouter deux comptes de votre choix dans ce groupe 3. vérifier le résultat avec la commande groups
Activité 1.2.3 : Conversion des fichiers de mots de passe et actions de l’utilisateur
Introduction
Dans les deux activités précédentes nous avons essentiellement touchés les actions de gestion (ajout, modification et suppression) des utilisateurs et des groupes. Il existe cependant d’autres activités importantes en l’occurrence la conversion de fichiers, la vérification de la cohérence des fichiers de groupes et de mots de passe, les actions des utilisateurs (changer de shell, de groupe, etc.), etc. Dans cette activité, vous apprendrez les commandes y relatives.
Unité 1:Gestion des utilisateurs et des groups
1.2.3.1 conversions de fichiers
Les fichiers /etc/shadow et /etc/passwd peuvent être convertis en un seul et unique /etc/
passwd, particulièrement lors de la migration de serveur. La commande utilisée est : pwunconv.
Une fois la conversion faite, il ne reste plus de trace de /etc/shadow (voir l’exemple ci-dessous).
Figure 4: Exemple de conversion de fichiers
Par la suite, en listant le fichier /etc/shadow on nous dit que celui-ci n’existe pas.
Remarque : avec la commande pwunconv, les durées de validité des mots de passe sont détruites. La commande pwconv fait l’inverse : elle crée le fichier /etc/shadow associé à /etc/
passwd, y déplace les mots de passe et y place les réglages par défaut tels que définis dans le fichier /etc/login.defs.
1.2.3.2 Vérification de cohérence
Il peut être utile de lancer des outils de vérification de la cohérence des fichiers des groupes et des mots de passe. La commande pwck effectue une vérification des fichiers /etc/passwd et / etc/shadow et reporte les erreurs.
Voir les détails de cette commande sur : http://manpages.ubuntu.com/manpages/gutsy/fr/
man8/pwck.8.html
La commande grpck permet de faire la même chose pour les groupes. Pour ce cas les contrôles se limitent aux doublons et à l’existence des utilisateurs pour les groupes secondaires.
1.2.3.3 Actions de l’utilisateur
Sur son propre compte, l’utilisateur a le droit de faire plusieurs actions en l’occurrence :
• la modification de son shell de connexion ;
• la modification des informations le concernant ;
• la modification du groupe principal ;
• la prise de l’identité de quelqu’un d’autre.
1. Modification du shell
La commande chsh permet à l’utilisateur de modifier définitivement (ou jusqu’à la prochaine commande chsh) de shell de connexion. Le shell (ou toute autre commande) doit être présent dans /etc/shells. Cette liste est accessible via le paramètre -l de la commande. La modification est faite au sein de /etc/passwd. Seul root a le droit de le modifier pour d’autres utilisateurs. Le nouveau shell est précisé avec le paramètre -s.
Voir les détails de la commande sur le lien suivant : http://manpages.ubuntu.com/manpages/
precise/fr/man1/chsh.1.html
2. Modification du commentaire
Utiliser chn pour modifier le commentaire du fichier /etc/passwd. Il est préférable de l’utiliser de manière interactive (le passage de paramètre en mode non interactif est réservé à root).
Figure 7: La commande chfn 3. Changement du groupe principal
Pour changer votre groupe principal, utiliser la commande newgrp suivi du nom du nouveau groupe. Le nouveau groupe précisé doit être un groupe secondaire de l’utilisateur et/ou l’utilisateur dispose du mot de passe du groupe. Utilisée seule, newgrp revient au groupe d’origine. Les modifications sont temporaires, le fichier des mots de passe n’est pas modifié.
Les détails sont indiqués sur le lien ci-contre :
http://manpages.ubuntu.com/manpages/precise/fr/man1/newgrp.1.html 4. Changement d’identité
L’utilisateur peut endosser, le temps d’une commande ou de toute une session, l’identité d’une autre personne. Il s’agit généralement de root, car vous savez qu’il ne faut jamais (ou au moins éviter) de se connecter en permanence en tant que root. Donc pour les tâches administratives il faut pouvoir devenir root (ou un autre utilisateur) le temps nécessaire.
La commande su (substitute user) permet d’ouvrir une session, ou d’exécuter un shell ou une commande donnée avec une autre identité. Évidemment, vous devez connaître le mot de passe de cet utilisateur.
su [-c commande] [-s shell] [-] [utilisateur]
Unité 1:Gestion des utilisateurs et des groups
Si aucun utilisateur n’est précisé, c’est root qui est utilisé.
Dans ubuntu le compte root est par défaut bloqué. Pour faire les tâches administratives il faut utiliser la commande sudo.
Pour les détails sur cette commande, visiter le lien : https://doc.ubuntu-fr.org/
sudo#pseudo-root_une_console_superutilisateur
Conclusion :
Au cours de cette activité, nous avons exploré l’utilisation de quelques commandes supplémentaires d’administration notamment la conversion de fichiers, la vérification de la cohérence ainsi que quelques opérations sur le compte d’un utilisateur. Une autre liste des commandes d’administration peut être trouvée sur la page suivante :
http://hautrive.free.fr/linux/page-commandes-linux.
html#Les_commandes_de_gestion_des_utilisateurs
Linux all-in-one for dummies 4th Edition, by Emmett Dulaney
Evaluation de l’activité
1. Expliquer les opérations pouvant être faites par un utilisateur et donner des exemples.
2. Dans quel cas a-t-on besoin de faire la conversion de compte ? Quelle est l’inconvénient d’une telle opération ?
3. Quelle est l’importance de la vérification des cohérences de fichiers ?
Résumé
Tout utilisateur du système doit être identifié. Les éléments d’identification d’un utilisateur permettent de déterminer son profil afin de connaître ce à quoi il a le droit. Un groupe est une unité d’organisation qui regroupe les utilisateurs ayant les mêmes droits. En Linux, chaque utilisateur appartient à un groupe. Il peut cependant appartenir dans plusieurs groupes. Au cours de cette unité d’apprentissage, nous avons passé en revue les principales commandes de gestion des utilisateurs et des groupes. La gestion des utilisateurs et des groupes n’est qu’une simple manipulation des entrées des fichiers correspondantes.
Evaluation de l’unité :
Donner des réponses aux questions suivantes:
1. Créer un utilisateur appelé jordie
2. Modifier jordie pour lui donner un nouvel identifiant : UID 1112.
3. Changer la date d’expiration de jordie pour qu’elle soit le 17 mars 2016 4. Verrouiller le compte de jordie
5. Déverrouiller le compte de jordie.
6. Créer un groupe appelé TD 7. Mettre jordie dans le groupe TD
8. Créer l’utilisateur ali
9. Donner un mot de passe pour ali 10. Mettre ali dans le groupe TD 11. Supprimer jordie
12. Afficher les informations du compte jordie et conclure
Système de notation
L’évaluation de cette unité compte pour 10% de l’évaluation du module. L’évaluation des activités compte pour 6% et l’évaluation de l’unité compte pour 4%.
Critères d’évaluation
• Questions/Evaluation non répondues ou mal répondues : Echec
• Questions/Evaluation répondues partiellement ou réponse partiellement correcte : Moitié de point pour la question/évaluation correspondante
• Toutes les évaluations sont faites avec des réponses correctes : Totalité des points
• Lectures et autres ressources
• Linux System Administration, Vicki Stanfield, Roderick W. Smith, Sybex., 2nd Edition, 2002, Chapter 5
• LPI – Linux System Administration, Revision 1.0, 2000, Chapter 6
• http://www.control-escape.com/linux/users-groups.html, Users and Groups, February 24, 2006
• http://www.tldp.org/HOWTO/Shadow-Password-HOWTO-2.html, Why shadow your passwd file?, February 24, 2006
Unité 2:Système de fichiers et gestion des disques
Unité 2:Système de fichiers et gestion des disques
Introduction
Toutes les données manipulées sont conservées sur le disque dur de la machine. Il est naturel que plusieurs utilisateurs puissent utiliser la même machine. Ce qui fait que chacun aura ses fichiers sur le même disque. La gestion des disques constitue alors un autre challenge.
Au moment de la gestion des disques des quotas peuvent être fixés afin de garantir une répartition équitable entre les utilisateurs.
Au cours de cette unité d’apprentissage, vous allez apprendre la notion de système de fichiers, la gestion des fichiers ainsi que celle des disques et des quotas.
Objectifs :
A la fin de cette unité, l’apprenant devra :
• Démontrer une bonne connaissance du système de fichier Linux ;
• Gérer les fichiers
• Gérer les disques et les quotas
Mots Clé
Système de fichier : L’organisation logique de fichier sur un système
Quotas : Taille disque allouée à un utilisateur
Partitionnement : Diviser l’espace disque en plusieurs espaces disques logiques.
Swap : Terme général désignant l’espace disque utilisé pour augmenter la quantité apparente de la mémoire
disponible dans la machine
Activité 2.1 : Système de fichiers Introduction
Suivant le type de contrôleur et d’interface sur lesquels les disques sont connectés, Linux donne des noms différents aux fichiers spéciaux des périphériques disques. Chaque disque est représenté par un fichier spécial de type bloc.
Les disques reliés à des contrôleurs IDE (appelés aussi PATA, Parallel Ata, ou ATAPI) se nomment hdX :
• hda : IDE0, Master
• hdb : IDE0, Slave
• hdc : IDE1, Master
• hdd : IDE1, Slave
• etc.
Par contre les disques reliés à des contrôleurs SCSI, SCA, SAS, FiberChannel, USB, Firewire (et probablement d’autres interfaces exotiques comme les lecteurs ZIP sur port parallèle) se nomment sdX. L’énumération des disques reprend l’ordre de détection des cartes SCSI et des adaptateurs (hosts) associés, puis l’ajout et la suppression manuelle via hotplug des autres.
• sda : premier disque SCSI
• sdb : deuxième disque SCSI
• etc.
Au cours de cette activité, nous allons aborder la notion de structure de fichier et donner quelques exemples de systèmes de fichiers. Vous apprendrez à monter et démonter les systèmes de fichiers.
2.1.1 Principe
a. Définition
Pour un système d’exploitation, un fichier est une suite d’octets. Chaque fichier est identifié par un nom auquel on associe un emplacement sur le disque (une référence) et possède un ensemble de propriétés : ses attributs. Le formatage d’un disque ou d’une clé USB consiste à créer l’organisation logique permettant d’y mettre des données. Cette organisation logique est ce que l’on appelle système de fichiers.
Unité 2:Système de fichiers et gestion des disques
b. Représentation
Le système de fichier est conçu de telle sorte que les utilisateurs puissent accéder aisément à leur donnée et effectuer des traitements via des commandes. De même le système de fichier doit permettre aux programmes d’y accéder.
Sous Linux, le système de fichiers est organisé sous forme d’un arbre de répertoires et de sous-répertoires à partir d’une racine commune.
c. Qualifications d’un système de fichiers
Plusieurs attributs (métadonnées) définissent un système de fichiers. Sous linux, les principaux sont :
• la taille maximale ;
• les droits d’accès ;
• les dernières dates d’accès et de modification ;
• le propriétaire et le groupe ;
• le nombre de blocs utilisés ;
• le type de fichiers ;
• le compteur de liens ;
• un arbre d’adresses de blocs de données.
Voir les détails sur : https://doc.ubuntu-fr.org/systeme_de_fichiers
2.1.2 Comparaison de systèmes de fichiers
Il existe plusieurs systèmes de fichiers. Le tableau ci-dessous donne une comparaison des systèmes de fichiers les plus utilisés.
Tableau 1: Comparatif des systèmes de fichiers
Source : https://doc.ubuntu-fr.org/systeme_de_fichiers
Des informations complémentaires peuvent être trouvées sur le lien ci-contre : http://langevin.univ-tln.fr/cours/UPS/extra/chapitre3_sgf.pdf
2.1.3 Création d’un système de fichiers
Utiliser la commande mkfs pour créer un système de fichiers sur un disque ou sur une partition.
La création d’un système de fichier est similaire au formatage.
Par exemple, la commande ci-dessous permet de créer un système de fichier en ext3, avec pour label « sys_data »: mkfs -t ext3 -L sys_data /dev/sda5
L’option -t sert à spécifier le type du système de fichier, tandis que -L permet de définir le label du volume. Par défaut le système de fichier est : ext2
2.1.4 Montage d’un système de fichiers
Un système de fichiers Linux est accessible uniquement si elle est montée sur la hiérarchie du système de fichiers (structure arborescente). Le répertoire utilisé pour monter le système de fichier est appelé le point de montage. Tout répertoire peut agir comme un point de montage pour tout type de système de fichiers, et les systèmes de fichiers montés peuvent contenir d’autres systèmes de fichiers montés. Le montage d’un système de fichiers masque le contenu précédent du répertoire de point de montage, d’où il est préférable d’utiliser un répertoire vide pour le montage. Le répertoire / mnt est fourni comme point de montage temporaire.
Utiliser la commande mount pour manipuler les systèmes de fichier.
Ex :
# mount -t ext2 /dev/hda2 /home
# ls /home
Lorsqu’un système de fichiers n’est plus nécessaire, il peut être démonté. Pour cela utiliser la commande unmount.
Ex :
# umount /home
# ls /home
Visiter le lien ci-contre pour les détails sur le montage/démontage de système de fichiers : http://www.linux-france.org/article/memo/node139.html
Unité 2:Système de fichiers et gestion des disques
Conclusion
L’organisation logique des systèmes de stockage constitue un système de fichier. Il existe plusieurs systèmes de fichiers. Le système de fichiers doit fournir à l’utilisateur une vision structurée de ses données, permettant de les distinguer, de les retrouver, de les traiter et de les manipuler, par exemple sous forme de fichiers au sein d’une arborescence de répertoires avec les commandes associées.
Sous Unix le système de fichier est organisé sous forme d’un arbre de répertoires et de sous- répertoires à partir d’une racine commune. Chaque répertoire fait partie d’une organisation et propose lui-même une organisation : le système de fichiers dispose d’une hiérarchie de données.
Pour plus d’information, consulter le lien : https://doc.ubuntu-fr.org/systeme_de_fichiers
Evaluation
1. En quoi consiste le formatage d’un disque sous linux 2. Comment sont-ils organisés les fichiers sous Linux ?
3. Créez un système de fichiers ext2 sur un disque hda5 (200 MB).
4. Monter ce système de fichiers dans / usr.
Activité 2.2 : Partitionnement Introduction
Le partitionnement consiste en un découpage logique du disque. C’est-à-dire que le support de stockage sera considéré comme un espace de données pouvant être découpé en plusieurs entités logiques et indépendantes disposant chacune de leur propre système de fichiers.
Un disque peut être vu comme une longue bande d’espace de stockage découpée en cases pouvant contenir une quantité donnée d’informations. Le disque peut être utilisé tel quel comme espace de stockage, rien n’empêche de créer un système de fichiers sur un disque sans passer par l’étape de partitionnement. Il est cependant important de donner une organisation logique à cet espace et aux systèmes de fichiers qu’il contiendra, ne serait-ce qu’au nom de la séparation des données (les fichiers de données) et des traitements (les programmes les utilisant et le système). Au cours de cette activité, nous allons détailler l’organisation d’un disque et la manière de le scinder en plusieurs partitions logiques.
2.2.1 Organisation d’un disque
a. MBR
Le premier secteur est le MBR, Master Boot Record, ou zone d’amorce. D’une taille de 512 octets il contient dans ses 444 premiers octets une routine (un programme) d’amorçage destiné soit à démarrer le système d’exploitation sur la partition active, soit un chargeur de démarrage (bootloader), puis 4 octets d’une signature optionnelle (Windows), 2 octets nuls, et les 64 octets suivants contiennent la table des quatre partitions primaires. Le tout finit par une signature 0xAA55 sur deux octets.
Figure 10: Format d’un MBR b. Les partitions
Une partition est un découpage logique du disque. Il en existe trois sortes :
• Les partitions primaires : ce sont celles décrites dans le MBR.
• Les partitions étendues (primaires étendues), une seule par disque (bien que théoriquement il soit possible de créer des partitions étendues au sein d’autres partitions étendues).
• Les partitions ou lecteurs logiques.
Un disque peut contenir jusqu’à 63 partitions en IDE, 15 en SCSI (c’est une limite de
l’implémentation officielle du SCSI) ou via la libata. La limite actuelle est de 15 partitions pour tous les disques avec les derniers noyaux et l’API libata. Cependant quelques distributions permettent d’utiliser l’ancienne API (PATA) pour revenir à l’ancien système.
Il faut noter qu’il s’agit d’une limite par disque, et pas du nombre total de partitions gérées par le système.
Remarque :
Pour dépasser la limite des 15 partitions, il est possible d’utiliser le « device mapper » de Linux, faisant appel notamment à la gestion du LVM (Logical Volume Management). Le LVM permet de regrouper plusieurs disques (Physical volumes) en une seule unité (Volume Group) vue par le système comme un énorme disque unique que vous pouvez découper en partitions (Logical Volumes), sans être limité par le nombre. Et en plus, vous pouvez rajouter des disques dans le groupe après coup, augmenter et réduire la taille des partitions à la volée, sans vous soucier de leur emplacement physique réel...
Unité 2:Système de fichiers et gestion des disques
Les partitions sont numérotées de 1 à n (15 ou 63). Une partition d’une valeur supérieure ou égale à 5 indique qu’il s’agit forcément d’une partition logique. Comme il ne peut y avoir que quatre partitions primaires, la dernière (la 4) est souvent créée comme étendue :
• Partitions 1 à 3 : primaires
• Partition 4 : étendue
• Partitions 5 à n : logiques
Le numéro de la partition apparaît à la suite du nom du fichier périphérique de disque :
• hda1 : première partition primaire du premier disque IDE ;
• hdb5 : cinquième partition, première partition logique du second disque IDE ;
• sda3 : troisième partition primaire du premier disque SCSI / libata ;
• sdc8 : huitième partition, soit quatrième partition logique du troisième disque CSI/libata.
Figure 11: Description schématique d’un disque c. EBR
Chaque partition étendue devant décrire les partitions logiques qu’elle contient, elle doit aussi disposer d’une table de partition. L’EBR (Extended Boot Record) reprend la structure du MBR sauf qu’il n’y a que deux enregistrements possibles dans la table des partitions. Le premier indique effectivement la position et la taille d’une partition logique, tandis que le second est vide si c’est la seule partition logique, ou pointe sur un autre EBR. Il peut donc y avoir plusieurs EBR dans une partition étendue.
• Les EBR forment une liste chaînée, la seconde entrée de partition pointant sur l’EBR suivant.
• Il n’y a qu’une seule partition logique décrite par EBR.
d. PBR
Le PBR (Partition Boot Record), aussi appelé VBR (Volume Boot Record) ou Partition Boot Sector est le premier secteur de chaque partition primaire ou logique. Il peut contenir une routine de démarrage d’un système d’exploitation, un chargeur de démarrage, voire rien du tout si la partition n’a pas vocation à être bootée. Quand le MBR ne contient pas de routine, le bios tente de démarrer et d’exécuter la routine du PBR de la partition marquée active.
e. Types de partitions
Chaque partition dispose d’un type permettant de déterminer son contenu. C’est un identifiant numérique codé sur un octet généralement présenté en hexadécimal.
Comme le type de partition devrait refléter le système de fichiers qu’elle contient, une partition de type 0x0c devrait contenir un système de fichiers de type FAT32 LBA (gros disques). Une partition de type 0x83 devrait contenir un système de fichiers Linux. Mais lequel ? Vous avez vu qu’il en existe plusieurs...
Notez la prédominance des types de partition pour Windows. Windows se base
essentiellement sur ce type pour en déterminer le contenu. Rien n’empêche de créer une partition de type Linux et d’y placer un système de fichiers FAT32. Cependant si vous faites ceci, Windows ne reconnaîtra pas la partition (considérée de type inconnu) et vous ne pourrez pas accéder au contenu.
Linux reconnaît généralement (des exceptions sont possibles) le contenu d’une partition par le système de fichiers qui y réside. Vous pouvez créer un système de fichiers ext3 dans une partition de type 0x0e et constater que tout fonctionne. Le type 0x83 peut accueillir tout système de fichiers Linux : ext2, ext3, reiserfs, jfs, xfs... Cependant pour des raisons de compatibilité veillez à respecter l’association type de partition ó système de fichiers, à rester cohérent.
2.2.2 Manipulation des partitions
Les outils fdisk, cfdisk, sfdisk ou encore parted permettent de manipuler les partitions. Notons également que des outils graphiques existent aussi.
– fdisk : C’est le plus ancien et le plus utilisé des outils de partitionnement. Il n’a aucun rapport avec le fdisk de Microsoft. Il est à base de menus et raccourcis textuels.
– Cfdisk : Il est un peu plus « visuel » et s’utilise avec les flèches directionnelles. Il permet les mêmes opérations que fdisk mais de manière plus conviviale.
– Sfdisk : Il fonctionne en interactif ou non, est assez compliqué mais plus précis.
– parted : Il permet des opérations très avancées sur les partitions comme par exemple leur redimensionnement. Il est soit interactif (c’est un interpréteur de commandes) soit scriptable. Il existe des interfaces graphiques comme qtparted ou gparted.
Unité 2:Système de fichiers et gestion des disques
Ci-dessous, nous présentons le schéma de partitionnement avec gparted
Figure 12: Partitionnement avec gparted
L’outil le plus généralement utilisé est le fdisk. Il se lance en tant que root et sa syntaxe est la suivante : fdisk [-l] [disque]
Chaque paramètre est optionnel. Lancé tel quel fdisk se place sur le premier disque du système. Le paramètre –l permet de lister les partitions du disque donné, ou de tous les disques. Les informations obtenues sont les mêmes qu’en mode interactif avec l’entrée p (print) du menu.
Remarque :
Les manipulations effectuées avec fdisk ne sont prises en compte qu’à la fin, une fois que vous sauvez vos modifications, et non au fur et à mesure. Si vous pensez vous être trompé, n’hésitez pas à quitter sans sauver ou à faire un [Ctrl] C. Vos modifications seront perdues, mais vous aurez sauvé vos partitions.
2.2.2 Le swap
1. Pourquoi créer un swap ?
Dans un environnement 32 bits un processus peut théoriquement accéder à 4 Go d’espace mémoire. Il dispose de 4 Go de mémoire virtuelle, rien qu’à lui et à laquelle aucun autre processeur ne peut accéder. Dans la pratique il y a plusieurs freins à cette possibilité :
• L’espace mémoire adressable d’un processus est partagé entre zone de code et zone de données dont la taille peut varier selon le noyau utilisé.
• Les ordinateurs ne disposent pas tous de 4 Go de mémoire (bien qu’il soit courant de trouver des serveurs Linux disposant de 16, 32 ou même 64 Go de mémoire).
• Tous les processus doivent se partager la mémoire de l’ordinateur.
Que se passe-t-il si un processus n’a plus assez de mémoire pour traiter ses données ? Le système d’exploitation va décharger des segments de la mémoire physique dans une zone d’échange sur disque qui fera office de mémoire virtuelle tampon. Il y a donc un échange entre la mémoire physique et cette zone d’échange, appelé l’espace de swap. Ce processus permet d’utiliser plus de mémoire que l’ordinateur n’en dispose réellement, au prix d’un net ralentissement si le programme est très gourmand.
2. Taille optimale
Il n’y a pas de règles strictes sur la taille du swap. Cependant les quelques règles courantes suivantes sont valables dans la plupart des cas :
• Moins de 512 Mo de RAM : deux fois la RAM.
• 1 Go à 4 Go : la taille de la RAM.
• Plus de 4 Go : 4 Go, plus ou moins, selon l’utilisation des processus.
3. Créer une partition de swap
• Créer une partition ou fichier destinée à accueillir l’espace swapp (commande fdisk) ;
• Générer un fichier de swap (commande dd) ;
• Synchronisez la table des partitions avec partprobe ;
• Formater la zone à l’aide de la commande mkswap.
Voir les détails sur : http://www.linux-france.org/article/memo/node141.html
Si vous créez plus de 1 ou 2 Go de swap, vous devriez penser à créer plusieurs partitions de swap sur des disques différents situés sur des contrôleurs matériels différents. Linux répartira la charge sur chacune de ces partitions, ce qui garantira des accès plus rapides.
4. L’activation et la désactivation d’un swap a. Activation dynamique
Linux permet d’activer et de désactiver le swap, ou des morceaux de swap, directement sans avoir à redémarrer le système.
La commande swapon permet d’activer une partition de swap :
# swapon /dev/sda5
Le paramètre -p permet de modifier la priorité du swap. Plus la valeur, comprise entre 0 et 32767, est élevée, plus la priorité d’une zone de swap est élevée. Le système l’utilisera en priorité.