Introduction - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

Introduction

Description:

... beaucoup de services d cident de contr ler eux-m me l'acc s et se passent ... l'adresse IP de la machine et le process ID du server lanc sont ... – PowerPoint PPT presentation

Number of Views:26
Avg rating:3.0/5.0
Slides: 35
Provided by: tellnetFr
Category:

less

Transcript and Presenter's Notes

Title: Introduction


1
Introduction à Linux chapitre 1
Linux Présentation
2
Linux un hobby devenu un système d'exploitation
professionnel
  • Retour en août 1991... un étudiant finlandais
    envoie un message sur comp.os.minix commençant
    par ces quelques mots Hello everybody out
    there using minix I'm doing a (free) operating
    system (just a hobby, won't be big and
    professional like gnu) for 386 (486) AT clones.
  • Cet étudiant est Linus Torvalds, et le hobby dont
    il parle est devenu ce que nous connaissons
    aujourd'hui... Linux.

3
Linux un système d'exploitation professionnel
  • A l'origine un projet d'étudiant, Linux est
    maintenant un système d'exploitation mûr pour
    l'industrie, qui fait partie intégrante de la
    stratégie système et réseaux de nombres
    d'entreprises
  • Fait aussi partie de la stratégie de
    développement de grands noms tels que Oracle,
    Sun, IBM, HP, Intel Linux bénéficie d'une
    réelle reconnaissance par les plus grands.
  • Linux rivalise avec les systèmes d'exploitations
    traditionnels, c'est pourquoi il devient
    inévitable

4
Linux ses atouts
  • Linux intéresse principalement pour les avantages
    suivants
  • Stabilité et robustesseExcellente qualité de
    service pas de plantage surprise ni
    d'instabilité, grâce à une gestion efficaces des
    processus
  • Performances, rendement et adaptabilité Peu
    gourmand en ressources, même en mode
    multi-utilisateurs. Exploitable sur machines de
    configuration modeste ou obsolète, tout en
    restant à jour, mais aussi sur multiprocesseurs,
    clusters, et mainframes
  • Coût réduitLe noyau Linux et la plupart des
    modules étant gratuit, chacun peut construire une
    version adaptée à ses besoins. Cependant, des
    distributions, gratuites ou payantes, sont
    disponibles sur Internet (Red Hat, Fedora,
    Mandrake, SuSESlackware, Debian, etc.)

5
Linux ses atouts (suite)
  • Linux présente d'autres avantages
  • Assistance
  • Libre et Ouvert code source disponible et
    modifiable
  • Portable disponible sur de nombreux types de
    systèmes
  • Conforme aux normes et standards
  • Très proche des autres Unix
  • Nombreux logiciels interopérables, souples et
    extensibles
  • X Window
  • Dynamique industrielle
  • Bénéficie à tous les utilisateurs
  • Migration facilitée par émulateurs et portage
    d'applications

6
Linux applications
  • Station de développementLa plupart des langages
    disponibles ADA95, C, C, Fortran, Java,
    Cobol, LISP, Prolog, SmallTalk, Delphi (Kylix)
    outils de développement perfectionnés contrôle
    des sources, travail en groupe (groupware), suivi
    des erreurs, validation et vérification
  • Station bureautiqueSuites bureautiques de
    qualité professionnelle (Open Office) couplées
    aux environnements graphiques évolués tels KDE ou
    Gnome traitement de texte, tableur, logiciel de
    présentation et de dessin, gestion de fichiers,
    partage de documents, etc.
  • Station réseauPalette complète d'outils réseau
    navigateur, courrier électronique, agenda (IBM
    Lotus), FTP, messagerie instantanée, IRC,
    newsgroups, et outils professionnels ping,
    traceroute, analyseur de protocoles, etc.
  • Station graphique ou PAO
  • Centre multimédia

7
Linux applications (suite)
  • Serveur de fichiers et d'impressionSupport des
    trois principaux protocoles de partages de
    fichiers NFS (UNIX), SMB (Windows), AppleShare
    (MacOS) et protocoles de partages d'imprimantes.
    Egalement serveur de fax.
  • Serveur Réseau puissantServeur Web (Apache) avec
    support de PHP, MySQL, etc., serveur FTP,
    newsgroups, courrier électronique, DNS Puissant
    firewall (iptables), routage (RIP, IGRP, OSPF,
    BGP4, etc.), proxy NAT
  • Serveur d'applications client/serveurSGBD
    relationnels, relationnels-objets ou objets,
    commerciaux (Oracle 9i, IBM DB2) ou libres
    (mySQL, PostgreSQL), serveurs d'applications JAVA
  • AdmnistrationIBM Tivoli, IBM Websphere, BEA
    Weblogic

8
Linux présentation
  • Linux est un système d'exploitation libre de type
    UNIX développé par le finlandais Linus Torvalds.
  • Le noyau de Linux, le  kernel , le coeur du
    système, est développé sous licence GNU
  • La licence GNU spécifie que le code source est
    disponible à quiconque, mais que sa version
    originale appartient à son auteur.
  • Autour de ce noyau s'articulent des modules, les
    composants du systèmes qui permettent
    d'interfacer le noyau avec les périphériques
  • Le Shell est l'interface utilisateur en mode
    texte
  • Le système X Window est un environnement
    graphique, au dessus duquel une surcouche
    logicielle peut être implémentée, permettant
    d'étendre les fonctions de X Window par ex. KDE
    ou Gnome

9
Linux présentation (suite)
  • Il existe de nombreuses applications pour Linux
  • Gratuites ou payantes, libres ou protégées
  • La compilation de diverses applications, du
    noyau, des environnements graphiques, donne lieu
    à des distributions, généralement fournies avec
    une interface d'installation du système et des
    outils d'administration
  • Il existe nombre de distributions, gratuites ou
    payantes
  • RedHat et sa version gratuite Fedora, Mandrake,
    SuSE, Debian, Slackware,
  • Et une foule de distributions moins connues
    adaptées à certains besoins
  • Exemple Knoppix, une version démarrable à
    partir d'un CDROM
  • Xbox Linux, transforme une console Xbox en
    système Linux
  • FraizeWall, qui offre une passerelle/firewall
    préconfigurés
  • etc.

10
Linux l'avenir
  • Dernier noyau disponible 2.6
  • Adapté aussi bien aux mainframes, qu'aux stations
    de travail et microcontrôleurs embarqués
  • Optimisation pour serveurs à 32 processeurs,
    support des architectures Numa (Non Uniform
    Memory Access)
  • Derniers processeurs supportés
  • 4 milliards d'utilisateurs connectés, 1 milliard
    de processus possibles
  • Architecture UCLinux dédiée aux systèmes embarqués

11
Linux présentation
  • NOTES

12
Introduction à Linux chapitre 2
  • Linux en détail

13
Etapes de démarrage
  • Le BIOS vérifie le système (POST)
  • Bootloader 1 lancé à partir du MBR du disque dur
    principal
  • Le Boot1oader 1 lance le bootloader 2 sur la
    partition /boot/
  • Le Bootloader 2 charge le noyau Linux (kernel) et
    initrd en mémoire
  • Le noyau charge les modules nécessaires (initrd)
    et monte la partition root en lecture seulement
  • Le noyau passe le contrôle du processus de
    démarrage au programme /sbin/init.
  • /sbin/init chargement des services et outils de
    l'espace utilisateur, montage des partitions
    répertoriées dans /etc/fstab.
  • Invite de connexion de l'utilisateur

Bootloader chargeur de démarrage MBR Master
Boot Record
14
Etapes de démarrage BIOS
  • Au démarrage, exécution du BIOS (Basic
    Input/Output System) stocké en ROM (mémoire
    morte)
  • Test du système, recherche et vérification des
    périphériques, principalement périphérique
    d'amorçage du système (disquette, CDROM, ou
    disque dur)
  • Recherche du MBR sur le périphérique d'amorçage
  • MBR (Master Boot Record) secteur de 512 octets,
    contient le bootloader, ainsi que la table de
    partition du disque.
  • Chargement et exécution du Bootloader, suite
    d'instructions de démarrage du système
    d'exploitation sur le périphérique.

15
Etapes de démarrage chargeur de démarrage
  • Les deux chargeurs de démarrage les plus connus
    GRUB ou LILO
  • Exécution divisée en deux étapes
  • le BIOS exécute un binaire de taille réduite
    stocké dans le MBR
  • ce 1er chargeur localise et exécute un 2è
    chargeur stocké à l'endroit indiqué dans la
    configuration (disque dur par ex.)
  • LILO configuration succinte stockée dans le
    MBR. A chaque changement de configuration, une
    écriture dans le MBR doit être faite (/sbin/lilo
    -v -v)
  • GRUB chargeur plus récent, lecture possible de
    la configuration sur partition ext2 ou ext3 dans
    /boot/grub/grub.conf

16
Etapes de démarrage chargeur de démarrage
  • Affichage de l'écran de sélection des système
    d'exploitation ou des différents noyaux Linux.
    Une séléction automatique d'un choix par défaut
    est effectué au bout d'un laps de temps
    configurable.
  • En fonction du choix, exécution d'un binaire de
    noyau Linux stocké dans /boot/ nom de type
    vmlinuz-ltversion-noyaugt (où ltversion-noyaugt
    correspond à la version du noyau spécifiée dans
    les paramètres du chargeur de démarrage)
  • chargement en mémoire de initrd, "image disque
    RAM initial" utilisé ensuite par le noyau pour
    charger des pilotes utiles au système (par ex.
    pour disque SCSI)
  • Avertissement Supprimer le répertoire /initrd/
    provoquerait un échec de votre système, avec un
    message d'erreur panique au moment du démarrage.
  • Le processus de démarrage est cédé au noyau
    (kernel)

17
Etapes de démarrage noyau
  • Le noyau initialise et configure la mémoire, les
    processeurs, le système E/S, les périphériques de
    stockage, "standards"
  • Le noyau utilise ensuite initrd pour charger des
    pilotes et modules spécifiques (principalement
    SCSI, RAID, USB) nécessaires au noyau pour
    accéder au système de fichier réel et continuer
    le démarrage
  • Le fichier /boot/initrd.img est chargé en mémoire
    comme un périphérique de stockage virtuel RAMDisk
    (par ex. /dev/ram0)
  • Ce disque virtuel RAMDisk est ensuite monté en
    tant que racine temporaire du système de fichiers
    (/).
  • Les pilotes et modules mentionnés plus haut sont
    maintenant chargés par le noyau.
  • initrd est démonté en tant que racine et la
    racine définitive est montée.
  • À ce stade, le noyau est chargé en mémoire et est
    désormais opérationnel. Il faut maintenant
    initialiser l'environnement utilisateur.

18
Etapes de démarrage init
  • Le programme /sbin/init finalise le processus de
    démarrage.
  • Il est guidé par le fichier /etc/inittab qui
    décrit l'ensemble des processus qui sont lancés
    en fonction des circonstances
  • principalement à l'initialisation du système,
    lorsque le système passe à un niveau d'exécution
    différent (runlevel), lorsque les touches
    CTRL-ALT-DEL sont pressées, etc.
  • Suivant le runlevel, les processus lancés sont
    divers gestionnaire de son, serveur de mail,
    web, scheduler de tâches (crond), etc.
  • /sbin/init devient parent ou grand-parent de tous
    les processus qui sont lancés.
  • init tourne tout le temps. Si init meure, tous
    les processus meurent.

19
Etapes de démarrage init (suite)
  • /etc/inittab lance d'abord le script
    /etc/rc.d/rc.sysinit sisysinit/etc/rc.d/rc.sysi
    nit
  • rc.sysinit réalise les opérations
    d'initialisation du système
  • initialise la variable PATH pour les autres
    scripts
  • active la partition de swap
  • monte les partitions de disque dur suivant
    /etc/fstab
  • initialise le nom du système (hostname)
  • vérifie l'intégrité du système de fichiers
  • démarre la gestion des quotas
  • initialise le "Plug and Play"
  • prépare la gestion des modules
  • initialise l'horloge système
  • détruit les fichiers de verrouillage

20
Etapes de démarrage init (suite)
  • init lance ensuite divers processus en fonction
    du niveau d'exécution (runlevel) configuré dans
    inittab
  • Le runlevel est le contexte dans lequel se trouve
    le système et qui va induire l'arrêt ou le
    démarrage de processus. On distingue 7 runlevels
    différents
  • 0 - Arrêt du système (Halt)
  • 1 - Mode mono-utilisateur
  • 2 - Mode multi-utilisateurs (sans NFS)
  • 3 - Mode Multi-utilisateurs
  • 4 Non utilisé
  • 5 - Mode Multi-utilisateurs avec login graphique
  • 6 Redémarrage du système (Reboot)
  • Le runlevel peut changer pendant la vie du
    système. init effectue alors les opérations
    correspondantes

21
Etapes de démarrage init (suite)
  • En fonction du runlevel, innitab indique à init
    de démarrer les processus dont les scripts de
    démarrage se trouvent dans le répertoire
    correspondant au runlevelPar ex pour runlevel
    5, /etc/rc.d/rc5.d/
  • En réalité, ces scripts sont des liens
    symboliques vers des scripts existants dans le
    répertoire /etc/rc.d/init.d/.
  • On peut ainsi modifier le lien (ajouter,
    supprimer, renommer) sans affecter le script
    auquel il fait référence
  • Le nom de ces liens symboliques décrit si les
    processus doivent être démarrés (S, Started) ou
    arrêtés (K, Killed), et dans quel ordre (le
    nombre suivant la 1ère lettre du nom)Par ex
    dans /etc/rc.d/rc5.d/ on trouve les scripts
    S10network et S55sshdS10network indique que
    toutes les opérations relatives au démarrage du
    réseau sont effectuées avant de démarrer le
    serveur de connexion sécurisée sshd

22
Etapes de démarrage init (suite)
  • init arrête tout d'abord tous les liens
    symboliques K du répertoire en émettant la
    commande /etc/rc.d/init.d/ltcommandegt stop,
    ltcommandegt correspondant au processus à arrêter
  • Elle démarre ensuite tous les liens symboliques S
    /etc/rc.d/init.d/ltcommandegt startPar ex le
    lien S55xinetd lancera la commande
    /etc/rc.d/init.d/xinetd start
  • Remarque on peut utiliser ces mêmes scripts en
    tant que super-utilisateur (root) pour démarrer
    ou arrêter des servicesPar ex
    /etc/rc.d/init.d/httpd stop arrêtera le serveur
    Web Apache
  • Pour les runlevels 2 à 5, le script local
    (S99local) pointant vers /etc/rc.d/rc.local est
    le dernier à être exécuté. Ce script permet de
    lancer des commandes de personnalisation du
    système.

23
Etapes de démarrage init (suite)
  • Après avoir exécuté tout les scripts de /etc/rc.d
    pour le runlevel, le script /etc/inittab établit
    un processus /sbin/mingetty pour chaque console
    virtuelle (invites de login) assignée à ce niveau
    d'exécution
  • Pour les runlevels 2 à 5, six consoles virtuelles
    sont démarrées
  • Le runlevel 1 (mode mono-utilisateur) n'obtient
    qu'une console
  • Pour les runlevels 0 (arrêt) et 6 (redémarrage),
    aucune console n'est démarrée
  • mingetty est un getty, un gestionnaire (GET) de
    terminal (TTY, teletype). Le getty attend une
    connexion sur les liens série. A la connexion, il
    configure le lien série, demande un login et un
    mot de passe, puis effectue le processus de login
    pour l'utilisateur
  • Pour le runlevel 5 (login graphique),
    /etc/inittab exécute le script /etc/X11/prefdm
    qui affiche le login graphique
  • La séquence de démarrage est terminée.

24
Introduction à Linux
  • Les services réseaux

25
Les services réseaux
  • Plusieurs services réseaux disponibles
  • Partage de fichiers et d'imprimantes (NFS, SMB)
  • Serveurs de connexion sécurisée (sshd) ou pas
    (telnet)
  • Serveurs web (httpd apache)
  • Serveurs FTP (wu-ftpd, pro-ftpd, etc.)
  • Etc.
  • Deux moyens de démarrer ces services
  • À l'initialisation du runlevel ou par ligne de
    commande
  • À l'attente de connexion avec les TCP Wrappers et
    Xinetd

26
Lancement des services réseaux
  • Dans le chapitre précédent, nous avons vu comment
    démarrer un service (réseau ou pas) à
    l'initialisation du système ou par ligne de
    commande
  • Linux offre un contrôle d'accès sécurisé fiable
    grâce à la mise en oeuvre du firewall IPTables
  • Cependant, pour accroître la sécurité, il est
    recommandé d'ajouter une couche de protection
    supplémentaire individuelle à chaque service
    réseau démarré
  • Cette protection est offerte sur deux niveaux
  • Les TCP Wrappers (enveloppeurs réseaux) qui
    détermine les machines autorisées à se connecter
    à chaque service
  • Xinetd qui s'intercale entre les TCP Wrappers et
    le service réseaux et offre un contrôle d'accès
    plus affiné au service réseau

27
Les enveloppeurs TCP
  • Les enveloppeurs TCP offrent un contrôle d'accès
    basé sur le nom ou l'adresse de la machine qui
    tente la connexion
  • Lorsqu'une tentative de connexion à un service
    est effectuée
  • L'enveloppeur TCP contrôle l'accès en fonction
    des fichiers /etc/hosts.allow et /etc/hosts.deny
  • Il loggue (enregistre) ensuite les informations
    de connexion dans le fichier de logs
    /var/log/secure ou /var/log/messages
  • Si l'accès est donné, l'enveloppeur TCP
    n'interfère plus dans le processus de
    communication entre le serveur et le client
  • Les enveloppeurs TCP sont ainsi complètement
    transparents dans le contrôle d'accès à un
    serveur
  • Ils offrent de plus une gestion centralisée de
    l'accès aux services réseaux

28
Xinetd un super-server
  • xinetd est un super-service enveloppé dans un
    enveloppeur TCP contrôlant l'accès à un
    sous-réseau de services réseaux comme ftpd,
    telnetd, etc.
  • En ce sens, xinetd est un super-service car il
    centralise l'accès à d'autres services réseaux et
    permet de les contrôler plus finement
  • xinetd offre une panoplie complète de gestion du
    service, allant du simple contrôle d'accès à la
    redirection réseau, en passant par la gestion des
    ressources et l'enregistrement de connexion
    (logging)
  • C'est un service très puissant. Cependant,
    beaucoup de services décident de contrôler
    eux-même l'accès et se passent de xinetd
  • Exemples Samba (httpd), sshd

29
Fonctionnement de xinetd
  • Xinetd écoute sur certains ports réseaux associés
    à des services
  • Lors d'une tentative de connexion à un service
    réseau géré par xinetd
  • Une première vérification d'accès est faite par
    l'enveloppeur TCP
  • Si l'accès est autorisé, xinetd vérifie l'accès
    et les modalités de démarrage du service en
    fonction de sa propre configuration pour ce
    service
  • Si l'accès est autorisé par xinetd, une instance
    du service est démarrée à qui la connexion est
    cédée. xinetd n'intervient plus alors dans le
    processus de communication entre le serveur et le
    client
  • Xinetd gère les nouvelles tentatives de connexion
    à ce service, et en fonction des ressources
    allouées, décide s'il doit lancer une nouvelle
    instance de ce service

30
Xinetd fichiers de configuration
  • /etc/xinetd.conf configuration globale de
    xinetd
  • Le répertoire /etc/xinetd.d/ fichiers de
    configuration spécifiques au service
  • Un seul fichier est nécessaire, mais organisation
    plus simple avec un fichier pour chaque service
  • includedir /etc/xinetd.d (dans xinetd.conf)
  • La plupart des directives de configuration
    globale sont héritées aux services

31
/etc/xinetd.conf configuration globale
  • Paramètres généraux lus une seule fois au
    démarrage de xinetd
  • Lors de changement dans la configuration,
    nécessaire de redémarrer xinetd
  • Exemple
  • defaults instances
    60 log_type SYSLOG
    authpriv log_on_success HOST
    PID log_on_failure HOST
    cps 25 30includedir
    /etc/xinetd.d

32
/etc/xinetd.conf configuration globale
  • Instances nombre de requêtes maximum que xinetd
    peut gérer
  • log_type les logs sont envoyées à syslogd avec
    la facilité authpriv. Pour enregistrer
    directement dans un fichier sans envoyer à
    syslogd, FILE /var/log/xinetdlog
  • log_on_success engregistrer les connexions
    réussies. Par defaut, l'adresse IP de la machine
    et le process ID du server lancé sont
    enregistrés
  • log_on_failure entregistrer les connexions
    non-réussies ou non-autorisées
  • Cps nombre de connexion / seconde pour chaque
    service. Si cette limite est atteinte, le service
    est inacessible pendant 30s.
  • includedir /etc/xinetd.d/ inclus les options de
    configurations pour chaque service, sous la forme
    d'un fichier spécifique

33
Le répertoire /etc/xinetd.d
  • Ce répertoire contient les fichiers de
    configuration spécifiques à chaque service. Comme
    xinetd.conf, lus au démarrage de xinetd une fois
    pour toute.
  • Exemple
  • service telnet flags REUSE
    socket_type stream wait
    no user root
    server /usr/sbin/in.telnetd
    log_on_failure USERID disable
    yes

34
Le répertoire /etc/xinetd.d
  • Service nom du service. Correspond en général
    aux services définis dans /etc/services file.
  • Flags définis les attributs de la connexion.
    REUSE ordonne à xinetd de réutiliser le socket
    pour une connexion Telnet
  • socket_type définit le type de socket à stream
  • Wait le service est simple-tâche (yes) our
    multi-tâches (no) ?
  • User sous quel utilisateur le service doit être
    lancé
  • Server définit le programme à lancer
  • log_on_failure paramètres à enregistrer en cas
    de connexion réussie, en plus des paramètres par
    défaut définis dans xinetd.conf
  • Disable définit si le service est active ou pas
Write a Comment
User Comments (0)
About PowerShow.com