Poly-CM-R101-2024-25 Initiation aux réseaux informatiques PDF
Document Details
Uploaded by GoodDatePalm
Université de Poitiers
2025
Sébastien COUDERC
Tags
Summary
Ce document est un cours sur l'initiation aux réseaux informatiques, destiné aux étudiants du BUT Réseaux et Télécoms. Il aborde différents sujets comme l'architecture des réseaux, les systèmes d'exploitation et les concepts de base de la communication réseau. Le document inclut un plan détaillé et vise à fournir aux étudiants une compréhension de base des réseaux informatiques.
Full Transcript
R101 – Initiation aux réseaux informatiques Cours BUT Réseaux et Télécoms Sébastien COUDERC Version 1.1 2024 - 2025 2024-2025 Version 1.1 Sébastien COUDERC 1 Thèmes abordés ◦...
R101 – Initiation aux réseaux informatiques Cours BUT Réseaux et Télécoms Sébastien COUDERC Version 1.1 2024 - 2025 2024-2025 Version 1.1 Sébastien COUDERC 1 Thèmes abordés ◦ Administration et sécurité des réseaux ◦ Architecture de l’Internet Les ressources réseau au S1 ◦ R101 : Initiation aux réseaux informatiques 46 heures ◦ R102 : Principe et architecture des réseaux 27 heures ◦ R103 : Réseaux locaux et équipements actifs 33 heures Les ressources réseau au S2 ◦ R201 : Technologie de l’Internet 63 heures ◦ R203 : Bases des services réseaux 25 heures 2 Cours, Travaux Dirigés, Travaux Pratiques ◦ 1 contrôle écrit ◦ TP notés : moyenne des TP ◦ 1 contrôle de TP ◦ Contrôles ponctuels pendant les séances sous forme de QCM Les Situations d’Apprentissage et d’Evaluation (SAE) Les SAE sont composées d’heures de cours encadrées et d’heures de travail réalisées en autonomie. Ces apprentissages sont évalués. ◦ SAE11 : Se sensibiliser à l’hygiène informatique et à la cybersécurité ◦ SAE12 : S’initier aux réseaux informatiques (9h encadrées et 12h en autonomie) ◦ SAE21 : Construire un réseau informatique pour une petite structure (9h encadrées et 12h en autonomie) 3 Être actif dans votre formation : écouter et participer ◦ Poser des questions ◦ Prendre des notes ◦ Apprendre son cours ◦ Préparer les exercices et les TP ◦ Réviser les notions au fur et à mesure ◦ S’exercer chez soi : Packet Tracer, Machine Virtuelle Linux, GNS3… https://updago.univ-poitiers.fr/course/view.php?id=41171 https://www.netacad.com/fr Rappel des consignes ◦ Être ponctuel ◦ Emmener vos supports de cours (cours, TD, TP) ◦ Prévenir et justifier en cas d’absence (secrétariat, directeur des études et l’enseignant (mail)) 4 Objectifs ◦ Appréhender l'environnement informatique au sein du département RT ◦ Apprendre les notions de base de l'adressage IPv4 ◦ Comprendre le rôle d'une passerelle et d'un serveur de noms ◦ Connaître l’architecture des systèmes informatiques ◦ Maîtriser les principes de base de l’administration d’un système d’exploitation réseau TP ◦ Installer, configurer, administrer un système d’exploitation Linux/Windows ◦ Concevoir, installer et configurer un réseau d’entreprise simple SAE12 ◦ Mettre en place un système de vidéo surveillance qui utilise le réseau informatique de l’entreprise. 5 Plan – Initiation aux réseaux d’entreprise ◦ Partie 1 : Concepts de base des réseaux Objectifs : Comprendre l’organisation des réseaux filaires et appréhender l’organisation logique des réseaux et leurs protocoles Les réseaux et notre quotidien Définition d’un réseau Communiquer à travers un réseau de données Différents types de réseaux de communication : data / voix / vidéo Réseau point à point, diffusion, multidiffusion LAN, MAN et WAN 6 Plan – Initiation aux réseaux d’entreprise ◦ Partie 2 : Les bases du système d’exploitation Objectifs : Comprendre les interactions entre les systèmes d’exploitation, le réseau et les applications qui l’utilisent. Architecture d’un système d’exploitation Notions de machines physique et machine virtuelle Notions de noyau, de système de fichiers, de système mono/multi utilisateurs et mono/multi tâches, services Les différents types d’OS : Les systèmes clients : station de travail, station mobile, client léger… Les systèmes serveurs : serveurs d’authentification, d’annuaire, de stockage, Web … Les systèmes embarqués : tablettes, smartphones … Les systèmes d’exploitation commerciaux et Open Source L’administration des systèmes d’exploitation 7 Plan – Initiation aux réseaux d’entreprise ◦ Partie 3 : L’ architecture client-serveur dans un réseau local Objectif : Comprendre le principe d’une relation client / serveur simple. Architecture et communication de type Client / Serveur Modèle Client / Serveur Exemples d’applications Client / Serveur sur TCP / IP Connexions distantes : Telnet, SSH… Web : HTTP Transfert de fichiers : FTP, TFTP, NFS, SMB … Serveur de noms : DNS Gestion d’utilisateurs distants : NIS Courrier électronique : POP, IMAP, SMTP… …. 8 Partie 1 : Concepts de base des réseaux Objectifs : Comprendre l’organisation des réseaux filaires et appréhender l’organisation logique des réseaux et leurs protocoles 9 Définition générale d’un réseau 10 Le besoin de communiquer La communication est un besoin essentiel de l’Homme. Evolution des modes de communication : plus en plus nombreux et rapides Supports de communication : fumée, lettres, presse, téléphone, radio, télévision, internet (web, mail…), objets connectés (IoT)... Pour qu’il y ait communication , il faut : un support un message des règles 11 Définition générale d’un réseau ◦ Les réseaux sont des systèmes composés de liens qui permettent de relier des entités en respectant des règles de communication ◦ Exemples : réseau postal, réseau téléphonique, réseau de transport public, réseau informatique ◦ Un réseau informatique est un ensemble d’équipements reliés entre eux pour échanger des données 12 Les réseaux facilitent notre quotidien ◦ Apprendre : enseignement à distance, visualiser des vidéos… ◦ Communiquer : réseaux sociaux, messagerie instantanée, blog, wiki, podcast… ◦ Travailler : e-mails, téléphonie, visio-conférence… ◦ Se divertir : jouer, films… 13 Exemples d’utilisation des réseaux 14 Réseaux de tailles diverses ◦ Réseaux domestiques et réseaux de petits bureaux (SOHO) : relient quelques ordinateurs entre eux et à Internet connexion à un réseau d’entreprise ou à des ressources partagées ◦ Grands réseaux : stockage, serveurs, accès rapides, proposition de services ◦ Réseaux mondiaux : Internet = réseaux de réseaux qui relient des centaines de millions d’ordinateurs dans le monde SOHO : Small Office and Home Office 15 Composants d’un réseau 16 Eléments d’un réseau ◦ Périphériques réseau Ordinateur, commutateur, routeur, téléphone IP ◦ Supports Cuivre, fibre, ondes radio ◦ Services : applications réseau (logiciel) Application d’hébergement web, de messagerie… 17 Différents types de périphériques réseaux ◦ Périphériques finaux : Source ou destination d’un message transmis sur le réseau ◦ Périphériques intermédiaires Connectent chaque périphérique final au réseau Connectent plusieurs réseaux pour former un inter-réseau 18 Supports de transmission ◦ Cuivre Les données sont codées en impulsions électriques. ◦ Fibre optique Les données sont codées sous forme d'impulsions lumineuses. ◦ Sans fil Les données sont codées en utilisant les longueurs d'onde du spectre électromagnétique. 19 Câble à paires torsadées ◦ Blindé ou non / écranté ou non : type STP, UTP, FTP, SFTP ◦ Câble droit ou câble croisé ◦ Pourquoi faut-il disposer un câble croisé entre 2 équipements de même type ? 20 Types de fibre ◦ Monomode : utilisée sur de longues distances > 1 km ◦ Multimode : utilisée sur de longues distances < 1 km Fibre monomode Fibre multimode 21 Normes des supports Sans fil ◦ Les supports sans fil transportent des signaux électromagnétiques (fréquence radio) qui représentent les informations binaires des communications de données. ◦ Avantage : la mobilité ◦ Inconvénients : Zone de couverture Les interférences La sécurité : aucun accès physique Support partagé : mode semi-duplex ◦ Exemple du WiFi Utilise la bande des 2,4 GHz ou du 5 GHz 22 Fibre ou cuivre 23 Schémas de topologie 24 Topologie physique ◦ Désigne les connexions physiques ◦ Identifie la façon dont les périphériques finaux et les périphériques intermédiaires (routeurs, commutateurs, points d'accès…) sont interconnectés (étoile ou point à point). 25 Différentes topologies physiques ◦ Topologie physique de réseaux locaux (LAN) 26 Topologie logique ◦ Identifie les périphériques, les ports, et le schéma d'adressage ◦ Désigne la manière dont un réseau transfère les informations d'un nœud à l'autre. Représentation logique Représentation logique simplifiée 27 Topologie physique / topologie logique ◦ Quel est le type de topologie utilisée dans le schéma 1 et dans le schéma 2 ? Schéma 1 Schéma 2 …………………………………. …………………………………. 28 Topologie physique / topologie logique ◦ Quel est le type de topologie utilisée dans le schéma 1 et dans le schéma 2 ? Schéma 1 Schéma 2 Topologie physique Topologie Schéma logique 1 Représente le câblage du réseau au sein d’un Représente le cheminement logique de bâtiment l’information à travers le réseau – plan d’adressage 29 Différents types de réseaux ◦ Deux types d’infrastructure les plus répandues Réseau local (LAN – Local Area Network) Réseau étendu (WAN – Wide Area Network) ◦ Autres types de réseaux Réseau métropolitain (MAN – Metropolitan Area Network) Réseau local sans fil (WLAN – Wireless Local Area Network) 30 Les réseaux locaux (LAN) ◦ Couvrent une petite zone géographique : quelques kilomètres ◦ Interconnectent les périphériques finaux : maison, bâtiment, site. ◦ Gérés par une seule entreprise ◦ Fournissent un débit élevé aux appareils internes : 100 Mbit/s, 1 Gbit/s, 10 Gbit/s ◦ Technologie Fast Ethernet, Giga Ethernet… 31 Les réseaux étendus (WAN) ◦ Interconnectent les LAN ◦ Zone géographie importante : pays, continent ◦ Gérés par plusieurs prestataires de services : opérateurs télécoms ◦ Fournissent des liaisons à plus bas débit entre les réseaux locaux ◦ Exemple : le réseau universitaire « RENATER » https://www.renater.fr/weathermap/weathermap_metropole 32 Internet ◦ C’est un ensemble de réseaux interconnectés entre eux ◦ Les réseaux locaux utilisent les services WAN pour se connecter les uns aux autres ◦ Pas détenu par une personne ou un groupe ◦ Les règles de communication sont normalisées. Utilise la pile de protocoles TCP / IP (Internet Protocol) L’information transite par des fournisseurs d’accès internet (FAI) 33 Une vue plus concrète de l’Internet ◦ Submarine Cable Map : https://www.submarinecablemap.com/ ◦ Propriétaire, année de mise en service, points de terminaisons, longueur du câble 34 Connexion à Internet pour les particuliers et les petites entreprises ◦ Les technologies d’accès les plus utilisées sont : la technologie xDSL (Digital Subscriber Line) ou FTTH (Fiber To The Home) le câble haut débit les WAN sans fil les services mobiles. FTTH 35 Les attentes d’un réseau 36 Qu’attend t-on d’un réseau ? Un réseau doit transporter l’information entre 2 correspondants dans les meilleures conditions. Il doit prendre en charge 4 caractéristiques : La tolérance aux pannes : limite l’impact des pannes du matériel et des logiciels associés, notion de disponibilité – redondance des liens et / ou des équipements L’évolutivité : prendre en charge de nouveaux utilisateurs sans affecter les performances fournies aux utilisateurs existants. Malgré la panne du Connexion d’un réseau routeur, les utilisateurs supplémentaire sans ne sont pas affectés affecter les performances Utilisation de liaisons Tolérances aux pannes redondantes Evolutivité 37 Qu’attend t-on d’un réseau ? (suite) La qualité de service (QoS) : permettre des débits adaptés à l’information qui transite sur les réseaux. Priorisation de la voix par rapport aux Données - Voix : délai d’attente maximal de 300 ms entre émetteur et récepteur - Vidéo : débits entre 1 et 8 Mbits/s - Données : contrainte de débits moins importante La sécurité : assurer la sécurité et la confidentialité des données échangées. Mettre en place des processus d’authentification et de chiffrement des données. le routeur gère la QoS : observe le type de trafic et Transmission multimédia en sa priorité continu, plus prioritaire Protéger le réseau contre les accès non autorisés : login, mot de passe, empêcher l’accès physique au réseau Pages Web moins prioritaires La qualité de service La sécurité 38 Qu’attend t-on d’un réseau ? (suite) Débit binaire (D) : c’est le nombre de bits (N) émis sur le support de transmission pendant une unité de temps (T). Le débit s’exprime par D = N / T avec D en bits/s Délai d’acheminement ou latence : c’est le temps qui s’écoule entre le début de la transmission d’un message sur le réseau et la fin de sa réception par le destinataire. Taux d’erreur binaire BER (Bit Error Rate) : c’est le rapport du nombre de bits reçus en erreur au nombre de bits total transmis. BER = nombre de bits erronés/nombre de bits transmis Exemple : Téléphonie : 10-3 BER admis ; Vidéo non compressée : 10-4 BER admis ; Données 10-9 BER La gigue représente la variation du délai d’acheminement. Exemple – test de débit DegroupTest depuis le réseau de l’Université 39 Les réseaux convergents 40 Des réseaux traditionnels distincts ◦ Les réseaux informatiques, téléphoniques et de diffusion traditionnels n’utilisent pas une infrastructure commune. ◦ Ces réseaux distincts ne peuvent pas communiquer ensemble car : Les technologies et les matériels sont différents Les contraintes sont différentes Les usages sont différents Utilise la commutation de paquets Utilise la commutation de circuits Temps de transmission < à 300 ms Utilise la diffusion Hertzienne 41 Une infrastructure commune ◦ Les réseaux convergents peuvent transmettre des données, de la voix et des flux vidéos entre différents types d'appareils, par le biais d'une même infrastructure réseau ◦ Tout le trafic n’est pas identique : trafic en temps réel (VoIP, Visioconférence), contenu Web, trafic des transactions, trafic en continu (VoD, Films), trafic de masse (Courriel, sauvegardes…) ◦ Mise en place de priorités : Qualité de Service (QoS) 42 Protocoles et communication réseau 43 Principe de base de la communication ◦ Communication = Source + Destination + Support de transmission + Règles Communication Communication humaine entre ordinateurs ◦ Définition des règles l'identification de l'expéditeur et du destinataire l'utilisation d'une langue et d'une syntaxe communes la vitesse et le rythme d'élocution la demande de confirmation ou d'accusé de réception ◦ Protocoles = règles qui régissent la communication dans les réseaux 44 Options de remise des messages ◦ Monodiffusion (unicast) – 1 vers 1 ◦ Multidiffusion (multicast) – 1 vers un groupe ◦ Diffusion (broadcast) – 1 vers tous 45 Le modèle de référence TCP/IP ◦ Rendre les protocoles indépendants de la technologie ◦ Diviser la fonction « Communiquer » en plusieurs sous fonctions où chaque sous fonctionnalité est définie par une couche du modèle HTTP (HyperText Transfert Protocol) TCP IP Ethernet 46 Les unités de données de protocole (PDU : Protocol Data Unit) ◦ Un protocole est constitué d’un champ « Entête » et « Données » ◦ L’ensemble « Entête » + « Données » forme un PDU PDU Couches Données Application Segment Transport Paquet Internet Trame Accès réseau Bits 47 Exemple d’encapsulation ◦ Les données de la page web sont encapsulées dans un segment puis dans un paquet puis dans une trame puis codée en binaire et acheminée sur le support 010001001001000100011110101111 48 Exemple de désencapsulation ◦ Les informations binaires arrivent au client Web. Il y a désencapsulation de la trame, puis du paquet, puis du segment, puis des données et enfin affichage de la page web. 010001001001000100011110101111 49 Adressage dans un réseau 50 Communiquer dans un réseau ◦ Dans un réseau local de type Ethernet, l’interface d’un équipement réseau doit être localisée et pouvoir communiquer sur un réseau IP. ◦ L’interface doit posséder : Une adresse physique unique appelée « adresse MAC » Codée sur 48 bits et représentée au format hexadécimal suivant : xx : xx : xx : xx : xx : xx Gérée par l’IEEE qui garantit l’unicité Mémorisée par un circuit électronique implanté dans la carte réseau Une adresse logique unique qui permet d’identifier le réseau IP et l’hôte dans ce réseau. Formée de 32 bits écrits au format décimal et associée à un masque de sous réseau. Configurée par l’administrateur réseau 51 Configurer l’adressage IP d’une interface réseau ◦ entrées manuellement sur les périphériques finaux ◦ attribuées automatiquement par un serveur à l'aide du protocole DHCP (Dynamic Host Configuration Protocol). 52 Vérifier l’adressage IP d’une interface réseau ◦ ipconfig /all sous Windows ◦ ip address sous Linux Nom de l’interface réseau Ethernet Adresse MAC de l’interface réseau Adresse IP de l’interface réseau et masque de sous-réseau 53 Vérifier l’adressage IP d’une interface réseau ◦ ipconfig /all sous Windows ◦ ip address sous Linux Nom de l’interface réseau « ens33 » Adresse MAC de l’interface réseau Adresse IP de l’interface Nom de l’interface qui réseau et préfixe réseau Adresse IP de diffusion possède l’adresse IP (masque de sous réseau) 54 L’adressage IP ◦ Identifier chaque périphérique sans équivoque ◦ Permettre le routage des paquets IP entre les différents réseaux ◦ Adresse IPv4 Composée d'une chaîne de 32 bits divisée en quatre parties appelées octets. Chaque octet contient 8 bits séparés par un point. Conversion du format binaire au format décimal ◦ Utilisez le tableau suivant pour vous aider dans les conversions 55 Structure d’une adresse IP ◦ 4 octets exprimés en décimal ◦ Séparée en 2 parties le numéro de réseau (Net ID) Le numéro d’hôte (Host ID) ◦ Le masque de sous réseau sert à identifier la partie réseau et la partie hôte d’une adresse IPv4 56 Le masque de sous réseau ◦ Nombre de 32 bits (4 octets exprimés en décimal) – Ex : 255.255.255.0 ◦ Bits à 1 du masque fixent la partie réseau de l’adresse IP ◦ Bits à 0 du masque indiquent la partie hôte de l’adresse IP 2 notations pour le masque ◦ La notation décimale : 192.168.1.45 / 255.255.255.0 ◦ La notation CIDR (nombre de bits à 1 du masque) : 192.168.1.45 / 24 ◦ Exemples : 10.1.0.7 / 255.255.192.0 ou 10.1.0.7 / 18 224.7.43.5 / 255.255.255.252 ou 224.7.43.5 / 30 57 Application du masque de sous réseau ◦ Pour déterminer l’adresse de réseau d’un hôte, il faut effectuer un ET logique entre l’adresse IP et le masque de sous-réseau de l’hôte. ◦ Si le résultat du ET logique est identique pour 2 hôtes alors ces 2 machines pourront communiquer ensemble directement. ET ET = ≠ = Adresse réseau (Station 1) 192.168.12.0 ≠ Adresse réseau (Station 2) 192.168.84.0 58 Adresse de réseau ◦ Identifie un réseau logique ◦ Les bits du numéro d’hôte sont à 0 ◦ Exemple : 172.16.0.0/16 ou 172.16.0.128/25 ◦ Permet de nommer un réseau dans une table de routage Tous les bits de la partie hôte sont à 0 59 Adresse de diffusion (broadcast) ◦ Désigne tous les hôtes d’un même réseau ◦ Les bits du numéro d’hôte sont à 1 ◦ Exemple : 172.16.255.255/16 ou 172.16.0.255/24 ◦ C’est l’adresse qu’utilise un hôte pour joindre tous les autres hôtes du réseau Tous les bits de la partie hôte sont à 1 60 Adresse IP pour un hôte ◦ Toutes les valeurs de la partie hôte d'une adresse réseau sauf les 2 adresses réservées (réseau et diffusion) ◦ Chaque adresse IP doit être unique dans un réseau Nombre d’adresses utilisable dans un réseau ◦ Nombre d’hôtes = 2Nombre de bits de la partie hôte - 2 61 Périphériques intermédiaires 62 Rôle des principaux éléments d’un réseau local Le commutateur (switch) - Elément actif permettant de connecter les différents périphériques finaux d’un réseau local. - Utilise les adresses matérielles (adresses MAC) pour identifier les périphériques finaux du réseau - Principales caractéristiques : - nombre de ports disponibles : 24 ou 48 ports + ports supplémentaires pour périphériques SFF (small form-factor) enfichables - débit de données théorique du port (vitesse du câble) : 100 Mbit/s pour Fast Ethernet - débit de transfert = quantité de données pouvant être traitée par seconde - Exemple : un commutateur gigabit à 48 ports fonctionne à la vitesse du câble. Il génère 48 Gbits/s de trafic. Si le débit de transfert pris en charge par le commutateur est de 32 Gbits/s, il ne peut pas fonctionner à la vitesse du câble simultanément pour tous les ports. Les adresses MAC sont utilisées par le commutateur pour acheminer des trames entre une source et une destination 63 Rôle des principaux éléments d’un réseau local Le routeur (router) − Elément actif permettant d’interconnecter des réseaux logiques IP différents. − Lorsqu’un routeur reçoit un paquet IP sur une interface, il détermine l’interface à utiliser pour transférer le paquet vers sa destination. − Utilise les adresses IP du paquet pour déterminer la route à emprunter Réseau IP : Réseau IP : 10.0.0.0 /24 10.0.1.0 /24 64 Passerelle (Gateway) par défaut Périphérique capable d’acheminer le trafic vers d’autres réseaux : généralement un routeur Adresse de passerelle par défaut = adresse IP de l’interface du routeur dans le réseau local L’hôte examine la partie réseau de l’adresse IP de destination du paquet. Si cette destination ne correspond pas au réseau IP de l’hôte émetteur, le paquet doit être acheminé en dehors du réseau d’origine. Pour ce faire, le paquet est envoyé à la passerelle. Réseau IP : 10.0.0.0 /24 Passerelle par défaut pour le réseau 10.0.0.0 /24 Configuration sous Windows de l’adresse PC2 de passerelle pour l’hôte PC2 65 Notions de routage de paquets IP 66 Tests de connectivité − La commande ping est un utilitaire de test pour vérifier la connectivité entre deux hôtes − Elle utilise des messages de requêtes (Echo Request) et de réponse d’écho (Echo Reply) du protocole ICMP Echo request Echo reply C:\ping 10.0.1.253 10.0.0.0 /24 10.0.1.0 /24 67 Exemple de tests de connectivité ◦ 8.8.8.8 : adresse IP publique d’un serveur DNS public de Google. ◦ Par défaut, sous Windows, 4 requêtes ICMP sont émises ◦ Chaque ligne dans Command Prompt correspond à un aller-retour ◦ Time = 28 ms : durée de l’aller – retour ◦ TTL = 120 : durée de vie du paquet 68 Exemples : - test de connectivité - configuration d’une adresse de passerelle - service HTTP - service DNS 69 Test de connectivité dans le réseau local Echo Request Encapsulation Echo Request dans Paquet puis Trame Echo Reply et transmission sous forme numérique (bits) Le commutateur reconstitue la trame et transmet sur le port auquel le routeur est connecté Le routeur reconstitue la trame, désencapsule le paquet et le message. Il répond avec Echo Reply, encapsule Paquet puis Trame et transmission Bits C:\ping 192.168.0.254 Acheminement inverse pour la réponse ◦ Par défaut, sous Windows, 4 requêtes ICMP sont émises ◦ Chaque ligne dans Command Prompt correspond à un aller-retour ◦ Time = 8ms : durée de l’aller – retour ◦ TTL =255 : durée de vie du paquet 70 Passerelle par défaut ◦ Périphérique capable d’acheminer le trafic vers d’autres réseaux ◦ Adresse de passerelle par défaut = adresse de l’interface du routeur dans le réseau local de l’ordinateur ◦ Configuration de l’adresse de passerelle par défaut de PC2 71 Passerelle par défaut C:\ping 200.123.211.1 ◦ Comment procède PC2 pour déterminer que le paquet est destiné au routeur passerelle ? PC2 encapsule ICMP dans un Paquet : Src = IP-PC2 ; Dest = IP-SRV1 PC2 détermine le réseau de destination 200.123.211.0/24 et le compare au sien Si la destination ne se trouve pas sur le réseau 192.168.0.0/24 de PC2, PC2 encapsule le paquet dans une trame : Src = MAC-PC2 ; Dest = MAC-Fa0/0 du routeur PC2 transmet les informations numériques sur le support Si la destination se trouve sur le réseau de PC2 PC2 encapsule le paquet dans une trame : Src = MAC-PC2 ; Dest = MAC-PCx du réseau PC2 transmet les informations numériques sur le support 72 Requête HTTP http://200.123.211.1:80 ◦ HTTP = protocole de communication Client / Serveur Utilise la méthode GET pour demander la page index.html au serveur ◦ PC2 élabore la requête HTTP ◦ PC2 encapsule le message dans un segment TCP Port source = identifie l’application cliente (le navigateur) généré de manière dynamique par l’OS et > à 1024 Port destination = identifie l’application serveur (le service HTTP) Numéros réservés < à 1024 ; 80 pour HTTP ◦ PC2 encapsule le segment dans un paquet IP : Src = IP-PC2 et Dst = IP-SRV1 ◦ PC2 encapsule le paquet dans trame Ethernet : Src = MAC-PC2 et Dst = MAC-Fa0/0 ◦ PC2 délivre le paquet sur le support 73 Service de résolution de noms de domaine (DNS) ◦ DNS = protocole de communication Client / Serveur Associe de manière automatique un nom de domaine à une adresse IP www.rpp.net à 200.123.211.1 ◦ Configuration de l’adresse du serveur DNS sur le client PC2 74 Requêtes DNS et HTTP http://www.rpp.net ◦ DNS = protocole de communication Client / Serveur Associe de manière automatique un nom de domaine à une adresse IP ◦ PC2 élabore la requête DNS ◦ PC2 encapsule le message dans un datagramme UDP Port source = identifie le service client DNS de PC2 : numéro > à 1024 Port destination = identifie l’application serveur (le service DNS) : 53 pour DNS ◦ PC2 encapsule le segment dans un paquet IP : Src = IP-PC2 et Dst = IP-SRV2 ◦ PC2 encapsule le paquet dans trame Ethernet : Src = MAC-PC2 et Dst = MAC-Fa0/0 ◦ PC2 délivre le paquet sur le support… ◦ Après réception de la réponse du DNS, PC2 élabore la requête HTTP à partir de l’adresse IP du serveur web. (voir diapo précédente). 75 Partie 2 : Bases du système d’exploitation Objectifs opérationnels Installer, configurer et superviser un système Créer et gérer les utilisateurs et les fichiers Maitriser les principes de base de l'administration d'un système d'exploitation réseau 76 2.1 : Généralités sur les systèmes d’exploitation Plan ◦ Structure matérielle d’un ordinateur ◦ Rôle d’un système d’exploitation ◦ Les fonctions d’un système d’exploitation ◦ Les composantes d’un système d’exploitation ◦ Les caractéristiques et les différents systèmes d’exploitation 77 Structure des ordinateurs modernes ◦ Un ordinateur est composé de 3 parties : Mémoire Microprocesseur Périphériques d’entrée-sortie Périphériques de stockage Bus système Processeur Mémoire "Cerveau" de l’ordinateur Espace contenant les programmes à exécuter et Jeu d’instructions machine (ex. charger un mot mémoire leurs données dans un registre, stocker le contenu d’un registre dans la mémoire, …) Périphériques d’Entrée - Sortie Ensemble de registres (compteur ordinal…) Disque dur, clavier, écran… Exécute les instructions machine Contrôleur de périphérique d’E/S 78 Définition ◦ Un système d'exploitation SE ou OS (Operating System) désigne un ensemble de programmes qui réalisent l'interface entre le matériel de l'ordinateur et les utilisateurs. C'est l'OS qui gère la mémoire vive et tous les accès aux périphériques. ◦ Le système d’exploitation possède 2 objectifs principaux : Logiciels utilisateurs - Navigateur (IE, Firefox…) - construction au dessus du matériel - Traitement de texte, tableur (packoffice, openoffice) d’une « machine virtuelle » plus - Messagerie (webmail, outlook, thunderbird) facile d'emploi et plus conviviale - Jeux … - prise en charge de la gestion de plus en plus complexe des ressources : Système d’exploitation gestion du partage des ressources entre les différents programmes / utilisateurs Machine physique 79 Partage de la machine physique ◦ Les programmes sont chargés en mémoire centrale de l’ordinateur Microprocesseur (CPU) Mémoire centrale (RAM) Système d’exploitation (OS) ◦ Partage du processeur : exécute les Prog 1 : Traitement de texte tâches selon un algorithme E/S : Imprimante d’ordonnancement. Prog 2 : Tableur ◦ Partage de la mémoire centrale : E/S : Disque protection de l’OS par rapport aux Prog 3 : Navigateur Web programmes utilisateurs protection entre programmes utilisateurs ◦ Partage des périphériques : contrôleur DMA gère les E/S 80 Faciliter l’utilisation de la machine physique ◦ Le système fournit à ses utilisateurs une interface plus commode à utiliser que le matériel Dissimule les détails de mise en œuvre Dissimule les limitations physiques (nombre de processeurs, taille mémoire) et le partage des ressources entre plusieurs utilisateurs Ecrire des données Exécuter des programmes Machine virtuelle Système d’exploitation Interface pour masquer les caractéristiques matérielles Appels Systèmes Commandes Machine physique 81 L’OS assure 3 fonctions principales ◦ La gestion du processeur ◦ La gestion de la mémoire ◦ La gestion des objets externes – les fichiers 82 Les processus ◦ Dans un système multiprogrammé/monoprocesseur, le processeur ne travaille que pour une tâche et un utilisateur à la fois. Pendant ce temps, les autres programmes présents en mémoire centrale sont en attente. Il faut donc distinguer un programme en train de s'exécuter d'un programme qui ne progresse pas. C'est la notion de processus ◦ Un processus est un programme en cours d’exécution ◦ Les processus sont identifiés par un numéro de processus ◦ Un processus peut posséder trois états PRET différents : Élu (en cours d’exécution), Prêt (en attente de l’unité de calcul), Attente (en attente de ressources de m an de de r es so ur ce s ELU ATTENTE autres que l’UC). Gestion du processeur ◦ le système doit gérer l‘attribution (allocation) du processeur aux différents programmes pouvant s'exécuter (processus). Cette allocation se fait par le biais d'un algorithme d'ordonnancement qui planifie l'exécution des programmes 83 Allocation mémoire ◦ Le système doit gérer l’allocation de la mémoire centrale entre les différents programmes pouvant s’exécuter et assurer leur protection : Mémoire centrale - la protection des processus, découpage et étanchéité des espaces mémoire, Noyau contrôles des accès aux services du noyau (appels systèmes), Processus 1 (Code + données) - protection du noyau Processus 2 (Code + données) pour éviter le piratage ou les « plantages » de l’OS, Processus 3 (Code + données) - protection des utilisateurs entre eux. ◦ Comme la mémoire physique est souvent trop petite pour contenir la totalité des programmes, la gestion de la mémoire se fait selon le principe de la mémoire virtuelle (partition Swap sur le disque). ◦ A un instant donné, seules les parties de code et données utiles à l’exécution sont chargées en mémoire centrale. 84 Le système de gestion de fichiers (SGF) ◦ Gestion et organisation physique des données sur un support (mémoire de masse) ◦ Structure de données permettant d'enregistrer les fichiers dans une arborescence Utilisateur Application SGF Stockage Rôle du SGF ◦ Organiser le stockage des fichiers sur le support physique Gérer l’espace disponible en fonction de la taille des fichiers Localiser l’emplacement physique des fichiers ◦ Sécuriser l’accès aux fichiers par l’intermédiaire de permissions Plusieurs utilisateurs peuvent donc se partager des fichiers en toutes sécurité ◦ Assurer la conservation des données même en cas d’incident Coupure d’alimentation Panne matérielle ◦ Permettre aux applications informatiques : de créer, modifier, supprimer des fichiers d’accéder aux fichiers selon une arborescence logique indépendante du stockage physique et du type de support. 85 Architecture du système d’exploitation Linux Divisée en 3 couches distinctes ◦ La couche physique : Périphériques et BIOS ◦ La couche système : Gérée par le noyau ◦ La couche interface : le Shell et/ou le système X-Window X-Window Shell Noyau (Kernel) BIOS Périphériques 86 Le noyau (kernel) Représente les fonctions fondamentales du système d'exploitation telles que la gestion de la mémoire, des processus, des fichiers, des entrées-sorties principales, et des fonctionnalités de communication L’interpréteur de commande (le Shell) Permet la communication avec le système d'exploitation par l'intermédiaire d'un langage de commandes Le système de fichiers (File System) Organisation physique des données sur un support Le système de fichier est adapté au support (Disque dur, DVD, clé USB…) ext2, ext3, ext4, NFS, XSF, ReiserFS, HSF... FAT, FAT32, NTFS, VFAT HSF, HSF+, HSX, MFS Une interface Homme – Machine (IHM) ◦ graphique pour Windows, Unix, Linux, MacOS/X ◦ en ligne de commande pour Unix, Linux 87 Taille des données traitées 8, 16, 32 ou 64 bits Multitâches (Multithreaded) Un processus est un programme en cours d’exécution Plusieurs tâches (processus) peuvent être exécutées simultanément Cas d’une machine mono processeur : à un instant donné, un seul processus peut s’exécuter. L’ordonnanceur (Schedule) découpe du temps en tranches attribue chaque tranche à un processus → système en temps partagé. interrompt autoritairement la tâche en cours d’exécution lorsque le quantum attribué est fini et passe la main à la suivante : pas de blocage → mécanisme préemptif ◦ Illusion d’une exécution réellement en parallèle 88 Multiprocesseurs (Multiprocessing) Capable de faire travailler plusieurs processeurs en parallèle Réseau (Network) Possède des modules de communication réseau Embarqué (Embded) Pour fonctionner sur des machines de petite taille (PDA, appareils électroniques autonomes...) Temps réel (Real time) Capable de fonctionner dans un environnement contraint temporellement 89 Systèmes d’exploitation de type UNIX ◦ GNU / Linux Debian, Ubuntu, Redhat, Fedora, Mandriva, Suse, OpenSuse ◦ BSD [Berkley Software Distribution] NetBSD, OpenBSD, OliveBSD, FreeBSD, PicoBSD, DragonFly BSD, Darwin (cf. Mac OS X, semi-propriétaire) ◦ UNIX propriétaires AIX (IBM, Sys. V), A/UX (Apple, Sys. V), BOS (Bull OS), Irix (Silicon Graphics, Sys. V), HP- UX (Hewlett Packard, Sys.V), LynxOS (LynuxWorks), NeXTSTEP (NeXT, BSD), Sinix (Siemens), Solaris (Sun, Sys. V), SunOS (Sun, BSD), Tru64 (Compaq). Les systèmes d’exploitation Microsoft ◦ Basés sur MS DOS MSDOS 1.0-8.0, PC DOS 2000, FreeDOS 1.0 Windows 1.0, Windows 2.0, Windows 3.x, Windows 95, Windows 98, Windows Me ◦ Basés sur Windows NT (New Technology) NT 3.1, NT 3.5x, NT 4.0, NT 5.0 (Windows 2000), XP, Serveur 2003, Vista, Serveur 2008, Windows 7, 8, 9, 10, 11, Windows Server 2012-2022 90 Noyau monolithique modulaire Multitâches, multiutilisateurs Multi-plates-formes : IA32 (x86), IA64, AMD64, Alpha, SPARC, PPC, MIPS, 68000... Multi-processeurs Systèmes de fichiers : ext2, ext3, ext4, VFAT, NFS, XSF, ReiserFS, HSF... Réseaux : TCP/IP, IPv4, IPv6, AppleTalk, X25, ATM, IPX, DECnet... Gestion dynamique des pilotes de périphériques : modules Compatible avec les systèmes Unix System V et BSD et au standard POSIX Interface utilisateur en ligne de commande Sources sous licence GPL Bien documenté Nombreuses distributions : Slackware, Debian, Ubuntu, RedHat, Mandrake... Très utilisé en tant que serveur 91 Noyau hybride Multitâches, multiutilisateurs Architectures : intel IA32 (x86), AMD64, IA-64 Multiprocesseurs Systèmes de fichiers : FAT, FAT32, NTFS, ISO9600, UDF. Réseau : TCP/IP, IPv4, IPv6, AppleTalk, XNS, IPX/SPX Interface utilisateur graphique : Win32 et Win64 Documentation sur le système ? Coûteux Très utilisé sur les PC, essentiellement pour la bureautique 92 Noyau hybride (XNU, Darwin + BSD) Multitâches, multiutilisateurs Architectures : PowerPC, x86 (intel et AMD) 32 et 64 bits Multiprocesseurs Systèmes de fichiers : HFS+ (defaut), UFS, AFP, ISO 9660, FAT, UDF, NFS, SMBFS, NTFS (lecture seulement) Réseaux : TCP=IP, IPv4, IPv6, AppleTalk, X25, ATM, IPX, DECnet... Compatible Open Brand UNIX 03, spécifications 1003.1 SUSv3 et standard POSIX Interface utilisateur graphique : Aqua 93 Principe d’une machine virtuelle ◦ Une machine virtuelle est un programme qui simule un ordinateur ; on y trouve donc : un disque dur virtuel de la RAM virtuelle un lecteur de CD virtuel dans lequel on « insèrera » l’image ISO du système à installer Une carte réseau ◦ Votre machine (réelle) est l’hôte (= host) ◦ La machine virtuelle est l’invitée (= guest) Les hyperviseurs ◦ C’est une application qui permet de simuler l’existence du matériel et de créer un système informatique virtuel. Il est capable d’exécuter simultanément plusieurs systèmes d’exploitation sur une même machine physique ◦ Exemples : VMWare Workstation, Virtualbox, VMWare ESXi, HyperV, Proxmox, Xen, Qemu / KVM… 94 VMWare Workstation 95 2.2 : Le système d’exploitation Linux Plan ◦ Déroulement d’une session sous Linux ◦ Identification, arborescence, prompt, chemin ◦ Le système de fichiers ◦ Protection des fichiers ◦ Gestion des utilisateurs ◦ Redirection et enchaînement de commandes ◦ Scripts d’administration 96 Session Linux ◦ Démarrage de l'ordinateur ◦ Chargement du BIOS (test système, recherche unité de démarrage) ◦ Master Boot Record (MBR) lecture de la table des partitions ◦ Chargement du noyau de l'SE en mémoire ◦ Plusieurs étapes d'initialisation du système ◦ Connexion (login) ◦ Dialogue avec le noyau par le Shell qui lance les commandes ◦ Interruption éventuelle des commandes en cours (CTRL + C) ◦ Déconnexion (exit) Différentes session ◦ Au démarrage Linux lance par défaut 6 consoles virtuelles invitant l'utilisateur à se connecter ◦ Elles sont accessibles par les combinaisons de touches Ctrl + Alt + Fn ◦ Si un mode graphique est activé, il est accessible par la combinaison de touche Alt + F7 97 L’identification sous Linux ◦ Il n’existe que 3 types d’utilisateurs : Le super utilisateur appelé « root » - tous les droits sur la machine. Les comptes « système » - ne peuvent pas ouvrir de session (bin, deamon…) Les utilisateurs standards - possèdent un compte d’utilisateur L’arborescence du système / : le répertoire racine nommé « root ». /root : répertoire personnel du super-utilisateur /boot : le noyau vmlinuz et le fichier de démarrage (GRUB) root. /dev : les fichiers spéciaux pour les périphériques (devices). /media : la racine des points de montage des /lib : les bibliothèques et les modules du noyau périphériques /bin et /usr/bin : contiennent des programmes, les commandes… /mnt : répertoire réservé aux autres montages /sbin : programmes essentiels à l’administration du système /tmp : stockage des fichiers temporaires /etc : les fichiers de configuration et d’administration du système /usr : pour Unix System Ressource et contient des /home : racine des répertoires personnels des utilisateurs programmes, des bibliothèques, de la doc… /proc : Système de fichiers virtuel (VFS) contenant des infos /var : contient des fichiers dont la taille est sur les processus en cours d’exécution amenée à évoluer 98 Le terminal de commande Chemin d’accès absolu et relatif ◦ Chemin d’accès absolu : description du chemin à partir de la racine. Exemple : /home/etudiant ◦ Chemin d’accès relatif : description du chemin à partir du répertoire courant Exemple : /home $ cd etudiant/Documents ◦ Représentations le répertoire lui-même le répertoire père ~ le répertoire personnel 99 Les principales commandes 10 0 Le système de fichiers ◦ La partie du l’OS qui gère les fichiers est appelée système de fichiers (SF) ◦ L’OS enregistre les données dans un système de fichiers, sur le disque dur ◦ Un système de fichiers est une structure de données permettant au système d'exploitation d'accéder et d'organiser les données de l'espace disque en fichiers ◦ Chaque système de fichier impose son propre format d'enregistrement sur le périphérique de stockage Architecture Exemple de SF Le système de fichier est adapté au support (Disque dur, DVD, clé USB…) 10 1 Un disque dur est constitué d’un ou plusieurs plateaux ◦ Chaque plateau est divisé en pistes (tracks) ◦ Chaque piste est divisée en secteurs (sectors) ◦ Le cylindre est formé par les pistes de même rayon sur chaque plateau Le formatage est effectué à 2 niveaux ◦ En usine : le formatage bas niveau des pistes et secteurs ◦ Par l’utilisateur : effacement ou réécriture des données ◦ Lors de l’installation du système d’exploitation par exemple La capacité d’un disque dur dépend ◦ De la taille des secteurs ◦ Du nombre de cylindres et donc du nombre de plateaux 10 2 L’organisation du disque ◦ Organisation typique du poste de travail ◦ Master Boot Record est situé dans les 1er secteurs du disque ◦ Il est constitué de 2 parties : La table des partitions Une routine permettant de lancer l’exécution du chargeur d’amorçage (boot loader) ◦ Le chargeur d’amorce : Chaque système d’exploitation utilise un boot loader Microsoft : « NTLDR : NT LoaDeR » Linux : Lilo ou Grub (plus récent) 10 3 Les partitions ◦ Les partitions principales Au maximum de 4 Accepte tout type de système de fichiers ◦ Les partitions étendues Destinées à contenir des partitions logiques et non un système de fichiers Nécessitent au moins une partition principale ◦ Les partitions logiques Contenues dans une partition étendue Accepte tout type de système de fichiers ◦ Exemple permettant d’installer plusieurs systèmes d’exploitation 10 4 Prise en charge des disques sous Linux ◦ Le pointeur spécial /dev permet l’accès direct aux périphériques Format des pointeurs sur disque : XX : Type de bus /dev/XXYZ Y : Lettre de périphérique Z : N° de partition ◦ Types de bus hd : Périphériques IDE sd : Périphériques SCSI sd : Périphériques SATA ◦ Exemples /dev/hda1 : Partition 1 sur le 1er disque IDE /dev/sdb2 : Partition 2 sur le 2ème disque Sata 105 Les formats de système de fichiers ◦ À chaque système est associé un format Définit la structure des données sur le support ◦ Sous Linux ext2, ext3, ext4, jfs, xfs ext4 est la plus actuelle pour Linux ◦ Sous Windows fat, fat32, ntfs Nfts est utilisé sous windows XP, Vista et Seven ◦ Toujours préférer un système de fichier « journalisé » Chaque séquence de lecture/écriture est d’abord inscrite dans un journal avant d’être effectuée Si le système se bloque pendant la séquence, elle sera achevée après le redémarrage ◦ On évite les erreurs dans le système de fichiers 10 6 Les formats de système de fichiers (suite) ◦ Le format « swap » est utilisé comme « mémoire virtuelle » Dans le cas où la mémoire vive est saturée Par le système pour améliorer les performances La taille du « swap » est fixée au double de la mémoire vive Si 512Mo de mémoire vive ---> 1024Mo de swap ◦ Linux peut lire la plupart des formats Notamment ceux de Windows : NTFS, FAT, FAT32 ◦ Avant d’être utilisé, un disque doit être partionné A l’aide de la commande « fdisk » ou « cfdisk » si Linux est déjà installé Par le programme d’installation sinon (dépend de la distribution) ◦ Il faut ensuite créer un système de fichier Avec l’utilitaire générique « mkfs » mkfs.ext3, mkfs.ext4, mkfs.xfs 10 7 Les points de montage ◦ Sous Linux, « Tout est fichier », même les périphériques sont vus comme des fichiers ◦ L’arborescence est construite à partir de « points de montage » ◦ Un point de montage est une association entre une partition physique et l’arborescence du système ◦ Avantages Mettre à l’abri certaines données stratégiques comme « /home » La défaillance du disque hdb n’entraîne pas une réinstallation totale 10 8 Les points de montage (suite) ◦ Tant qu’ils ne sont pas effectués, le système de fichiers est inaccessible ◦ Ils sont réalisés automatiquement au démarrage du système Seulement ceux qui figurent dans le fichier « /etc/fstab » ◦ Il est possible de créer un point de montage manuellement Pour les clés USB ou le CDROM par exemple En utilisant la commande « mount » Et « umount » pour supprimer le point de montage root@debian:~# mount /dev/hdd /mnt/cdrom root@debian:~# umount /dev/hdd ◦ Une partition est associée à un système de fichiers Il faut parfois préciser le type de ce système avec l’option -t ext2, ext3, ext4, xfs, swap, jfs, iso9660, vfat 10 9 Mise en place d’un nouveau disque (1) ◦ 3 étapes sont nécessaires : Création d’une partition : fdisk ou cfdisk Initialisation du système de fichiers : mkfs Création d’un point de montage : mount ◦ Etape 1 : Création d’une partition Partition principale de 100Mo avec « fdisk » sur /dev/sda root@debian:~# fdisk /dev/sda Commande (m pour l'aide) : n Action de commande e étendue p partition primaire (1-4) p Numéro de partition (1-4) : 1 Premier cylindre (1-26, par défaut 1): Utilisation de la valeur par défaut 1 Dernier cylindre ou +taille or +tailleM ou +tailleK (1-26, par défaut 26): +100M Commande (m pour l'aide): w La table de partitions a été altérée! Appel de ioctl() pour relire la table de partitions. Synchronisation des disques. Commande (m pour l'aide) : q 110 Mise en place d’un nouveau disque (2) Vérification de la partition Commande (m pour l'aide): p Périphérique Amorce Début Fin Blocs Id Système /dev/sda1 1 13 104391 83 Linux Etape 2 : Initialisation du système de fichiers Avec la commande « mkfs » suivie du système de fichier choisi root@debian:~# mkfs.ext3 /dev/sda1 mke2fs 1.40.8 (13-Mar-2008) Étiquette de système de fichiers= Type de système d'exploitation : Linux Taille de bloc=1024 (log=0) Taille de fragment=1024 (log=0) 26104 i-noeuds, 104388 blocs 5219 blocs (5.00%) réservés pour le super utilisateur Premier bloc de données=1 Nombre maximum de blocs du système de fichiers=67371008 13 groupes de blocs 8192 blocs par groupe, 8192 fragments par groupe 2008 i-noeuds par groupe Superblocs de secours stockés sur les blocs : 8193, 24577, 40961, 57345, 73729 Écriture des tables d'i-noeuds : complété Création du journal (4096 blocs) : complété Écriture des superblocs et de l'information de comptabilité du système de fichiers : complété 111 Mise en place d’un nouveau disque (3) ◦ Etape 3 : Création du point de montage De type ext3 Avec la commande mount root@debian:~# mount -t ext3 /dev/sda1 /mnt/data/ Le répertoire /mnt/data doit déjà exister ◦ Vérification du point de montage root@debian:~# df Sys. de fich. 1K-blocs Occupé Disponible Capacité Monté sur /dev/sdc1 7913216 2716248 4798156 37% / varrun 127856 108 127748 1% /var/run varlock 127856 0 127856 0% /var/lock udev 127856 64 127792 1% /dev devshm 127856 12 127844 1% /dev/shm lrm 127856 38176 89680 30% /lib/modules/2.6.24 /dev/sdd1 8045180 6987320 1057860 87% /media/GEN-USB /dev/sda1 101086 5664 90203 6% /mnt/data 112 Mise en place d’un nouveau disque (4) ◦ Etape 3 bis : Rendre le point de montage permanent Renseigner le fichier /etc/fstab qui liste les disques et partitions disponibles afin qu’ils soient intégrés au système de fichiers du système global. - définit l'équipement de stockage (ex : /dev/sda1). - indique à la commande de montage où monter le. - définit le type de système de fichiers pour monter le support ou la partition. - définit des options particulières pour les systèmes de fichier. auto - le système de fichiers sera monté automatiquement au démarrage, ou avec 'mount -a' exec - autorise l'exécution de binaire qui sont sur cette partition (par défaut). rw - monte le système de fichiers en lecture et en écriture. async - Les entrées/sorties (I/O) devraient être faites de manière asynchrone. suid - autorise les opérations sur les bits suid et sgid. nouser - autorise seulement le compte root à monter le fichier système (par défaut). defaults - paramètres de montage par défaut (équivalent à rw,suid,dev,exec,auto,nouser,async) - est utilisé par l'utilitaire dump pour décider quand faire des sauvegardes. Si non installé alors la valeur est 0. fsck lit le chiffre et détermine dans quel ordre les systèmes de fichiers vont être vérifiés. Si valeur à 0, le système n’est pas vérifié. 113 5 types de fichiers ◦ (-) fichiers ordinaires ◦ (d) Répertoire ◦ (l) Lien symbolique ◦ (c) ou (b) descripteur de périphérique type caractère ou bloc ◦ (p) Un tube de communication Droits sur les fichiers ◦ r : lecture ◦ w : écriture ◦ x : exécution Droits sur les répertoires ◦ r : lister le contenu d’un répertoire ◦ w: créer, supprimer, renommer les fichiers du répertoire ◦ x : permet de traverser le répertoire 114 Commande ls-l Droits supplémentaires ◦ Set UID ◦ Set GID ◦ Sticky bit 115 Mode octal ◦ Convention : une lettre = 1 ; un tiret = 0 ◦ Exemple : rwx rw- r-x = 111 110 101 soit le nombre octal 765. ◦ Exemples :~$ chmod 777 essai.txt :~$ chmod 000 essai.txt :~$ chmod 664 essai.txt :~$ chmod 775 essai.txt Mode symbolique ◦ u (user = propriétaire), g (groupe), o (other = autre) ou a (all = tous) ◦ + permet d’ajouter un droit d’accès, - permet de supprimer un droit d’accès et = permet d’affecter un droit absolu (autres bits à 0). ◦ r, w, x représentent les permissions. ◦ Exemple : ~$ chmod a+rwx essai.txt ajoute les droits de lecture, écriture, exécution à tous les utilisateurs Remarque : droits par défaut fixés par umask = 022 116 Administration du système ◦ Réalisée par root ◦ Créé comptes / groupes, organise les utilisateurs ◦ Gère l’espace disque, les sauvegardes, ◦ Installe les nouveaux logiciels et périphériques A la connexion / déconnexion d’un utilisateur ◦ Login + mot de passe ◦ Lancement du Shell – Bash ◦ Le Bash exécute les fichiers /etc/profile et.bash_profile ◦ Affiche l’invite de commande (le prompt) ◦ Fin de session : le Bash exécute le.bash_logout Compte d’utilisateur Chaque compte d’utilisateur est identifié de manière unique : UID Compte d’administrateur (root) : UID = 0 Comptes « système » (bin, daemon…) : 1 ≤ UID ≤ UID_MIN-1 Comptes associés à des personnes : UID_MIN ≤ UID ≤ UID_MAX 117 /etc/passwd contient la liste des utilisateurs du système etudiant:x:501:100:etudiant en ISVD :/home/etudiant:/bin/bash ◦ nom de connexion de l’utilisateur : login ◦ un caractère x (anciennement le mot de passe crypté) ◦ numéro d’identification de l’utilisateur UID (User IDentifier). Il est unique ◦ numéro d’identification de groupe principal GID (Group IDentifier) ◦ commentaires ; en principe son nom complet (5 lignes max) ◦ répertoire privé de l’utilisateur = le répertoire de travail par défaut à l’ouverture de session ◦ programme à lancer au démarrage. Ici, l’interpréteur de commandes Bash ◦ Remarque : un compte est associé à un groupe principal identifié par son GID et peut être associé également à des groupes secondaires. 118 /etc/group contient la liste des groupes du système Un groupe rassemble plusieurs utilisateurs leur permettant de partager des fichiers ou d’autres ressources. etudiant:x:100:ben,jo,paul Nom du groupe Un champ spécial contenant le caractère « x » Numéro du groupe GID Liste des utilisateurs membre du groupe 119 /etc/shadow contient la liste des mot de passe cryptés Sécurité : accessible uniquement par l’utilisateur root etudiant:S1S0JHSpa0G$3f52Y.VTK:15953:0:99999:7::: Login Mot de passe crypté ◦ Si * alors pas de connexion ◦ Si ! Alors le compte est verrouillé Date dernier changement mot de passe : nbre jour écoulé depuis 1/1/1970 Nbre de jours entre 2 changements de mot de passe : 0 = n’importe quand Nbre de jours ou le mot de passe est valide : 99999 = n’expire jamais Nbre de jours avant alerte utilisateur mot de passe expiré. 120 Identification Utilisateur chage : modifications des informations de validité d’un mot de passe 121 Groupe Fichiers d’information 122 Fonctions réseaux sous Linux ◦ Du matériel de mise en réseau : carte réseau filaire (Ethernet) ou sans fil ◦ Des composants logiciels dans la noyau : la pile de protocoles TCP/IP ◦ Des outils logiciels dans l’espace utilisateur pour utiliser le réseau : ip, ssh… Navigateur ip ssh Application nslookup ping telnet Sockets Transport TCP / UDP IP Réseau Pilotes Liaison Carte réseau : Ethernet, WiFi Physique Modélisation du système Modélisation du réseau (OSI) 123 Quel est le matériel réseau installé ? ◦ Il existe une grande variété de contrôleurs réseau Ethernet. Chaque composant a son propre pilote logiciel. Ces contrôleurs sont connectés à la carte mère via des bus PCI ou USB. # lspci -v | grep -i -A 15 ethernet 00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04) … Kernel driver in use: e1000e 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06) … Kernel driver in use: r8169 ◦ Dans le cas d’une carte Raspberry Pi, les commandes suivantes peuvent être utilisées : lsusb ou dmesg 124 Quel est le nom des interfaces réseaux ? ◦ A l’installation, le système crée un répertoire pour chaque interface réseau. Le nom du répertoire porte le nom de l’interface et ce dernier contient les caractéristiques par défaut de l’interface. # ls /sys/class/net enp0s3 lo enp0s3 est le nom donné à une interface matérielle installée sur le système lo est une interface virtuelle de bouclage (interface de loopback) ◦ Pour visualiser les caractéristiques par défaut # cat /sys/class/net/enp0s3/address e8:de:27:00:d4:ac # cat /sys/class/net/enp0s3/speed 1000 address contient l’adresse MAC de l’interface enp0s3 speed précise le débit théorique de l’interface enp0s3 à 1000 Mbit/s 125 Quel est l’état du lien physique ? ◦ La commande ethtool permet de visualiser l’état de la connexion physique du réseau ainsi que ses caractéristiques. Le paquet ethtool n’est pas installé par défaut. # ethtool enp0s3 Débits possibles sur Settings for enp0s3: cette interface Supported ports: [ TP ] Supported link modes: 10baseT/Half … 100baseT/Full 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half … 100baseT/Full 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Speed: 1000Mb/s L’interface est connectée au Duplex: Full commutateur par un câble à paire Auto-negotiation: on Port: Twisted Pair torsadée. Le débit a été négocié à PHYAD: 0 100Mbit/s en mode Full Duplex. Transceiver: internal MDI-X: off (auto) Supports Wake-on: umbg Wake-on: d Current message level: 0x00000007 (7) drv probe link Link detected: yes 126 Quel est l’état du lien réseau ? ◦ Depuis la version 2.2 du noyau Linux, les commandes permettant la configuration de l’interface réseau comme ifconfig, route et arp du paquet logiciel net-tools sont obsolètes. Désormais, c’est la commande ip du paquet iproute2 qui regroupe à elle seule ces commandes. # ip link show 1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp0s3: mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether e8:de:27:00:d4:ac brd ff:ff:ff:ff:ff:ff 3: enp0s8: mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000 link/ether b8:ca:3a:89:81:c1 brd ff:ff:ff:ff:ff:ff BROADCAST : L’interface peut émettre des messages de diffusion State UP : L’interface est active au niveau « liaison » LOWER_UP : L’interface est correctement connectée au commutateur NO-CARRIER : Pas de signaux électriques. L’interface n’est pas connectée à un commutateur 127 Comment activer / désactiver une interface réseau ? ◦ L’activation ou la désactivation d’une interface réseau peut se faire à des niveaux différents : Au niveau système : les commandes ifup et ifdown du paquet ifupdown utilisent les informations de configuration IP des interfaces fournies dans le fichier /etc/network/interfaces. Au niveau du lien réseau : la commande ip link set interface-name UP | DOWN permet d’agir sur l’interface seulement au niveau de la couche liaison (couche 2). ◦ Désactiver une interface au niveau système # ifdown enp0s3 Killed old client process … Sending on Socket/fallback DHCPRELEASE of 192.168.0.36 on enp0s3 to 192.168.0.254 port 67 # ip link show enp0s3 2: enp0s3: mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000 link/ether e8:de:27:00:d4:ac brd ff:ff:ff:ff:ff:ff 128 Comment activer / désactiver une interface réseau ? ◦ L’activation ou la désactivation d’une interface réseau peut se faire à des niveaux différents : Au niveau système : les commandes ifup et ifdown du paquet ifupdown utilisent les informations de configuration IP des interfaces fournies dans le fichier /etc/network/interfaces. Au niveau du lien réseau : la commande ip link set interface-name UP | DOWN permet d’agir sur l’interface seulement au niveau de la couche liaison (couche 2). ◦ Activer / Désactiver une interface au niveau du lien # ip link set dev enp0s3 up # ip link show dev enp0s3 2: enp0s3: mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 08:00:27:d9:16:a7 brd ff:ff:ff:ff:ff:ff # ip link set dev enp0s3 down # ip link show dev enp0s3 2: enp0s3: mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000 link/ether 08:00:27:d9:16:a7 brd ff:ff:ff:ff:ff:ff 129 Comment activer / désactiver une interface réseau ? ◦ Activer / Désactiver une interface au niveau système Remarque : en plus # ifup enp0s3 d’activer/désactiver le lien (couche 2), ces scripts Internet Systems Consortium DHCP Client 4.3.1 utilisent les informations Copyright 2004-2014 Internet Systems Consortium. du fichier interfaces … pour configurer l’adressage Listening on LPF/enp0s3/e8:de:27:00:d4:ac IP (couche 3) de l’interface Sending on LPF/enp0s3/e8:de:27:00:d4:ac enp0s3 Sending on Socket/fallback DHCPDISCOVER on enp0s3 to 255.255.255.255 port 67 interval 5 DHCPDISCOVER on enp0s3 to 255.255.255.255 port 67 interval 6 DHCPDISCOVER on enp0s3 to 255.255.255.255 port 67 interval 15 DHCPOFFER of 192.168.0.36 from 192.168.0.254 DHCPREQUEST for 192.168.0.36 on enp0s3 to 255.255.255.255 port 67 DHCPACK of 192.168.0.36 from 192.168.0.254 bound to 192.168.0.36 -- renewal in 9726 seconds. # ifdown enp0s3 Killed old client process … Sending on Socket/fallback DHCPRELEASE of 192.168.0.36 on enp0s3 to 192.168.0.254 port 67 # ip link show dev enp0s3 -> enp0s3: state down 130 Quelle est l’adresse IP de l’interface ? ◦ Le commande ip address ou ip a permet de lister toutes les interfaces ◦ Paramètres IP de l’interface enp0s3 # ip address sh enp0s3 2: enp0s3: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:d9:16:a7 brd ff:ff:ff:ff:ff:ff inet 192.168.0.36/24 brd 192.168.0.255 scope global enp0s3 valid_lft forever preferred_lft forever inet6 2a01:e0a:5b9:7af0:a00:27ff:fed9:16a7/64 scope global dynamic valid_lft 86331sec preferred_lft 86331sec inet6 fe80::a00:27ff:fed9:16a7/64 scope link valid_lft forever preferred_lft forever ◦ L’affichage englobe les informations de couche 2 : adresse MAC et état du lien ◦ L’interface dispose d’une adresse IPv4 et de 2 adresses IPv6 inet désigne une IPv4 et inet6 une IPv6. 192.168.0.36 : adresse IP ; /24 : préfixe (CIDR) ; 192.168.0.255 : adresse diffusion scope global ou scope link désigne la portée de l’adresse. global : l’adresse IP peut être atteinte depuis d’autres réseau link : l’adresse IP ne peut être atteinte que dans le réseau local. 131 Quelle est l’adresse IP de l’interface ? ◦ Les commandes suivantes font apparaitre un résumé : # ip –4 -brief addr lo UNKNOWN 127.0.0.1/8 ::1/128 enp0s3 UP 192.168.0.36/24 enp0s8 UP 172.20.0.120/24 # ip -4 -brief addr sh enp0s3 enp0s3 UP 192.168.0.36/24 # ip -4 -o addr sh enp0s3 2: enp0s3 inet 192.168.0.36/24 brd 192.168.0.255 scope global enp0s3\ valid_lft forever preferred_lft forever ◦ Autres options : -c : pour avoir une sortie colorée -4 : pour ne visualiser que les adresses IPv4 -6 : pour ne visualiser que les adresses IPv6 132 Comment configurer les paramètres IP d’une interface ? ◦ Ajout d’une adresse IP à l’interface enp0s3 – Méthode non-permanente la configuration sera perdue au redémarrage de l’ordinateur # ip address add 192.168.0.37/24 dev enp0s3 # ip a sh enp0s3 2: enp0s3: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:d9:16:a7 brd ff:ff:ff:ff:ff:ff inet 192.168.0.36/24 brd 192.168.0.255 scope global enp0s3 valid_lft forever preferred_lft forever inet 192.168.0.37/24 scope global secondary enp0s3 valid_lft forever preferred_lft forever ◦ Suppression d’une adresse IP # ip address del 192.168.0.37/24 dev enp0s3 # ip a sh enp0s3 2: enp0s3: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:d9:16:a7 brd ff:ff:ff:ff:ff:ff inet 192.168.0.36/24 brd 192.168.0.255 scope global enp0s3 valid_lft forever preferred_lft forever 133 Comment configurer les paramètres IP d’une interface ? ◦ Ajout d’une adresse IP à l’interface enp0s3 - Méthode permanente la configuration est enregistrée dans le fichier /etc/network/interfaces consulter man interfaces pour compléter le fichier # nano /etc/network/interfaces # The loopback network interface auto lo iface lo inet loopback auto enp0s8 iface enp0s8 inet dhcp # Adressage dynamique via un serveur DHCP auto enp0s3 iface enp0s3 inet static # Adressage statique address 192.168.0.36 # Possible d’utiliser le préfixe /24 netmask 255.255.255.0 gateway 192.168.0.254 ◦ Redémarrage du service réseau pour prendre en compte la configuration # systemctl restart networking.service ◦ Ou bien désactivation / activation de l’interface avec la commande ifdown / ifup # ifup enp0s8 134 Comment visualiser ou modifier l’adresse de passerelle ? ◦ Pour visualiser l’adresse de passerelle, il faut afficher la table de routage avec la commande ip route # ip route default via 192.168.0.254 dev enp0s3 onlink 192.168.0.0/24 dev enp0s3 proto kernel scope link src 192.168.0.36 default via 192.168.0.254 désigne la route par défaut qui permet d’atteindre la passerelle (routeur) afin d’atteindre des réseaux inconnus de l’hôte qui émet le paquet. 192.168.0.254 désigne donc l’adresse de la passerelle (routeur) 192.168.0.0/24 est l’adresse du réseau IP dans lequel est configuré l’interface enp0s3 192.168.0.36 est l’adresse IP de l’interface enp0s3 ◦ Pour changer l’adresse de la passerelle, il faut utiliser les commandes suivantes : # ip route del default # ip route 192.168.0.0/24 dev enp0s3 proto kernel scope link src 192.168.0.36 # ip route add default via 192.168.0.1 # ip route default via 192.168.0.1 dev enp0s3 onlink 192.168.0.0/24 dev enp0s3 proto kernel scope link src 192.168.0.36 135 Comment ajouter ou supprimer une route statique ? ◦ Cette partie sera développée dans une prochaine ressource. ◦ La situation de départ # ip -4 -brief a lo UNKNOWN 127.0.0.1/8 enp0s3 UP 192.168.0.36/24 enp0s8 UP 172.20.0.120/24 # ip route default via 192.168.0.254 dev enp0s3 onlink 172.20.0.0/24 dev enp0s8 proto kernel scope link src 172.20.0.120 192.168.0.0/24 dev enp0s3 proto kernel scope link src 192.168.0.36 ◦ Ajout d’une route statique # ip route add 10.10.0.0/24 via 172.20.0.254 ◦ Vérification # ip route add 10.10.0.0/24 via 172.20.0.254 default via 192.168.0.254 dev enp0s3 onlink 10.0.0.0/24 via 172.20.0.254 dev enp0s8 172.20.0.0/24 dev enp0s8 proto kernel scope link src 172.20.0.120 192.168.0.0/24 dev enp0s3 proto kernel scope link src 192.168.0.36 136 Comment afficher la table des voisins ? ◦ Les informations de voisinage sont demandées par un hôte lorsque celui-ci souhaite communiquer avec d’autres hôtes du réseau local. Le protocole ARP est utilisé pour demander l’adresse MAC d’un hôte du réseau local à partir de son adresse IP. ◦ Les informations obtenues sont mémorisée dans une table nommée table de voisinage ou table ARP. ◦ La commande ip neighbor permet de gérer la table des voisins # ip -4 neigh sh dev enp0s3 192.168.0.34 lladdr 24:41:8c:76:aa:bb REACHABLE 192.168.0.254 lladdr 34:27:92:aa:21:41 STALE # ping 192.168.0.20 # ip -4 neigh sh dev enp0s3 192.168.0.34 lladdr 24:41:8c:76:aa:bb REACHABLE 192.168.0.254 lladdr 34:27:92:aa:21:41 STALE 192.168.0.20 lladdr 00:11:32:11:74:ac REACHABLE ◦ Suppression de toutes les entrées de la table # ip -4 neigh flush dev enp0s3 # ip -4 neigh sh dev enp0s3 -> C’est vide 137 Comment configurer le client DNS ? ◦ Si l’interface est configurée pour recevoir les paramètres IP via un serveur DHCP alors le client DNS de l’hôte recevra généralement l’adresse IP d’un serveur DNS. ◦ Pour visualiser ou modifier la configuration du client DNS, il faut se rendre dans le fichier /etc/resolv.conf # nano /etc/resolv.conf nameserver 8.8.8.8 Comment vérifier le fonctionnement du serveur DNS ? ◦ Le serveur DNS permet d’établir la correspondance entre un nom de domaine internet et une adresse IP (résolution directe) ou l’inverse (résolution inverse) ◦ La commande nslookup permet d’interroger le serveur DNS # nslookup www.google.fr … Address: 172.217.20.195 # nslookup 172.217.20.195 … Name: www.google.fr 138 Principe de la redirection l'entrée standard, de descripteur 0, appelée stdin, qui, par défaut est le clavier. la sortie erreur standard, de descripteur 2, appelée stderr, qui, par défaut est l'écran. la sortie standard, de descripteur 1, appelée stdout, qui, par défaut est l'écran. Redirection vers un fichier 139 Redirection vers un tube Exemple : ls –l | more cat /etc/passwd | grep /bin/bash | wc –l Enchaînement de commande 140 Un shell ◦ Interpréteur de commandes – Bash = Bourne Again Shell ◦ Traduit les commandes pour que le système puisse les exécuter Un script ◦ C’est un fichier contenant des commandes, des structures de contrôle, des structures itératives… Création d’un script ◦ Ouvrir un fichier à l’aide d’un éditeur de texte ◦ Ecrire la ligne #!/bin/bash (indique le type d’interpréteur). ◦ Saisir les commandes ◦ Ecrire exit 0 (retourne au shell la valeur 0) ◦ Sauvegarder le fichier ◦ Rendre le fichier exécutable : chmod +x nom_fichier ◦ Exécuter en tapant :./nom_fichier.sh 141 Les variables utilisateur ◦ Nom=valeur affecte valeur à la variable nom ◦ $Nom permet d’accéder à la valeur stockée dans Nom ◦ unset Nom supprime la variable nom ◦ Var=6;export Var accès aux variables internes depuis le Shell Exemple 1 :~$ X=bonjour :~$ Y=X :~$ Z=$X :~$ echo $X monsieur $Y, $Z bonjour monsieur X, bonjour Exemple 2 :~$ DIR=`pwd` :~$ echo « la valeur de DIR est : $DIR » La valeur de DIR est : /home/prof/sc 142 Les paramètres positionnels ◦ Variables spéciales qui permettent l’accès aux arguments du script $0 contient le nom du script $1,...,$9 désigne le 1er au 9ème paramètre passé en argument $? contient le code de retour de la dernière commande exécuté $* contient la liste des paramètres passés en argument $# contient le nombre de paramètres passés en argument $$ PID du Shell qui exécute le script Exemple :~$ cat list.sh #!/bin/bash ls –l $1 :~$./list.sh /tmp -rwxr-x--- 1 sc prof 7 2008-02-18 13:12 essai.txt 143 Simple quote ◦ '...' : les caractères inclus entre 2 simples quotes ne sont pas évalués, ils conservent leur valeur littérale. ◦ Ex : echo ‘* ?&’ affiche * ?& Double quote ◦ "..." : les caractères inclus entre 2 doubles quotes ne sont pas évalués et conservent leur valeur littérale à l'exception de $ ` et \. ◦ Ex : echo "Vous êtes $USER" affiche Vous êtes toto Anti quote ◦ `...` : les caractères inclus entre 2 anti quotes sont évalués, et interprétés. ◦ Ex : echo `pwd` évalué comme une commande 144 Ecriture ◦ echo « Bonjour tout le monde » Lecture ◦ Read Variable Attend que l’utilisateur ait saisi une valeur Structure de contrôle – if else if test #!/bin/bash then commande1 if [ -r fich.sh ] else commande2 then echo "fich est lisible" fi else echo "fich n est pas lisible" fi Structure itératives - for # !/bin/bash for i in un deux trois for variable in liste do do echo $i commandes done done Résultat : un deux trois 145 Structure itératives - while while test :~$ cat essai3.sh do while [ $1 != fin ] commandes do done echo $1 shift Done :~$./essai3.sh 1 deux fin 3 4 1 deux 146 Écrire une commande permettant d’afficher : La variable $var = 100 var=100 echo « la variable var =$var » Ecrire un Shell script liste_param ◦ qui affiche le nombre de paramètres passés à la commande ◦ qui affiche la liste des paramètres passés à la commande ◦ qui affiche le premier paramètre passé à la commande ◦ qui affiche le douzième paramètre passé à la commande echo « nbr param = $# » echo « liste = $@ » echo « premier param = $1 » shift ; shift ; shift ; echo « premier param = $12 » 147 Créer un script qui teste le nombre et la validité des paramètres. ◦ Si le nombre de paramètres passés en argument est null afficher « paramètre incorrect », retourner le code erreur 2 ◦ Si le nom du fichier passé en argument correspond à un fichier existant afficher « fichier existe » ◦ Sinon « le fichier n existe pas » if test $# -eq 0 ; then echo « param incorrect » exit 2 fi if test –f $1 ; then echo « fich existe» else echo « fich n existe pas» fi if test –d $1 ; then echo « rep existe» else echo « rep n’existe pas» fi 148 Packet Tracer ◦ Packet Tracer simule le fonctionnement interne d'un réseau. 149 Wireshark ◦ Wireshark permet