363

Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

Embed Size (px)

Citation preview

Page 1: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

1

Linux - Administration

Erik JourdainSupport LUX-ORSYS

Version 1.0

Page 2: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

2

2

Erik Jourdain

� SGBD Oracle et MySQL

� Administration et Optimisation

� Linux

� Debian, Ubuntu et Centos Version libre de RedHat�

� Cluster et virtualisation ( Xen, KVM et VirtualBox )

� Unix propriétaires� Solaris, HP-UX et AIX

� Langages� SQL, PL/SQL, Perl, Shell

� E-mail : [email protected]

� Blog : http://www.silverlake.fr

� Twitter : silverlakefr

Page 3: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

3

Avertissement� Le cours se fait principalement en ligne de commande.

� Il est important de connaître les commandes de base Linux ainsi que l'éditeur de texte vi.

� L'interface graphique sera toutefois évoquée et mise en place.

� Les différentes distributions Linux sont toutes conçues sur le même modèle.

� Les répertoires, les noms de fichiers ou les commandes sont parfois différents.

� La plate-forme mise en place dans le cadre de ce cours est Centos 6.3 version libre de RedHat.

� Il sera fait référence à Debian 6 Squeeze pour certains aspects.

Page 4: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

4

Plan du cours

� Linux

� Installation du système

� Administration de base

� Gestion des disques et autres périphériques

� Noyau, performance et optimisation

� Intégration réseau

� Services réseaux sous Linux� DNS Bind, � Web Apache, � Serveur de fichiers SAMBA

Page 5: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

5

Linux

Page 6: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

6

Historique

� Créé en 1991, dans une chambre d'étudiant en Finlande, par Linus Torvalds.

� On peut penser que Linux vient de la contraction Linus et Unix.

� Un succès immédiat grâce à Internet Buzz !�

� Le vrai démarrage de Linux date de 1998.

� La mascotte de Linux appelée Tux est un manchot et non un pingouin.

� Aujourd�hui Linux est reconnu comme un système d�exploitation stable, robuste et performant.

� Son emploi est quasi systématique dans les architectures Web.

� LAMP : Linux, Apache, MySQL,PHP

Page 7: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

7

Linux� Linux est un système d'exploitation , ou OS ( Operating System ) pour

ordinateur.

� Linux fait parti de la famille des unix, à ce titre il est :

� Multi-tâches : plusieurs programmes peuvent s'exécuter en simultané

� Multi-utilisateurs : Plusieurs personnes peuvent utiliser la même machine au travers une session.

� Linux peut aussi faire tourner un programme sans qu'un utilisateur soit connecté serveur Web�

� Linux en tant que tel n'est qu'un noyau ( kernel ) dont l'unique rôle est d'assurer la communication entre le matériel et les applications.

� Un ensemble de logiciels utilisant Linux s�appelle une distribution Linux.

� Il existe un grand nombre de distributions Linux, CentOS en est une.

� Les plus connues sont RedHat, Fedora, Suse, Debian et Ubuntu

Page 8: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

8

Distributions Linux

� A l'heure actuelle, deux tendances existent dans les distributions :

� RedHat like. Gestion de package RPM� RedHat,

� Fedora,

� CentOS,

� Scientific Linux

� Debian like. Gestion de package DEB� Ubuntu,

� Linux Mint

� Le site distrowatch.com recense environ 160 distributions dont 63% sont directement ou indirectement basées sur Debian.

� Beaucoup d'entreprises choisissent RedHat en raison du support et de la structure commerciale du produit.

Page 9: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

9

La distribution DEBIAN

Page 10: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

10

DEBIAN� Se prononce « débianne », vient du nom des créateurs

Déborah et Ian Murdock. Sa création date de 1993.

� Debian est connue pour sa stabilité légendaire.

� La communauté Debian recense plus de 1100 contributeurs, tous bénévoles

� Il n'existe aucune entreprise Debian, son développement est totalement libre et ouvert.

� Ces deux derniers points sont souvent vus comme un défaut. Beaucoup d'entreprises veulent du support auprès d'un éditeur et préfèrent Redhat.

� HP, entre autre, propose du support sur Debian.

� Debian est supporté sur les architectures Intel, AMD, SPARC, MIPS, PowerPC, Intel Itanium et ARM.

� Site officiel : http://www.debian.org

Page 11: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

11

Branches Debian

STABLESqueeze

TESTINGFuture stable

Wheezy

SIDdéconseillée en

production

Sortie février2011

Paquets endéveloppement

constant

Paquets considérés sans bugs critiques

� récents

Paquets éprouvésgrande stabilité

� plus anciens

OLDSTABLELenny

Paquets maintenus18 mois après

la sortie de STABLE

Le passage de TESTING à STABLEest de 18 à 24 mois

La décision est en fait :When it's ready !

Les noms de code des versions de Debian sont tirés du film Toy Story

C'est sur cette branche que s'appuie Ubuntu

Page 12: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

12

Pourquoi choisir Debian ?

� Pour la stabilité.

� Le contrat social Debian et sa philosophie de développement très strict sont à la base de cette qualité logicielle.

� Pour la commande apt-get, très en avance sur son temps, ce principe de gestion des dépendances fut copié par tous.

� La richesse de ses packages près de 30 000 à ce jour.

� Un serveur doit assurer un service en 24/7.

� Stable et nouveau ne sont pas forcément synonymes !

� Il vaut mieux une solution "vieillote" mais parfaitement stable et éprouvée qu'un toute neuve sans véritable retour d'expérience.

� L'image parfois "ringarde" de Debian est pour beaucoup un signe de qualité.

� Debian ne dépend d'aucune contrainte commerciale.

Page 13: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

13

La distribution CentOS

Page 14: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

14

CentOS

� Community enterprise Operating System

� Principalement destinée aux serveurs.

� Tous ses paquets, à l'exception du logo, sont compilés à partir des sources de la distribution RHEL (Red Hat Enterprise Linux), éditée par la société Red Hat.

� Elle est donc quasiment identique et se veut 100 % compatible d'un point de vue binaire.

� Un délai de 48 heures est observé lors des mises à jour entre RedHat et CentOS.

Page 15: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

15

De Fedora à CentOS

FedoraRedHatRHEL

CentOS

ScientificLinux

Très "uptodate"Stable, éprouvéeCommercialeSupport

GratuitSupport Communautaire

Page 16: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

16

Pourquoi choisir CentOS

� Pour sa compatibilité avec RedHat.

� De nombreux logiciels sont packagés rpm, plus rarement deb.

� Les installations automatiques via kickstart sont plus simples qu'avez Debian.

� RedHat est payant mais apporte du support. CentOS est gratuit, le support est via la communauté.

� Beaucoup de logiciels exigent RedHat, par exemple Oracle.

� La distribution utilisé dans ce cours sera CentOS version 6.3.

� La durée de maintenance élevée : 9 ans.

Page 17: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

17

Architecture Linux

Page 18: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

18

Architecture matérielle

� Linux existe pour au moins trois architectures matérielles courantes :

� x86 ou i386/i686 pour les ordinateurs dont les processeurs sont du type Intel (du 386 au Pentium 4) ou AMD (Athlon, Duron, Sempron) 32 bits.

� Cette version fonctionne aussi sur les machines à base de processeurs 64 bits.

� x86_64 pour les ordinateurs dont les processeurs sont du type Intel (Pentium 4 à partir des séries 600, Xeon, Dual Core/Quad Core) ou AMD (Athlon 64, Sempron 64, Opteron) 64 bits.

� Cette version ne fonctionne pas sur les processeurs 32 bits.

� Les paquets Debian en 64 bits sont sous le nom amd64 qui ne correspond en rien aux processeurs AMD. Ils fonctionnent avec des processeurs Intel et AMD.

� ppc pour les ordinateurs dont les processeurs sont de type PowerPC c�est-à-dire les anciens ordinateurs de marque Apple.

� Cette version ne s�installera pas sur les dernières machines Apple basées sur un processeur de marque Intel.

Page 19: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

19

Linux est un noyau

� Le noyau LINUX est une interface entre des programmes et des périphériques physiques.

� L'accès à ces périphériques se fait par l'intermédiaire d'appels systèmes qui sont identiques quelle que soit la machine.

� Cette encapsulation du matériel libère les développeurs de logiciels de la gestion complexe des périphériques : c'est le système d'exploitation qui s'en charge.

� Ainsi, si le système d'exploitation existe sur plusieurs architectures, l'interface d'utilisation et de programmation sera la même sur toutes.

� On dira alors que le système d'exploitation offre une machine virtuelle à l'utilisateur et aux programmes qu'il exécute.

� Tous les systèmes d'exploitations sont basés sur ce principe.

Page 20: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

20

Principe du noyau Linux

Applications

Appels Systèmes Linux

Gestion desprocessus

Gestion du matériel

Matériel ( Disques, CPU, carte réseau... )

Gestion E/S Fichiers

Pilotes/Drivers

Cache Linux

Page 21: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

21

Espaces Noyau vs Utilisateur

� Linux est considéré comme un système d'exploitation monolithique, écrit comme un ensemble de procédures qui peuvent s'appeler mutuellement.

� Pour l'utilisateur, il se présente comme un seul gros fichier. Cependant, il contient un ensemble de composants réalisant chacun une tâche bien précise.

� Cette construction monolithique induit un aspect important :

� La notion d'espace noyau kernelspace,�

� La notion d'espace utilisateur userspace. �

� Dans l'espace noyau, aucune restriction n'est imposée.

� Dans l'espace utilisateur, un certain nombre de restrictions sont imposées, par exemple, la création d'un fichier ne peut se réaliser que si les droits sont suffisant, et le processus ne peut avoir accès qu'aux zones mémoires qui lui ont été allouées.

� Le noyau LINUX est composé de cinq sous-systèmes principaux.

� Un sous-système peut être défini comme une entité logicielle qui fournit une fonctionnalité particulière.

Page 22: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

22

Tâches réalisées par le noyau LINUX

� Gestion des Processus, Ordonnanceur, Scheduler

� Ce sous-système est chargé de répartir équitablement les accès au processeur entre toutes les applications actives. Cela n'inclut pas seulement les processus utilisateurs, mais aussi les sous-systèmes du noyau lui-même. Cette fonction est réalisée par le Scheduler.

� Gestion de la mémoire

� Ce sous-système est chargé d'affecter à chaque programme une zone mémoire. Il a également un rôle de protection : la mémoire pour un processus est privée et celle-ci ne doit pas être lue ni modifiée par un autre.

� Système de fichier virtuel

� Le sous-système de fichiers garantit une gestion correcte des fichiers et un contrôle des droits d'accès. Pour limiter la complexité liée aux nombreux systèmes de fichiers existants, LINUX adopte le concept de Virtual FileSystem (VFS). Le principe du VFS est de proposer des appels systèmes identiques quel que soit le système de fichiers. Il est de la responsabilité du noyau de détourner les appels standards vers les appels spécifiques au système de fichiers.

� Service réseau

� Le sous-système réseau permet à Linux de se connecter à d'autres systèmes à travers un réseau informatique. Il y a de nombreux périphériques matériels qui sont supportés et plusieurs protocoles réseaux peuvent être utilisés.

� Communications Inter Processus

� Dans la mesure où un processus ne peut avoir accès qu'à la zone mémoire qui lui a été allouée, LINUX propose plusieurs mécanismes permettant à des applications de communiquer entre elles.

Page 23: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

23

Synoptique de communication

DriverSATA

DisqueSATA

DriverIDE

CDROM

DriverVFS

Système defichier virtuel

DriversVFS

Gestionprocessus

Gestionmémoire

Serviceréseau

Communication Inter-Processus

DriverCarte réseau

DriverVFS

ProtocoleTCP/IP

CarteRéseau

Processusutilisateur

Processusutilisateur

Processusutilisateur

Processusutilisateur

Espaceutilisateur

Espacenoyau

Matériel

Processusutilisateur

Page 24: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

24

Utilisation de Linux

� Principalement comme OS serveur

� Par exemple, la plupart des serveurs Web au monde utilisent Linux au travers HTTPD de la fondation Apache.

� Comme serveur de fichier le plus utilisé est SAMBA qui offre des fonctions très proches de Windows Server.

� Le marché des postes de travail est plus difficile à conquérir pour Linux. Une distribution comme Ubuntu axe son développement sur une ergonomie soignée et une facilité d'installation des logiciels.

� Linux est très sécurisé, certes des virus existent mais le mode de fonctionnement des Unix en général rend leur mise au point très difficile.

� Linux est gratuit et son code source est ouvert.

Page 25: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

25

Open-Source

� On parle aussi de logiciel libre.

� Le fait que le code soit ouvert est un gage de sécurité.

� Chacun peut apporter idées ou correction.

� Il n'y a pas de bonne ou de mauvaise contribution, juste des idées non retenues.

� La réactivité est plus forte.

� Certaines distributions sont axées sur les nouveautés ( Fedora, Ubuntu ) d'autres sur la stabilité ( Debian, RedHat ).

� La devise de Debian résume bien cet état de fait :"On ne sort une nouvelle version que lorsqu'elle est prête !"

Page 26: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

26

RTFM

� Argot du Web. "Read The Fucking Manual". La réponse est souvent là.

� Linux est devenu célèbre par le Net et le partage d'expérience. La plupart de vos questions trouveront une réponse via un moteur de recherche

� "Google is your best friend"

� Les forums abondent et le pire côtoie le meilleur.

� Évitez ceux qui parlent en SMS

� sa march pô !

� j koné ren !

� g fé kom c marké...

� Recoupez toute information et faites vous des fiches, voir un wiki personnel ( jetez un oeil sur dokuwiki ).

� Une maxime : "Si tu ne sais pas, demande. Si tu sais partage !"

Page 27: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

27

Interface graphique ou pas

� Le débat est vaste

� L'interface graphique sous Linux n'est pas obligatoire, car il s'agit d'un programme comme un autre.

� Les serveurs en sont en général dépourvus.

� Linux permet de choisir l'interface texte ou graphique.

� Sous Linux l'interface graphique se décompose en deux :� Le serveur graphique : X-Window, nommé aussi X11

� Le bureau : GNOME, KDE, XFCE, E17, JWM...

� L'interface graphique demande des ressources, si au niveau d'un poste de travail son confort est évident, elle est sans aucun intérêt pour un serveur.

Page 28: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

28

Installation dusystème

Page 29: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

29

Média d'installation

� Plusieurs méthodes� CD-ROM, la plus courante� Clé USB, utilitaire unetbootin� Réseau, boot PXE ou image minimale

� En cas de déploiement massif fichiers de �

préconfiguration� Kickstart sous Centos� Preseed sous Debian

Page 30: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

30

Installation par CD-ROM

� Télécharger depuis l'Internet l'image ISO de la distribution souhaitée.

� CENTOS : http://www.centos.org/

� DEBIAN : http://www.debian.org

� Vu le nombre croissant de package, le DVD est devenu la norme, pour la majorité des distributions pourtant le CD 1 est suffisant.

� CentOS et Debian propose une image minimale n'installant que le strict minimum.

� 32bits ou 64bits ?

� Si le processeur le permet préférer le 64bits meilleure gestion de la RAM au �

delà de 1Go.

� Obligatoire si plus de 4Go de RAM

� Graver l'image ISO pas une copie directe !�

� Démarrer la machine sur le CD-ROM

Page 31: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

31

Installation USB

� Plus rapide que par CD-ROM.

� Le projet unetbootin permet la création d'une clé USB bootable à partir de l'image ISO d'une distribution Linux quelconque.� http://unetbootin.sourceforge.net/

� Certaines distributions offre un utilitaire similaire ( ubuntu ).

� Attention certains BIOS ne permettent pas le boot USB.

Page 32: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

32

Installation réseau

� Les distributions proposent des images minimales nommées NetInstall taille < 40Mo�

� Il est également possible de démarrer l'installation via la carte réseau boot PXE�

� Les paquets logiciels sont alors chargés via un dépôt ou miroir sur l'Internet. Il est possible d'avoir son propre miroir de la distribution sur le réseau local.

� La mise en place d'un serveur PXE, d'un miroir de la distribution local et d'un fichier de pré-configuration permet d'installer automatiquement des machines.

� Se référer au cours DUS de Orsys. 3 jours...

Page 33: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

33

Choix du type d'installation

� Sous Linux il n'existe pas de différence entre les versions serveur ou poste de travail.

� Le choix se fait en fonction des paquets installés.

� Certaines distributions comme Ubuntu ou Mint s'installent très facilement.

� Il existe toujours un mode expert, souvent en mode caractère, permettant une gestion très fine du processus d'installation.

� Il est indispensable de maîtriser le mode expert pour certaines configurations matérielles.

Page 34: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

34

Format des paquets

� Sous Linux les logiciels sont distribués sous forme de paquets ( packages ).

� Les paquets permettent une installation, des mises à jour et une désinstallation simple.

� Il existe deux grandes familles de paquets� rpm, pour les distributions type RedHat� deb, pour les distributions type Debian

� Bien qu'incompatibles ces deux formats proposent les mêmes services.

� Il est possible de convertir un paquet rpm et deb et vice-versa logiciel ALIEN.�

Page 35: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

35

Gestion des paquets

� Utilisation en ligne de commande :� Commande rpm sous Centos,� Commande dpkg sous Debian

� Certains paquets demandent pour fonctionner d'autres paquets gestion des dépendances.�

� Commande yum sous Centos� Commande apt-get ou aptitude sous Debian.

� N'utiliser que ces commandes et donc les paquets de la distribution permet une grande stabilité de la plate-forme Linux et des mises à niveau simplifiées.

Page 36: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

36

Gestion des mises à jour

� Pour installer et mettre à jour une distribution Linux on utilise des dépôts.

� Il est possible d'utiliser des dépôts depuis l'Internet ou d'utiliser son propre dépôt.

� Pour Debian les dépôts sont dans le fichier /etc/apt/sources.list

� Pour CentOS il s'agit des fichiers .repo sous le répertoire /etc/yum.repo.d

Page 37: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

37

Choix des paquets

� Pour ce cours une installation de base avec graphique est configurée.

� En production une installation minimale est réalisée.

� Les paquets nécessaires sont installés au fur et à mesure.

� Ce mode d'installation permet de configurer exactement la machine en fonction de son besoin.

� Un paquet non utilisé n'a pas besoin d'être installé.

Page 38: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

38

Configuration Orsys

� Pour faciliter certaines manipulations la salle dispose d'un dépôt CentOS 6.3.

� Pour utiliser ce dépôt, supprimer tous les fichiers .repo sous /etc/yum.repo.d� cd /etc/yum.repo.d� rm -f *

� Créer un fichier local.repo avec le contenu du slide suivant.

Page 39: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

39

/etc/yum.repo.d/local.repo

[local]

name=Local

baseurl=http://192.168.3.24/centos/6/os/i386

enabled=1

gpgcheck=0

[local-updates]

name=Local-updates

baseurl=http://192.168.3.24/centos/6/updates/i386

enabled=1

gpgcheck=0

Page 40: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

40

Mettre à jour la distribution

� Une fois le fichier dépôt configuré, lancer la commande de mise à jour.� yum -y update

� Les paquets seront alors chargés depuis le dépôt local et mis à jour sur le système.

� Cette action peut être assez longue.

Page 41: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

41

Problèmes d'installation

� Il faut toujours vérifier avant l'installation que les composants seront bien reconnus.

� Lors de l'installation, il est possible que le système demande des firmwares particuliers pour certains matériels :� Cartes RAID

� Cartes réseau...

� Il suffit de se connecter sur le site web du constructeur pour les télécharger et les mettre sur une clé USB.

� Dans de très rares cas, il est possible qu'il faille recompiler un noyau Linux pour utiliser un matériel.

� Les périphériques posant des difficultés sont en général les cartes graphiques, notamment ATI et nVidia, ou les webcams.

Page 42: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

42

Spécifications matérielles

� Processeur Intel ou AMD, les plus courants. Debian supporte 9 types de processeurs, 5 pour Centos.

� Si plus de 4Go de RAM version 64bits�

� Un serveur ne demande pas plus de 512Mo de RAM. 1Go pour un poste client. ( en dessous c'est possible, mais ça rame ! )

� 4Go de disque, une installation basique ne demande que 500Mo.

� Une carte réseau ( compatible PXE si boot via réseau )

� Lecteur CD/DVD ou boot par USB

� La carte graphique est sans intérêt pour un serveur.

Page 43: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

43

Choix du système de fichiers

� Sous linux il existe beaucoup de systèmes de fichiers. Les plus courants sont :� ext2, non journalisé utilisé sous /boot ou sur clé USB.

� ext3 ext4 : Journalisé, choix par défaut de la plupart des �

distributions. ext4 est intéressant avec des disques ssd.

� xfs : Utile sur les très gros fichiers, comme par exemple les bases de données.

� brtfs : sans doute le futur de Linux, encore jeune, mais très prometteur.

� reiserfs : Très performant sur les petits fichiers

� ntfs : utilisé par Windows, permet de mettre en place une partition d'échange entre les 2 OS.

Page 44: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

44

Installation de Centos

� Mettre le CD-ROM dans le lecteur et démarrer la machine.

� Depuis la version 6 seul le mode graphique permet d'accéder à la configuration avancée.

� Le mode texte ne pose pas toutes les questions, il faut donc utiliser un kickstart.

� Une fois le boot effectué, ne pas tester le CDROM, choisir la langue française et valider le clavier.

Page 45: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

45

Ecran de boot installationCentOS 6.3

Page 46: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

46

Configuration réseau

� Choix le protocole IPV4 et désactiver IPV6

� IP statique type :� IP : 192.168.<salle>.<x>/24� Passerelle : 192.168.<salle>.254� DNS : 194.2.0.20 et 194.2.0.50

� Choisir URL comme médium d'installation et renseigner ainsi :

� http://192.168.x.24/centos/6/os/i386

� Définir le nom de la machine manuellement mettre �

votre prénom.

Page 47: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

47

Configuration réseau CentOS 6.3

Bien cocher cette case, sinon la carte réseaune sera pas active au boot.

Page 48: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

48

Partitionnement Disque

� Linux demande au minimum deux partitions

� Racine ou root symbolisée par /

� Swap, utilisée en cas de manque mémoire vive.

� Le partitionnement minimum peut suffire pour un poste de travail individuel. Un partitionnement plus fin est toutefois recommandé.

� Pour un serveur il est important de définir un partitionnement plus fin du disque.

� Il importe aussi de statuer sur le mode de partitionnement :� Statique,

� LVM

� Le partitionnement proposé ici est statique. Il ne s'agit que d'un exemple appliqué de longue date en production.

Page 49: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

49

Principe des partitions

� Les processeurs Intel et AMD utilise un partitionnement disque type MS-DOS.� Partition primaire, maximum 4� Partition logique, maximum 256

/boot swap / /usr /usr/local /opt /var /tmp /home

Découpage type du disque

Primaire Logique

Page 50: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

50

Pourquoi partitionner ?

� Par sécurité, il est possible par exemple de monter la partition /usr en read-only et ainsi interdire toute installation de logiciels.

� Monter la partition /tmp en interdisant l'exécution de programme depuis cet emplacement.

� La partition /var contient les logs système et ceci permet de la purger facilement.

� Mettre la partition /tmp sur laquelle tout le monde peut écrire à une taille modeste permet d�éviter la saturation de l'espace disque...

Page 51: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

51

Blinder un serveur

� Les partitions permettent d'éviter certaines choses désagréables comme par exemple l'ajout intempestif de logiciels ou la copie d'exécutables dans /tmp ou $HOME. Pour cela, une fois tout installé et configuré, modifier la table de montage ainsi :

� vi /etc/fstab# /etc/fstab: static file system information.# <file system> <mount point> <type> <options> <dump> <pass>proc /proc proc defaults 0 0/dev/hda3 / ext3 errors=remount-ro 0 1/dev/hda1 /boot ext2 defaults 0 2/dev/hda10 /home ext3 rw,nosuid,nodev,noexec 0 2/dev/hda7 /opt ext3 ro 0 2/dev/hda9 /tmp ext3 rw,nosuid,nodev,noexec 0 2/dev/hda5 /usr ext3 ro 0 2/dev/hda6 /usr/local ext3 ro 0 2/dev/hda8 /var ext3 rw,nosuid,nodev,noexec 0 2/dev/hda2 none swap sw 0 0

� Ce n'est pas la panacée en sécurisation, mais ceci évite pas mal de désagrément.

Page 52: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

52

Exemple de partitionnement

Page 53: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

53

Partitionnement courant en production

Point de montage Type Primaire/Logique Taille

/boot ext2 Primaire 100 Mo

swap Primaire 1 024 Mo

/ ext3 Primaire 500 Mo

/usr ext3 Logique 5 000 Mo

/usr/local ext3 Logique 5 000 Mo

/opt ext3 Logique 10 000 Mo

/var ext3 Logique 2 000 Mo

/tmp ext3 Logique 1 000 Mo

/home ext3 Logique Le reste

Page 54: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

54

LVM

� Logical Volume Manager

� Permet de rendre transparent les disques physiques de leurs utilisation en partitions.

� Les disques physiques sont regroupés en groupes de volumes découpés en volumes logiques.

� L'intérêt de LVM est de pouvoir augmenter ou diminuer dynamiquement une partition.

� Ubuntu permet de configurer LVM dès l'installation.

� Dans ce cours l'installation se fera en partitionnant statiquement le disque puis la mise en �uvre de LVM sera vu ensuite.

Page 55: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

55

Processus d'installation CentOS 6.3

Page 56: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

56

Choix des paquets lors de l'installation

� En utilisant le CD minimal seul le nécessaire est mis en place.� Serveur ssh� Gestionnaire de packages yum

� Une fois installée la machine redémarre et il est possible de se connecter en root en mode console ou à distance via ssh.

� A ce stade la machine ne permet rien de plus.

Page 57: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

57

Configuration minimale

� Le slide précédent doit être pondéré.

� Plusieurs services inutiles sont activés au démarrage par défaut ;

� iSCSI

� Parefeu...

� Le plus simple est de tout désactiver et de ne conserver que le necessaire

� réseau

� ssh

� rsyslog ( gestion des traces )

� Procéder ainsi

� for i in `chkconfig --list | cut -f1`; do chkconfig --del $i; done

� chkconfig --add network

� chkconfig --add sshd

� chkconfig --add rsyslog

Page 58: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

58

Corriger un problème GRUB

� Le chargeur GRUB peut parfois poser des difficultés et demander sa ré-installation.

� Booter sur le CD d'installation et passer en mode rescue.� boot : linux rescue

� Monter la partition / ( /dev/sda3 dans cet exemple ).

� mkdir /mnt/sysimage

� mount /dev/sda3 /mnt/sysimage

� Changer la racine par la commande chroot

� chroot /mnt/sysimage

� Ré-installer grub dans le MBR

� grub-install /dev/sda

� Redémarrer la machine.

Page 59: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

59

Problème éseau� Il arrive que le réseau ne soit pas configuré. Souvent par oubli lors de

l'installation.

� Se connecter en mode console et editer le fichier /etc/sysconfig/network-script/ifcfg-eth0.

� Vérifier que la clause ONBOOT est bien à "yes"

� DEVICE="eth0"

� BOOTPROTO=static

� ONBOOT=yes

� IPADDR=192.168.3.20

� PREFIX=24

� Selon les installations ce fichier contient plus de renseignement.

� Il est important que les clauses soit en majuscules.

� Après correction redémarrer le réseau par la commande suivante :

� service network restart

� Vérifier par la commande ifconfig eth0 l'attribution correcte de l'adresse IP.

Page 60: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

60

Désactiver la sécurité

� Par défaut CENTOS configure la sécurisation des applications via SELinux ( Security-Enhanced Linux ).

� La mise en place de SELinux dépasse le cadre de ce cours.

� Pour certains logiciels, l'activation par défaut de SELinux est problématique.

� Désactiver la sécurisation SELinux en editant le fichier /etc/selinux/config� Remplacer SELINUX=enforcing par SELINUX=disabled

� Taper ensuite la commande : setenforce 0

Page 61: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

61

Installation Debian

� Le principe est assez similaire à l'installation de CENTOS.

� La principale différence vient dans le mode de gestion des paquets. Debian utilise la commande dpkg et apt-get/aptitude

� Les dépots sous Debian sont configurés dans le fichier /etc/apt/sources.list� deb http://ftp.fr.debian.org/debian/ squeeze main

� deb http://security.debian.org/ squeeze/updates main

� deb http://ftp.fr.debian.org/debian/ squeeze-updates main

� Mise à jour un système Debian� aptitude update

� aptitude safe-upgrade

Page 62: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

62

Installation des paquets rpm� La commande de base pour l'installation des paquets est rpm

� rpm -i <nom_du_paquet> installation�

� rpm -U <nom_du_paquet> mise à jour�

� rpm -e <nom_du_paquet> dé-installation�

� rpm -qa <nom_du_paquet> Information�

� RPM ne permet pas la gestion des dépendances fonctionnelles.

� Yum facilite grandement l'installation des logiciels en gérant les dépendances fonctionnelles.

� yum install <nom_du_paquet> installation�

� yum update <nom_du_paquet> mise à jour�

� yum update mise à jour complète de tous les paquets.�

� yum remove <nom_du_paquet> dé-installation�

� yum list Liste l'ensemble des paquets disponibles. Combinée avec grep cette �

fonction permet de rechercher des paquets sur un mot clé. Il existe toutefois une commande yum search <mot_clé>.

� Exemple installation de postfix, qui dépend de perl.

� yum install postfix installe en plus perl�

Page 63: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

63

Compléments YUM

� Afin de faciliter la mise en place de fonctionnalités génériques, Centos propose des groupes de paquets.

� La liste complète est obtenue ainsi :� yum grouplist

� L'installation se fait de cette manière :� yum groupinstall 'Outils de développement'� Les ' sont nécessaires si le nom du groupe comporte des

espaces.

� La commande ci-dessus installe les outils de développement ( compilateur, éditeur de liens... )

Page 64: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

64

Exemple d'installation d'un rpm

� Afin de visualiser la configuration de la machine, il existe une commande bien pratique : lshw.

� Cette commande, d'origine Debian, n'est pas disponible via yum, mais il existe un package rpm sur le site de l'auteur.

� Dans un premier temps, installer la commande wget� yum install wget

� Charger le paquet� wget http://pkgs.repoforge.org/lshw/lshw-2.16-1.el6.rf.i686.rpm

� L'installer� rpm -i lshw-2.16-1.el6.rf.i686.rpm

� Tester par : lshw -short

Page 65: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

65

Installation par les sources

� Cette méthode est déconseillée, mais parfois indispensable car le logiciel n'est pas packagé dans la distribution.

� La distribution GENTOO n'utilise que ce principe.

� Il est possible d'après les sources de créer un paquet pour la distribution ( hors cours ). Cette méthode est conseillée.

� Lien Internet sur le sujet : http://fedoraproject.org/wiki/A_Short_RPM_Tutorial

� L'installation par les sources demande un compilateur et un éditeur de lien.

� Afin de ne pas mélanger les paquets de la distribution et les logiciels installés par les sources ceux-ci sont, par défaut, mis en place dans une arborescence distincte : /usr/local.

Page 66: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

66

Exemple programme hello

� Charger le code source

� wget http://ftp.gnu.org/gnu/hello/hello-2.6.tar.gz

� Le décompresser

� tar -xvzf hello-2.6.tar.gz

� Se positionner dans le répertoire créé

� cd hello-2.6

� Compiler et installer

� ./configure

� make

� make install

� Le programme se trouve sous /usr/local/bin

� cd /usr/local/bin

� ./hello

Page 67: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

67

DémarrageConfigurationMises à jour

Page 68: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

68

Démarrage

� Le démarrage passe par plusieurs étapes

� Le Bios appelle le chargeur de démarrage

� Le chargeur met en place le noyau Linux

� Linux démarre le processus init

� Init lance tous les services Linux

� Ce principe est générique sur toute distribution Linux.

� Le programme init n�est pas toujours le même d�une distribution à une autre.

� La plupart des distributions utilisent l'init de type System 5, basé sur la notion de niveaux d�exécution.

� Ubuntu utilise Upstart qui gère les priorités, les événements et dépendances entre les services, mais qui reste calqué sur l'init System 5.

Page 69: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

69

Le BIOS

� Basic Input Output System

� Premier programme exécuté lors de l'allumage de la machine.

� Stocké en ROM ( Read Only Memory )

� Fonctions :� Tester les circuits et composants de la machine,

� Initialiser un système basique d'affichage

� Tester la mémoire

� Détecter les périphériques de stockage

� Charger le système d'exploitation présent sur le périphérique choisi pour l'amorçage ( disque dur, cdrom, usb... )

� La configuration du BIOS sort du cadre de ce cours.

Page 70: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

70

Le chargeur de démarrage

� Le BIOS active le chargeur de programme initial (Initial Program Loader, IPL) à partir des premiers 512 octets du support de démarrage.

� Sous Linux, le chargeur le plus utilisé est grub. Il est décomposé en deux parties.

� Le chargeur initial des 512 octets ne contient pas assez de code pour proposer des menus et lancer le chargement d�un système d�exploitation.

� Il charge la seconde phase, basée sur un fichier de configuration. Ce fichier de configuration est sous /boot/grub et se nomme grub.cfg sous Debian, menu.lst sous CentOS.

� La seconde phase fournit une interface pour lancer un système d�exploitation parmi un choix donné.

� Le BIOS n�intervient qu�au démarrage de la machine, à l�utilisation du chargeur de démarrage et aux toutes premières étapes du chargement du noyau. Ensuite, il devient inutile.

� Le noyau dispose de ses propres fonctions de détection bien qu�il s�appuie sur la configuration du BIOS.

Page 71: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

71

DISQUE

Le chargeur GRUB

� Debian utilise le chargeur de démarrage GRUB

� On emploi aussi le terme de bootloader.

� Sa tâche est de lire et de mettre en mémoire une image du noyau OS et de lui passer la main.

� GRUB permet le multi-amorçage, permettant ainsi la cohabitation Linux/Windows.

� GRUB est installé dans le Master Boot Record du disque dur et lance le noyau de l'OS

� Il existe un autre chargeur, Lilo, mais il n'est plus très utilisé par les distributions Linux actuelles.

MBRPartitionWindows

PartitionDebianBIOS

Page 72: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

72

Le MBR

� Master Boot Record

� Il s'agit du premier bloc d'un disque dur, sa taille est de 512 octets.

� 446 octets pour le gestionnaire d'amorçage

� 64 octets pour la table des partitions, 16 octets par partitions soit 4, le maximum. Pour plus de partitions il faut utiliser le mode étendu.

� 2 octets à la valeur AA55 sinon MBR erroné.�

� Pour installer ou réinstaller GRUB en cas de MBR corrompu, par exemple sur /dev/sda utiliser la commande grub-install :

� # /sbin/grub-install /dev/sda

� Il est possible de sauvegarde le MBR ainsi :

� dd if=/dev/sda of=boot.mbr bs=512 count=1

� Et de le restaurer ainsi :

� dd if=boot.mbr of=/dev/sda bs=512 count=1

� La commande fdisk /mbr efface le Master Boot Record

Page 73: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

73

Initialisation du noyau

� Au chargement du noyau une multitude d�informations défile sur l�écran.

� Toutes les traces du chargement noyau sont placées dans le fichier /var/log/dmesg.� La commande dmesg permet de lire ce fichier.

� Étapes de l'initialisation noyau� Le matériel est détecté et initialisé.

� initrd est chargé ainsi que les modules éventuellement présents.

� Le noyau monte le système de fichiers racine en lecture seule.

� Il crée la première console.

� Le premier processus est lancé init.�

Page 74: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

74

Initrd

� Initrd ( INITial RamDisk ) est un fichier spécial (disque RAM), initialisé par GRUB, avant de charger le noyau.

� Il permet de pré-charger les modules contenu dans le fichier /etc/modules.conf.

� Ce pré-chargement est parfois indispensable si le pilote de la carte SCSI du disque dur est sous forme de module. Sinon il serait impossible de monter les partitions.

� Son emploi s'est généralisée sur toutes les distributions Linux qui utilisent maintenant des noyaux modulaires.

� Il permet ainsi d'avoir un système minimal pouvant ensuite charger le système de fichier principal ou bien des systèmes sans disques.

Page 75: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

75

Le processus Init

� Le programme init, premier démarré et dernier stoppé au sein du système, lance toutes les autres tâches.

� Le rôle initial de init est de démarrer et d�arrêter tous les services.

� Le processus init est le père de tous les processus. Il a toujours le PID ( Process ID ) 1. Sa configuration est présente dans le fichier /etc/inittab.

� Ubuntu n'utilise pas un fichier /etc/inittab comme les autres distribution mais Upstart.

Page 76: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

76

Les niveaux d'exécution standards� Un niveau d�exécution, ou runlevel, est un état dans

lequel se trouve Linux.

� Cet état est contrôlé par init. Chaque état dispose de sa propre configuration.

� Les niveaux d'exécution sont les suivants :Niveau Effet

0 Halt : stoppe le système d�exploitation, éteint la machine.

1 Mode mono-utilisateur utilisé pour la maintenance, mode console.2 Multi-utilisateur, sans réseau, console.

3 Multi-utilisateur, avec réseau, console.

4 Idem que le 3, laissé à la convenance de l�administrateur.

5 Multi-utilisateur, avec réseau, avec environnement graphique X Window.

6 Reboot : redémarrage de la machine

S ou s Single user mode, le mode le plus bas en cas de soucis.

Page 77: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

77

kernel et initrd

� La configuration du chargeur grub se trouve sous /boot/grub et se nomme grub.conf.

� Dans certaines distribution ce fichier se nomme menu.lst, sous Centos menu.lst est un lien symbolique vers grub.conf.

� Il contient les lignes suivantes :

� default=0

� timeout=5

� splashimage=(hd0,0)/grub/splash.xpm.gz

� hiddenmenu

� title CentOS (2.6.32-279.22.1.el6.i686)

� root (hd0,0)

� kernel /vmlinuz-2.6.32-279.22.1.el6.i686 ro root=/dev/sda3

� kernel indique l'emplacement du noyau linux et la partition racine /dev/sda3

� initrd est une image mémoire des modules du noyau

Page 78: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

78

Rôle de l'initrd

� INITial Ram Disk.

� Son utilisation est généralisée sous Linux afin d'avoir des noyaux modulaire. C'est à dire que le noyau charge à la volé, via la commande insmod, les éléments dont il a besoin pour accéder au matériel, ainsi le noyau est plus petit et plus optimisé.

� C'est une des raisons qui fait qu'on ne recompile quasiment plus les noyaux.

� C'est un système de fichiers compressé, au format cpio. Il contient des biblothèques, des modules, des commandes. Après que le noyau l'ait installé en RAM, ce dernier exécute le script init. Ce script contient essentiellement des commandes insmod qui chargent des modules, drivers, dans le noyau et ensuite bascule vers un foctionnement normal en montant le véritable "root file system".

� Le cas emblématique est celui de ext3. Le pilote du système de fichiers ext3 par défaut de Debian qui n'est pas défini en statique dans le noyau.

� C'est un pilote qui est chargé à la demande. Le montage du système fichiers root, n'est possible que si son pilote est dans le noyau. Hors le pilote se trouve sur le système de fichiers root qui n'est pas encore monté.

� Le script init du fichier initrd procède au chargement du pilote avant même que le système de fichiers root soit monté.

Page 79: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

79

Niveaux d'exécution

� Le système linux dispose de 7 niveaux d'exécution numérotés de 0 à 6:

� 0 correspond à la procédure d'extinction de la machine

� 6 correspond à la procédure de redémarrage de la machine

� 1 correspond au mode d'administration qui charge un minimum de choses et se conclue par l'accès à un shell root direct si la distribution est peu sécurisée ou avec demande de mot de passe dans le cas contraire.

� 2, 3, 4 et 5 permettent de déterminer différents niveaux d'exécution avec différents services chargés

� 2 : multi-utilisateur sans serveur X ni NFS

� 3 : multi-utilisateur sans serveur X avec NFS, c'est souvent le niveau par défaut.

� 4 : N'est pas utilisé

� 5 : est associée à un système multi-utilisateur avec serveur X.

� Dans certaines distributions 2,3,4 et 5 produisent le même effet.

Page 80: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

80

Démarrage en fonction du niveau

� Les niveaux d'exécution permettent au système de déterminer dans quel répertoire rcX.d piocher les scripts de démarrage.

� Sous Debian et CentOS, ces scripts se retrouvent dans les répertoires /etc/rc[0-6].d

� Ces répertoires ne contiennent que des liens symboliques vers les scripts du même nom contenus dans le répertoire /etc/init.d.

� Ces liens sont tous formés selon la même syntaxe

� [S|K]XX<nom_du_script>

� S indique au système que le script doit être lancé avec l'opérande start (démarrage du service)

� K indique au système que le script doit être lancé avec l'opérande stop (arrêt du service)

� XX est un niveau d'exécution, on peut en effet modifier l'ordre dans lequel se lance ces scripts. Par exemple le montage des interfaces réseaux doit se faire avant NFS.

� La somme des XX de S et de K doit faire 100,

� Un script en S90 doit avoir un K10.

� C'est une convention, non une obligation

� Sous Debian, l'utilitaire update-rc.d permet de gérer ces liens.

� Sous Centos, l'utilitaire est chkconfig.

Page 81: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

81

Activer/désactiver un script au démarrage

� Sous CentOS la commande chkconfig est chargée de cette tâche.

� chkconfig --list, permet de voir l'ensemble des scripts gérés.

� Une fois le script écrit, il faut l�ajouter au système de démarrage par

� chkconfig --add mon_script

� chkconfig --del mon_script pour le retirer

� Il faut ensuite programmer ses niveaux d�arrêt et de démarrage

� chkconfig mon_script on

� Par défaut le script est démarré aux niveaux 2,3,4 et 5 et stoppé aux niveaux 0,1 et 6

� Il est possible d�obtenir une plus grande finesse avec l�option --levels.

� La commade chkconfig est une spécificité RedHat, sous Debian la commande équivalente est update-rc.d

Page 82: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

82

Lancement et arrêt manuel d'un service

� Il existe plusieurs méthodes

� Démarrage� /etc/init.d/nom_service start� service nom_service start

� Arrêt� /etc/init.d/nom_service stop� service nom_service stop

Page 83: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

83

Arrêt et démarrage du système

� Le système démarre sur le niveau d'exécution par défaut.

� Le niveau par défaut sous Debian est 2, 3 sous CentOS. Il est fixé dans le fichier /etc/inittab.

� Il est fortement déconseillé de mettre 6 comme niveau par défaut ! ( c'est un des tests en réel lors de la certification ).

� Il est possible de démarrer toutefois en mode S ou single user et ensuite d'activer la commande init.

� init 3 fait passer la machine du niveau S au niveau 3�

� Arrêt, les commandes sont nombreuses :

� halt

� shutdown -h 0 une valeur supérieure indique une temporisation en secondes.�

� init 0

� Redémarrage

� reboot

� shutdown -r 0 idem shutdown -h�

� init 6

Page 84: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

84

Démarrer manuellement

� Stopper le chargement en tapant une touche.

� Taper "c" sur cet écran pour passer en mode commande de GRUB.

Page 85: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

85

Charger un noyau manuellement via grub

� Interrompre le démarrage et passer en mode commande de grub. Voir slide précédent.

� C'est ici qu'on voit l'avantage d'une partition /boot en ext2, car il est ainsi possible de récupérer des données sur un système linux HS.

� Il faut connaître la partition où est situé /boot. Sous grub la commande ls aide a trouver la partition

� Attention clavier qwerty ! La complétion avec tab fonctionne.

� grub> root (hd0,0) autre cas possible : root (hd0,msdos1)�

� grub> kernel /vmlinuz-2.6.32-279.22.1.el6.i686 root=/dev/sda3

� grub> initrd /initrd.img-2.6.32-279.22.1.el6.i686.img

� grub> boot

� Très bon article sur GRUB2 : http://linux.leunen.com/?p=723

Page 86: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

86

Clavier QWERTY

Page 87: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

87

Principe du chroot

� La commande chroot permet de changer le répertoire racine vers un nouvel emplacement.

� Cette opération peut être utilisée dans divers cas :

� prison : empêche un utilisateur ou un programme de remonter dans l'arborescence et le cantonne à une nouvelle arborescence restreinte.

� changement d'environnement : permet de basculer vers un autre système linux.

� permet après un boot sur live-cd de faire certaines modifications sur un système défectueux comme par exemple changer le mot de passe du root ou ré-installer grub.

Page 88: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

88

Changer le système

� Cette technique est le plus souvent utilisée pour récupérer une installation endommagée.

� Booter sur un live-cd ( ubuntu est un bon choix ), passer root avec sudo -i. Il n'y a pas de mot de passe root pour un live-cd

� Monter la partition / ( supposée être sda3 )

� mount /dev/sda3 /mnt

� Monter les dossiers spéciaux /proc et /dev

� mount --bind /dev /mnt/dev

� mount -t proc /proc /mnt/proc

� mount -t sysfs /sys /mnt/sys

� Changez d'environnement

� chroot /mnt

� Il est maintenant possible de travailler sur le système et d'effectuer des corrections.

� Pour quitter l'environnement chroot

� exit

Page 89: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

89

Groupes et Utilisateurs

Page 90: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

90

Identification et authentification

� L�identification détermine les droits de la personne qui se connecte.

� Un utilisateur est identifié par un login.� L�authentification, c�est apporter la preuve de

qui on est.� L�utilisateur est authentifié par un mot de passe.

Page 91: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

91

Utilisateurs du système

� Il existe un super utilisateur ayant tous les droits et aucune restriction root.�

� Certains utilisateurs sont des comptes applicatifs, c'est à dire qu'ils sont utilisés pour lancer un programme. Par exemple apache lance le serveur web httpd.

� Les comptes applicatifs ne sont en général pas autorisés à se connecter shell = /bin/false�

� Il est d'usage de créer d'autres utilisateurs sur le système.

Page 92: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

92

Utilisateurs

� Un utilisateur est l�association d�un nom de connexion, le login, à un UID et au moins un GID.

� UID : User ID.

� GID : Group ID.

� Les UID et les GID sont uniques.

� Le login est unique.

� L�UID identifie l�utilisateur (ou le compte applicatif) tout au long de sa connexion.

� Il est utilisé pour le contrôle de ses droits et de ceux des processus qu�il a lancé.

� Ce sont les UID et GID qui sont stockés au sein de la table des inodes, dans la table des processus, etc., et non les logins.

� L�utilisateur dispose des attributs de base suivants :

� un nom de connexion appelé le login ;

� un mot de passe ;

� un UID ;

� un GID correspondant à son groupe principal ;

� un descriptif ;

� un répertoire de connexion ;

� une commande de connexion ;

� D�autres attributs sont disponibles via l�utilisation de la sécurité des mots de passe via shadow

� Ces informations sont stockées dans les fichiers /etc/passwd et /etc/shadow

Page 93: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

93

Groupes

� Chaque utilisateur fait partie d�au moins un groupe.

� Un groupe regroupe des utilisateurs. Comme pour les logins, le GID du groupe accompagne toujours l�utilisateur pour le contrôle de ses droits.

� Un utilisateur peut faire partie de plusieurs groupes, auquel cas il faut distinguer son groupe primaire des groupes secondaires.

� Les groupes sont aussi des numéros. Il existe des groupes spécifiques pour la gestion de certaines propriétés du système et notamment l�accès à certains périphériques.

� Le groupe primaire est celui qui est toujours appliqué à la création d�un fichier.

� Si l�utilisateur erik a pour groupe primaire dba, alors les fichiers créés par erik auront comme groupe d�appartenance dba.

� Un utilisateur dispose de tous les droits associés à ses groupes secondaires.

� Si erik a comme groupe secondaire compta et qu�un fichier dispose des droits d�écriture pour ce groupe, alors erik aura le droit de modifier son contenu.

� La commande id permet de connaître les informations essentielles sur un utilisateur : uid, gid, groupes secondaires.

Page 94: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

94

Mots de passe

� Les mots de passe permettent d�authentifier les utilisateurs.

� Ils doivent être assez complexes pour ne pas être découverts facilement, mais assez intuitifs pour qu�ils s�en souviennent.

� Les mots de passe sont cryptés (MD5, DES,...) et ne sont pas directement lisibles sous leur forme cryptée par l�utilisateur afin que personne ne puisse tenter de le décrypter via un quelconque traitement.

� Il sont stockés dans le fichier /etc/shadow accessible uniquement par root.

� Un utilisateur devrait changer régulièrement son mot de passe, ne jamais l�écrire quelque part ni le conserver sur lui.

� CentOS dispose d'une fonction de contrôle de la force d'un mot de passe.

� Il est possible d'utiliser Linux pour générer un mot de passe aléatoire

� date +%s | sha256sum | base64 | head -c 8 ; echo

� < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c8;echo;

� La commande pwgen permet de générer facilement des mots de passe.

� pwgen 8 5 5 mots de passe de 8 caractères.�

Page 95: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

95

Installer pwgen

� pwgen n'est pas packagé directement par CentOS

� Récupérer le paquet sur le Web� wget

ftp://ftp.univie.ac.at/systems/linux/fedora/epel/6/i386/pwgen-2.06-5.el6.i686.rpm

� rpm -hiv pwgen-2.06-5.el6.i686.rpm

Page 96: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

96

/etc/passwd

� Contient la liste des utilisateurs du système local.

� Lisible par tous. Les informations qu�il contient sont publiques et utiles tant pour le système que pour les utilisateurs.

� Chaque ligne représente un utilisateur et est composée de sept champs.

� Login:password:UID:GID:comment:homedir:shell� Champ 1 : le login ou nom d�utilisateur.

� Champ 2 : sur les vieilles versions, le mot de passe crypté. Si un x est présent, le mot de passe est placé dans /etc/shadow. Si c�est un point d�exclamation le compte est verrouillé.

� Champ 3 : le User ID.

� Champ 4 : le GID, c�est-à-dire le groupe principal.

� Champ 5 : un commentaire ou descriptif. C�est un champ d�information.

� Champ 6 : le répertoire de travail, personnel, de l�utilisateur. C�est le répertoire dans lequel il arrive lorsqu�il se connecte home directory.�

� Champ 7 : le shell par défaut de l�utilisateur. Mais ce peut être toute autre commande, y compris une commande interdisant la connexion /bin/false.�

Page 97: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

97

/etc/group

� Contient la définition des groupes d�utilisateurs et pour chacun la liste des utilisateurs dont il est le groupe secondaire.

� Chaque ligne est composée de quatre champs :

� Group:password:GID:user1,user2,...

� Champ 1 : le nom du groupe.

� Champ 2 : le mot de passe associé. Voyez l�explication juste en dessous.

� Champ 3 : le Group Id.

� Champ 4 : la liste des utilisateurs ( séparés par des virgules ) appartenant à ce groupe.

� Il est inutile de replacer dans le quatrième champ les utilisateurs ayant ce groupe pour groupe principal, c�est induit.

� Il faut par contre mettre l'utilisateur dans ses groupes secondaires.

� Dans la pratique le mot de passe du groupe est très rarement utilisé.

Page 98: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

98

Commande adduser� Permet de créer un utilisateur.

� Syntaxe :

� adduser <options> utilisateur

� Exemple

� adduser erik -g dba -G compta -d /home/erik erik

Page 99: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

99

Commande passwd

� La commande adduser ne créée pas de mot de passe. Il faut utiliser la commande passwd

� Syntaxe :� passwd erik� Il faut le taper 2 fois.

� Pour changer son mot de passe un utilisateur doit taper l'ancien. En cas de perte seul root peut modifier le mot de passe.

Page 100: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

100

Le compte root

� Sous les unix les tâches administratives s'effectuent via le compte root.

� Certaines distribution comme Ubuntu n'utilise pas directement le compte root, mais un filtre via la commande sudo.

� Toutes les tâches administratives ne peuvent être exécutées qu'à travers l'utilitaire d'administration sudo. Exécutée hors-sudo, la tâche est bloquée.

� Lorsqu'un utilisateur tente d'exécuter une tâche administrative sudo vérifie que cet utilisateur a le droit d'effectuer cette tâche. Dans le cas contraire, il bloque la tâche.

Page 101: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

101

Commande sudo

� Quand une commande est passée via sudo, le système demande le mot de passe de l'utilisateur.

� Exemple de création d'un utilisateur :� sudo adduser alice� � Donner le mot de passe « ecila »

� Il est toutefois possible sous Ubuntu de devenir root ainsi :� sudo -s� Cette fonction est utile si de nombreuses commandes

demande sudo, ceci réduit la frappe.

Page 102: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

102

/etc/sudoers

� Fichier de configuration sudo

� Doit être édité avec visudo� Vérifie la syntaxe

� Permet de gérer un conflit d'édition

� Appel par : sudo visudo� root ALL=(ALL) ALL Pour un utilisateur�

� %admin ALL=(ALL) ALL Pour un groupe�

� Tous les membres du groupe admin disposent des droits root.

� timestamp_timeout = 5 l'appel à sudo est valide 5 minutes.�

� Par défaut 15,

� 0 demande le mot de passe à chaque fois.

� -1 l'appel est valide durant toute la session

Page 103: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

103

Exemples sudoers

alice ALL=(ALL) ALL

� User

� Depuis tout poste

� Sous toute identité

� Exécute toute commande

bob ALL=(ALL) /sbin/fsck

� Bob peut lancer la commande fsck

charles UB01=(alice) /usr/local/service

� Charles peut depuis le poste UB01 lancer la commande service sous l'identité de alice.

Page 104: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

104

Donner l'accès sudo à un utilisateur

� Par défaut, si on a pas autorisé la connexion directe du root au moment de l'installation, l'utilisateur défini ensuite dispose du droit d'utiliser sudo.

� Pour donner à un utilisateur le droit sudo, celui-ci doit faire partie du groupe admin� adduser alice sudo� usermod -g sudo alice ( si l'utilisateur existe déjà )� Maintenant en se connectant alice, il est possible d'utiliser

sudo.

� Il est possible de définir des droits très fins pour les utilisateurs via le fichier /etc/sudoers

Page 105: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

105

/etc/sudoers

� Ce fichier de configuration ne doit jamais être directement édité. Il faut utiliser la commande visudo ainsi :� sudo visudo

Defaults env_resetroot ALL=(ALL) ALL%sudo ALL=(ALL) ALL%admin ALL=(ALL) ALL

� Les instructions sont les suivantes :

identifiant ALL = commande,autrecommande

%groupe ALL = commande,!autrecommande

Page 106: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

106

Options de sudo

� Par défaut lors du premier appel via sudo le mot de passe n'est pas redemandé pendant 15 minutes.

� Pour modifier ceci, ajouter l'option timestamp_timeout=X sur la ligne Defaults� Defaultsenv_reset,timestamp_timeout=30

� La durée passe à 30 minutes. Indiquer 0 demand ele mot de passe à chaque appel sudo.

� Afficher des astérisques lors de la saisie du mot de passe : � Defaultsenv_reset,pwfeedback

� « Insulter » l'utilisateur en cas de mauvais mot de passe� Defaultsenv_reset,insults

Page 107: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

107

Gestion des données

Page 108: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

108

Stockage des données

� DAS� Direct Attachement Storage, 90% des cas.

� Disques reliés à un ou x contrôleurs

� IDE( ATA ), SATA, SCSI, SAS

� NAS� Network Attachement Storage

� Nouveau nom pour serveur de fichiers

� Protocoles : NFS, SMB/CIFS,...

� SAN� Storage Area Network

� iSCSI, GNBD, Fiber Channel

Page 109: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

109

Stockage des données

� DAS� Direct Attachement Storage, 90% des cas.

� Disques reliés à un ou x contrôleurs

� IDE( ATA ), SATA, SCSI, SAS

� NAS� Network Attachement Storage

� Nouveau nom pour serveur de fichiers

� Protocoles : NFS, SMB/CIFS,...

� SAN� Storage Area Network

� iSCSI, GNBD, Fiber Channel

Page 110: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

110

Support de stockage

� Le support de masse le plus utilisé est le disque dur.

� Capacité importante à ce jour 4To.

� Prévision pour 2022 60To pour disque 3,5"�

� Peu onéreux en technologie SATA, la plus courante, une moyenne de 60 � / To.

� Temps d'accès moyen 10ms 10�-3

� L'accès moyen en RAM est de 10ns 10�-9

� Une opération demandant 1 seconde en RAM demandera donc 1 000 000 de secondes sur disque soit 11 jours et demi !

Page 111: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

111

Disque Dur

Page 112: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

112

Performances disques durs

� En fonction de nombreux paramètres :

� Vitesse de rotation en tours par minutes.

� 5 400,

� 7 200,

� 10 000,

� 15 000.

� Interface

� IDE

� SATA

� SCSI

� SAS

� Position de l'information sur le disque. Les zones externes sont plus rapides HOT et COLD zones�

Page 113: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

113

Durée de vie

� Composant mécanique en mouvement constant Usure.�

� En théorie la durée de vie est de 85 ans !� En pratique 3 à 5 ans.

� Les disques durs doivent donc faire l'objet de protection par la redondance RAID�

Page 114: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

114

Système de fichiers

Page 115: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

115

Principes général

� Formater un disque consiste à préparer son organisation en vue du stockage des données.

� Le principe de base est d�associer un nom de fichier à son contenu et d�y permettre l�accès :

� création,

� modification,

� suppression,

� déplacement,

� ouverture,

� lecture,

� écriture,

� fermeture.

� Suivant ce principe, le système de fichiers doit gérer ce qui en découle :

� Mécanismes de protection des accès (les permissions, les propriétaires),

� Les accès concurrents, etc.

Page 116: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

116

Représentation

� Outre l�organisation et le stockage des informations et des données sur les 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.

� De même, chaque système de fichiers doit fournir le nécessaire pour que les programmes puissent y accéder.

� Un système de fichiers linux est organisé sous forme d�un arbre de répertoires et de sous-répertoires à partir d�une racine commune.

� C�est une arborescence.

� 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 ordonnée.

� L�arborescence elle-même peut être répartie sur plusieurs supports et systèmes de fichiers.

Page 117: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

117

Méta-données

� Un fichier est décrit par des propriétés appelées les méta-données.

� Sous Linux, il s�agit de l�inode.

� Le contenu est placé dans d�autres blocs du support de stockage.

� Le contenu des méta-données diffère d�un système de fichiers à un autre.

� Sous Linux on retrouve :

� les droits ;

� les dernières dates d�accès et de modification ;

� le propriétaire et le groupe ;

� la taille ;

� le nombre de blocs utilisés ;

� le type de fichiers ;

� le compteur de liens ;

� un arbre d�adresses de blocs de données.

� La commande stat permet de lire l'inode d'un fichier

Page 118: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

118

Noms de fichiers

� Les noms peuvent avoir une longueur de 255 caractères.

� L�extension n�a pas d�existence en tant que composante du système de fichiers contrairement à ce qui se passe sous Windows.

� Le type du fichier est déterminé par son contenu, notamment les premiers octets permettant de déterminer le type MIME.

� La commande file est utile pour cela

� file /etc/passwd Fichier texte�

� file /usr/local/bin/hello Executable binaire�

� file /usr/share/backgrounds/simple_waves.jpg image JPEG�

� L�extension n�est qu�une simple composante du nom du fichier, et incluse dans les 255 caractères.

� Elle est surtout utile pour que l�utilisateur différencie rapidement les fichiers entre eux.

� Les noms des fichiers Unix ne sont pas placés dans les méta-données mais dans une table de catalogue.

� C�est pour ça qu�il est possible de donner plusieurs noms à un même fichier.

Page 119: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

119

Fichiers journalisés

� Les systèmes de fichiers actuels disposent souvent de mécanismes permettant de garantir au mieux l�intégrité des données.

� Le système le plus courant est la journalisation.

� Le système de fichiers maintient à jour un journal, généralement d�une taille donnée et circulaire dans lequel il trace tous les changements intervenus avant de les effectuer réellement.

� En cas de coupure brutale, le système pointe les enregistrements du journal et vérifie si les opérations ont été effectuées, éventuellement il les rejoue.

� Le journal contient des opérations atomiques (n opérations indivisibles) et donc même si celui-ci est incomplet, la cohérence des données est assurée soit par complétion du journal quand c�est possible, soit par retour en arrière.

� La réparation est donc bien plus fiable et rapide.

Page 120: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

120

Systèmes de fichiers sous Linux

� Il en existe un grand nombre.� ext2� ext3/ext4� xfs, jfs� reiserfs� �

� Linux gère les fichiers FAT ( MSDOS ) et NTFS ( Windows )

Page 121: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

121

ext2

� Le système de fichiers historique de Linux.

� Ext2 est le premier système de fichiers développé spécifiquement pour Linux.

� Prévu dès le début pour supporter les rajouts de fonctionnalités, il continue depuis 1993 à être utilisé et amélioré.

� Ext2 n�est pas journalisé.

� Bien que disposant d�un successeur (ext3), il est toujours utilisé voire conseillé dans certains cas. ( partition /boot, clé USB )

� Il est rapide et nécessite moins d�écritures que les autres, donc il occasionne moins d�usure des supports de stockage, notamment les disques SSD, les clés USB ou les cartes mémoire.

� Ces supports peuvent parfois ne supporter qu�un nombre restreint de cycles de lecture/écriture...

� Les fichiers peuvent avoir jusqu�à une taille de 2To (2048 Go), tandis qu�une partition peut atteindre 32 To, voire 128 To , selon la taille des blocs et l�architecture.

Page 122: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

122

ext3

� Successeur de ext2 depuis 1999.

� Il est journalisé.

� Entièrement compatible avec ext2. Le journal est une extension de ext2.

� Il est possible d�utiliser un système de fichiers ext3 comme étant ext2, avec les mêmes commandes, les mêmes manipulations.

� Il est possible de transformer en quelques secondes un système ext2 en ext3, et vice versa.

� C�est l�un des systèmes de fichiers de choix pour Linux, et le plus utilisé pour sa souplesse.

� Comme pour ext2, la taille maximale des fichiers est de 2 To, et celle d�une partition de 32 To, suivant les mêmes restrictions.

Page 123: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

123

ext4

� ext4 est le successeur du système de fichiers ext3.

� Il garde une compatibilité avec son prédécesseur et est considéré par ses propres concepteurs comme une étape intermédiaire devant mener à un vrai système de fichiers de nouvelle génération tel que Btrfs.

� Toutefois, ext4 est une étape utile et non une simple solution temporaire.

� La fonctionnalité majeure de ext4 est l'allocation par extent qui permettent la pré-allocation d'une zone contiguë pour un fichier, pour minimiser la fragmentation.

� La majorité des distributions actuelles formatent par défaut en ext4.

Page 124: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

124

reiserfs

� Sa force réside, outre dans son journal, dans l�organisation indexée des entrées des répertoires et la manipulation des fichiers de petite taille.

� Ses performances sont exceptionnelles en présence de milliers de fichiers, de faible à moyen volume.

� Il est redimensionnable à chaud.

� Il devient plus lent sur des gros fichiers.

� Les fichiers peuvent atteindre 8 To, et les partitions 16 To.

� Les noms de fichiers peuvent avoir 4032 caractères mais sont limités par Linux à 255 caractères

� reiserfs est moins utilisé malgré ses fortes qualités pour diverses raisons dont la principale est l�impossibilité de convertir un système de fichiers ext2/ext3 en reiserfs et vice versa, et ce à cause de la forte base de machines installées en ext2/ext3.

� Son développement est à ce jour stoppé en raison de l'incarcération de son créateur...

Page 125: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

125

xfs

� xfs est le plus ancien des systèmes de fichiers journalisés sous Unix, datant de 1993.

� Créé par Silicon Graphics il a été porté sous Linux en 2000.

� Outre ses capacités de stockages encore inimaginables aujourd�hui, il a un système de journalisation très performant et des mécanismes avancés comme la défragmentation en ligne (à chaud et au fur et à mesure des écritures), la capacité d�effectuer des snapshots (figer l�état d�un filesystem à un instant t pour le restaurer plus tard), le dimensionnement à chaud, la réservation de bande passante pour les entrées et sorties, etc.

� La taille maximale théorique des fichiers est de 8 Eo (Exaoctets).

� Sachant que 1 Eo vaut 1024 Po (Petaoctet) donc 1048576 To, soit, rendu à une unité plus appréhendable, environ 1000 milliards de DVD.

� La partition peut atteindre 16 Eo, soit la capacité maximale d�un contrôleur sur 64 bits.

� En 32 bits, les tailles sont « limitées » à 16 To.

� L�utilisation de xfs est encore peu étendue sous Linux peut-être à cause de sa prétendue complexité pour un paramétrage avancé, mais aussi parce que Red Hat n�a pas de support officiel pour ce système de fichiers.

Page 126: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

126

BTRFS

� Se prononce ButterFS, système de fichiers expérimental développé conjointement par Oracle, Red Hat, Fujitsu, Intel et SUSE.

� Il est présenté comme le futur standard sous linux.

� BTRFS reprend la notion extend de ext4 et apporte surtout la gestion de instantanés « snapshots ».

� Un instantané offre la possibilité de « prendre une photographie » à un instant donné d'un système de fichiers afin de le sauvegarder.

� Gère une notion de « sous-volumes » autorisant, au sein du système de fichiers, d'avoir un arbre séparé (y compris la racine) contenant des répertoires et des fichiers.

� Ce dernier principe permet une meilleure isolation que le classique chroot.

Page 127: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

127

Linux et les systèmes de fichiers

� La liste précédente est loin d'être exhautive.

� La force de linux est de proposer la gestion d'un grand nombre de système de fichiers.

� Il est très simple de partager une partition NTFS entre linux et Windows sur une même machine.

Page 128: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

128

Le partionnement

� Déjà évoqué, le partionnement d'un disque dur est un fonctionnalité pouvant être simple ou complexe.

� Linux ne demande que 2 partitions

� / ou racine dite "root"

� swap utilisée en cas de manque RAM.

� L'utilisation de la swap est facultative car les capacité mémoire sont maintenant élevée ( 4Go est un standard ).

� Certains logiciels exige une zone de swap, par exemple Oracle, même si ils ne l'utilisent pas.

� Partitionner un disque permet d�accroître la sécurité mais aussi de faciliter la maintenance voir la sauvegarde en cas de défaillance.

� La commande Linux la plus utilisée est fdisk.

Page 129: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

129

La commande fdisk

� Permet de manipuler les partitions

� Outil basique et interactif, ne permet pas de redimentionner les partitions� fdisk -l /dev/sda Donne la liste des partitions�

� fdisk /dev/sda Gère les partition d'un disque.�

� L'utilitaire parted ou gparted permet de redimentionner les partitions

� La commande partprobe permet de relire la table des partitions d'un disque pour éviter le reboot.

� Le package parted comporte ces commandes.� yum install parted

Page 130: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

130

Créer un système de fichier

� La commande mkfs

� Syntaxe :

� mkfs -t typefs options périphérique

� C�est typefs qui détermine le type de système de fichiers et donc le programme appelé.

� Il existe un programme par type de système de fichiers :

� ext2 : mkfs.ext2

� ext3 : mkfs.ext3

� reiserfs : mkfs.reiserfs

� vfat : mkfs.vfat pour tous les formats FAT�

� ntfs : mkfs.ntfs

Page 131: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

131

Monter un système de fichier

� La commande mount permet d�accéder aux périphériques de type blocs (les partitions) sur lesquels un système de fichiers existe.

� La commande mount attache le répertoire racine du système de fichiers à un répertoire pré-existant appelé point de montage .� mount -t typefs -o options périphérique

point_de_montage

Page 132: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

132

/etc/fstab

� Le fichier /etc/fstab contient une configuration statique des différents montages des systèmes de fichiers.

� Il est appelé à chaque démarrage du système car c�est ici qu�on indique les périphériques et leurs points de montage.

� Il contient six champs.

� périphérique point_de_montage typefs options dump fsck

� Les champs sont séparés par des espaces ou des tabulations.

� Sa lecture est assurée par la commande mount -a

Page 133: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

133

Protection des disques

� Les disques durs sont des éléments mécaniques sujet à l'usure.

� En tant que mémoire de masse garantir la fiabilité des données sur disques est primordial.

� Les sauvegardes permettent de récupérer des informations en cas de crash.

� Le problème, c'est que les données entre deux sauvegardes peuvent être perdues. Il existe un mécanisme de protection supplémentaire des disques : Le RAID.

Page 134: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

134

RAID

Page 135: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

135

Technologie RAID

� Redundant Array Inexpensive Disks

� Redundant Array Independent Disks

� Organisation en niveau 0,1,...� Certains niveaux de RAID ne sont pas utilisés ou peu diffusés �

RAID 2, 3, 4...

� Basé sur la parité ou/et la redondance

� Les plus courants :� RAID 0 ou Linéaire, option Striping

� RAID 1 ou Mirorring

� RAID 5

� RAID 0+1 ou 10

Page 136: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

136

RAID 0

100Go 100Go 100Go

100Go 100Go 100Go

LINEAIRE

STRIPING

Largeurdu stripeEx : 64ko

� Les capacités disques s'additionnent 300Go�

� Striping très performant.�

� Sécurité nulle : perte d'un disque perte totale.�

Page 137: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

137

RAID 1 - Miroir

100Go100Go

� Nombre pair de disques.

� Capacité = n disques / 2 100Go�

� Performant en lecture

� Plus lent en écriture� Permet la perte d'un disque

Page 138: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

138

RAID 5

100Go

100Go 100Go

Zone deparité

�C'est le niveau de RAID le plus connu et le plus populaire.�Exige un minimum de 3 disques.

Page 139: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

139

Principe du RAID 5

� 3 disques ou plus

� Capacité égale à n disques -1

� Permet la perte de 1 disque

� Utilise le calcul de parité basé sur l'opérateur logique XOR afin de reconstituer les données du disque perdu.

� Le niveau de RAID le plus utilisé.

� Économique, rapide en lecture, mais plus lent en écriture recalcul de la parité.�

� Certains logiciels comme Oracle proscrivent le RAID5.

Page 140: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

140

XOR

� Appelé aussi OU Exclusif

� Table de vérité

A B A XOR B

0 0 0

0 1 1

1 0 1

1 1 0

Page 141: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

141

Calcul de la parité

101 010 011

XOR

100

XOR

111

100

Disque 1 Disque 2 Disque 3 Disque 4

Page 142: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

142

Perte du disque 2

101 010 011 100

Disque 1 Disque 3 Disque 4Disque 2

XOR

110

XOR

010

Page 143: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

143

RAID 10

100Go

� Miroir puis Striping

� 4 disques minimum. Capacité = n disques / 2 200Go Cher.� �

� Très performant, combine l'avantage du Striping et du mirroir.

� Permet la perte de 2 disques

100Go

100Go 100Go

Bande de stripe

Page 144: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

144

RAID 0+1

100Go

� Striping puis Miroir, coût et capacité égale au RAID 10

� Moins performant que RAID 10

� Permet la perte de 2 disques

100Go

100Go 100Go

Bande de stripe

Page 145: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

145

Implanter le RAID

� Le RAID peut être matériel ou logiciel

� Le RAID matériel, via une carte dédiée, est plus performant rapport 30%�

� Le RAID logiciel est éconnomique et utilisable sur toute distribution Linux commande mdadm�

� L'utilisation de LVM permet aussi de gérer le RAID.

� Certaines cartes mère intègrent au niveau du BIOS des fonctions RAID. Ce principe est nommé fakeraid qui est en fait une solution semi-matérielle.

� L'utilisation des fakeraid est sujette à caution.

Page 146: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

146

Gestion du RAIDlogiciel

� Commande mdadm

� Permet la gestion complète du RAID logiciel sous Linux.

� Installation sur CentOS� yum -y install mdadm

Page 147: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

147

Simulation des disques

� Créer un répertoire pour les disques� mkdir /home/disksraid

� Créer deux fichiers de 10M� dd if=/dev/zero of=/home/disksraid/disk1 bs=1M count=10� dd if=/dev/zero of=/home/disksraid/disk2 bs=1M count=10

� Créer les périphériques associés aux disques� losetup -f /home/disksraid/disk1

� losetup -f /home/disksraid/disk2

� Vérification� losetup -a

Page 148: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

148

Création d'un RAID1

� Création du RAID 1� mdadm --create /dev/md0 --level=1 --raid-device=2 /dev/loop0

/dev/loop1

� Formatage et montage� mkfs -t ext3 /dev/md0

� mkdir /u01

� mount /dev/md0 /u01

� Affichage de la configuration� mdadm --detail /dev/md0

� La commande suivante donne aussi des informations sur le RAID� cat /proc/mdstat

Page 149: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

149

Simulation perte de disque

� Supprimer un des disques du RAID

� mdadm --fail /dev/md0 /dev/loop1

� mdadm --detail /dev/md0

� � le disque 2 est perdu

� mdadm --remove /dev/md0 /dev/loop1

� mdadm --detail /dev/md0

� � le disque 2 est retiré du RAID

� Ajout d'un nouveau disque

� dd if=/dev/zero of=/home/disksraid/disk3 bs=1M count=10

� losetup -f disk3

� losetup -a disk3 = /dev/loop2�

� mdadm --add /dev/md0 /dev/loop2

� mdadm --detail /dev/md0

Page 150: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

150

Supprimer un RAID

� umount /dev/md0

� mdadm --stop /dev/md0� mdadm --remove /dev/md0

� Supprimer les devices loopback� losetup -d /dev/loop0� losetup -d /dev/loop1� losetup -d /dev/loop2

Page 151: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

151

Exercice

� Créer un volume RAID en niveau 5 sur 4 disques d'une capacité de 10Mo

� Monter le volume RAID obtenu et créer un fichier de test sur ce volume

� Simuler la perte du disque 2 du RAID� Vérifier l'accès correct au fichier malgré la

perte.� Reconstruire le RAID avec un disque neuf.

Page 152: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

152

Page 153: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

153

LVM

� Logical Volume Manager

� Permet de rendre transparent les disques physiques de leurs utilisation en partitions.

� Les disques physiques sont regroupés en groupes de volumes découpés en volumes logiques.

� L'intérêt de LVM est de pouvoir augmenter ou diminuer dynamiquement une partition sans perte de données.

� Les distributions Linux actuelles permettent de configurer LVM dès l'installation.

Page 154: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

154

Logical Volume Manager

/dev/sdb100Go

/dev/sdc100Go

vg01 : 200Go

lvol1 : 130Go Libre : 70Go

/dev/vg01/lvol1 en ext3 monté sur /u01

Volumes PhysiquesPV

Groupes de VolumesVG

Volumes LogiquesLV

File-System

Page 155: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

155

Agrandissement

/dev/sdb100Go

/dev/sdc100Go

vg01 : 300Go

lvol1 : 130Go Libre : 170Go

/dev/vg01/lvol1 en ext3 monté sur /u01

/dev/sdd100Go

lvol1 : 130Go + 120Go = 250Go Libre : 50Go

Rajout d'un PV

Agrandissement du VG

Agrandissement du LV

Agrandissement du File-System

Page 156: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

156

Exemple LVM

� Simulation de disques� mkdir /home/disks

� dd if=/dev/zero of=/home/disks/disk01 bs=1M count=100

� dd if=/dev/zero of=/home/disks/disk02 bs=1M count=100

� dd if=/dev/zero of=/home/disks/disk03 bs=1M count=100

� losetup /dev/loop0 /home/disks/disk01

� losetup /dev/loop1 /home/disks/disk02

� losetup /dev/loop2 /home/disks/disk03

Page 157: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

157

Création des Volumes Physiques

� Commande : pvcreate� pvcreate /dev/loop0� pvcreate /dev/loop1� pvcreate /dev/loop0

� Affichage des infos pvdisplay�

--- NEW Physical volume ---PV Name /dev/loop0VG Name PV Size 100,00 MBAllocatable NOPE Size (KByte) 0Total PE 0Free PE 0Allocated PE 0PV UUID O1FZQQ-kan8-3FsW-O5mn-xBpS-3lgF-Kg9V8h

Page 158: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

158

Création du Groupe de Volumes

� Commande : vgcreate

� vgcreate vg01 /dev/loop0 /dev/loop1

� Affichage des infos vgdisplay�

--- Volume group ---VG Name vg01System ID Format lvm2Metadata Areas 2Metadata Sequence No 1VG Access read/writeVG Status resizableMAX LV 0Cur LV 0Open LV 0Max PV 0Cur PV 2Act PV 2VG Size 192,00 MBPE Size 4,00 MBTotal PE 48Alloc PE / Size 0 / 0 Free PE / Size 48 / 192,00 MBVG UUID WasK95-Q0ON-ajFM-yYkz-iCNV-QAnw-yslE8H

Page 159: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

159

Création du Volume Logique

� Commande : lvcreate� lvcreate -n lvol1 -L 130M vg01

� Affichage des infos lvdisplay�

--- Logical volume ---LV Name /dev/vg01/lvol1VG Name vg01LV UUID 3N2Lof-fGUK-wsaX-LJux-A3Le-OVqV-T113dxLV Write Access read/writeLV Status available# open 0LV Size 132,00 MBCurrent LE 33Segments 2Allocation inheritRead ahead sectors auto- currently set to 256Block device 253:0

Page 160: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

160

Formatage et montage du File-System

� mkfs -t ext3 /dev/vg01/lvol1

� mkdir /u01

� mount /dev/vg01/lvol1 /u01

� Visualisation par df -h Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur/dev/sda3 1,9G 287M 1,6G 16% //dev/sda9 965M 18M 898M 2% /tmp/dev/sda5 9,5G 151M 8,9G 2% /opt/dev/sda10 119G 4,4G 109G 4% /home/dev/sda8 1,9G 165M 1,7G 9% /var/dev/sda6 4,8G 1,6G 3,0G 34% /usr/dev/sda7 4,8G 139M 4,4G 4% /usr/local/dev/sda1 99M 15M 80M 16% /boottmpfs 440M 0 440M 0% /dev/shmnone 440M 128K 440M 1% /var/lib/xenstored/dev/mapper/vg01-lvol1 128M 5,6M 116M 5% /u01

Page 161: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

161

Agrandissement du File-System

� Ajouter le troisième disque au VG� vgextend vg01 /dev/loop2

� Augmenter le volume logique de 120M� lvextend -L +120M /dev/vg01/lvol1

� Agrandir le file-system� resize2fs -f -p /dev/vg01/lvol1

� df -h…

/dev/mapper/vg01-lvol1 245M 6,1M 226M 3% /u01

Page 162: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

162

Fichier de configuration LVMSauvegarde et restauration

� Les métadonnées LVM sont stockées sous /etc/lvm/backup.

� Exemple : /etc/lvm/backup/vg01

� A chaque modification une archive est crée sous /etc/lvm/archives

� Sauvegarde� vgcfgbackup vg01 : les sauvegardes sont sous /etc/lvm/archive

� vgcfgbackup -f /home/vg01.cfg vg01 : permet de spécifier un fichier de sauvegarde différent.

� Restauration

� vgcfgrestore : utilise la dernière sauvegarde

� vgcfgrestore -f /home/vg01 : utilise un fichier donné.

� vgcfgrestore --list vg01 2>/dev/null | more liste les sauvegardes �

disponibles.

Page 163: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

163

Le Shell

Page 164: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

164

164

Le shell bash

� Bourne Again SHell

� Extension du shell historique Bourne Shell� Créé en 1977 par Steve Bourne� Encore très utilisé, appelé communément : sh� Par convention les scripts système sous toujours en

Bourne Shell

� BASH approrte des fonctionnalités héritées du Korn Shell et du C-Shell

� Standard et affecté par défaut sous Linux.

Page 165: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

165

165

Fichiers de configuration bash

� Le shell est lancé juste après la connexion de l'utilisateur.

� Il existe plusieurs fichiers contenant des instructions de configuration qui sont lus dans cet ordre.

� /etc/profile, générique pour tous

� La tilde ( ~ ) représente le répertoire courant de l'utilisateur.

� ~/.bash_profile ou ~/.profile si le premier n'existe pas. les instructions de ce fichiers sont valides pour la session.

� ~/.bashrc. les instructions sont valides pour chaque shell et non par session.

� Il existe aussi un fichier ~./bash_history, qui contient l'historique des 500 dernières commandes et lisible par la commande history.

Page 166: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

166

Les mécanismesdu shell

Page 167: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

167

Les commandes

� Une commande linux peut être :� interne� externe

� Une commande interne est intégrée au processus shell. Elle est exécutée dans le shell courant.

� Une commande externe correspond à un fichier de l�arborescence. La commande est exécutée par un shell enfant fork�

� Une même commande peut avoir une implantation interne et externe. Dans ce cas la commande interne est prioritaire.

Page 168: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

168

Commandes internes/externes

� file et type permettent d�obtenir des informations sur une commande.� file /bin/ln binaire�

� file /etc/init.d/halt script�

� type cd primitive du shell�

� type ln ln est /bin/ln�

� La commande pwd est interne mais possède une implantation externe� type pwd interne�

� type /bin/pwd /bin/pwd est /bin/pwd�

Page 169: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

169

Les alias

� Ils permettent de renommer ou de simplifier une commande.

� Un alias est prioritaire sur toute commande� alias cd=�ls� la commande cd appelle ls�

� unalias cd désactive l�alias.�

� type peut être utilisée pour déterminer si une commande est un alias.� type ls ls est un alias vers « ls --color=auto »�

� Appelée sans arguments la commande alias liste tous les alias définis.

Page 170: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

170

Affichage à l�écran

� Lors de l�écriture de scripts, il est parfois nécessaire d�afficher des informations à l�écran. La commande echo permet cette action� echo Vous apprenez le bash !

� Certains caractères, lorsqu�ils sont placés entre quotes, simples ou doubles, ont une signification particulière Caractère d'échappement�

� Il faut utiliser la commande echo avec l�option -e pour que les caractères d�échappement soient correctement interprétés par le shell.

Page 171: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

171

La commande echo

� Le caractère \n provoque un saut de ligne� echo -e "Voici la première ligne\n et voici la seconde"� Testez la même commande sans l�option -e.

� La caractère \c supprime le saut de ligne en fin de commande echo.� echo "Première ligne" ; echo "Seconde ligne"� echo -e "Première ligne\c" ; echo "Seconde ligne"

� L�option -n de la commande echo produit le même effet que \c� echo -n "Première ligne" ; echo "Seconde ligne"

Page 172: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

172

Liste des autres caractères d�échappement

� \\ antislash�

� \a sonnerie�

� \b efface le caractère précédent�

� \f saut de page�

� \t tabulation horizontale�

� \v tabulation verticale�

� \0xxx caractère quelconque exprimé en octal�

� echo -e "Vous me devez 10\0044" 044 = $�

Page 173: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

173

La caractère tilde ~

� Il symbolise le répertoire courant de l�utilisateur.

� Soit un utilisateur erik et son répertoire /home/erik.

� La commande suivante copie un fichier script1.sh de /tmp dans /home/erik� cp /tmp/script1.sh ~

� Recopier le même fichier sous le répertoire /home/erik/docs� cp /tmp/script1.sh ~/docs

� Si le caractère ~ est suivi directement d�un mot, ce mot est considéré comme un nom d�utilisateur� cp /tmp/script1.sh ~alice /home/alice�

� Fonctionne si les droits sont correctement positionnés.

Page 174: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

174

La commande cd

� Utilisée sans argument elle fait revenir l�utilisateur dans son répertoire courant home directory.�

� Ces deux commandes sont équivalentes� cd� cd ~

� Avec l�option "-" cd retourne au répertoire précédent� cd /tmp� cd /bin� cd -� pwd /tmp�

Page 175: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

175

Séparateur de commandes

� Déjà présenté plus haut, le caractère ";" permet d�écrire plusieurs commandes sur une même ligne.

� Les commandes sont exécutées séquentiellement� mkdir monrep; cd monrep; pwd �

/home/erik/monrep

� Il ne faut pas abuser de ce type d�écriture qui nuit à la lisibilité d�un script et doit être réservé à des commandes très courtes.

Page 176: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

176

Redirections

� Largement utilisées sous Linux. Les plus courantes sont :� entrée standard le clavier 0� �

� sortie standard l�écran 1 � �

� sortie erreur standard l�écran 2� �

� Les redirections permettent d�utiliser des fichiers pour lire données ou pour récupérer des résultats.

Page 177: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

177

Redirection de la sortie standard en écriture

� La redirection en écriture permet d�envoyer les affichages non plus vers l�écran, mais dans un fichier.

� La redirection peut être simple ou double

� Exemple de redirection simple� ls > resultat.txt ls 1> resultat.txt�

� cat resultat.txt

� Si le fichier resultat.txt n�existe pas, il est créé. Sinon, il est écrasé.

� Exemple de redirection double� date >> resultat.txt

� cat resultat.txt

� Le résultat de la commande date est ajouté à la fin du fichier resultat.txt.

� Si le fichier resultat.txt n�existe pas, il est créé. La double redirection évite l�écrasement.

Page 178: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

178

Redirection de la sortie erreur en écriture

� Cette fonctionnalité est très utile afin de tracer les erreurs d�une commande indépendamment de ses résultats.

� La commande suivante peut, selon les droits de l�utilisateur, générer des erreurs.� find / -name passwd 2> erreur.txt

� cat erreur.txt

� Comme précédement, il est possible d�utiliser la redirection double� ls -z 2>> erreur.txt

� L�option -z n�existe pas, mais le message d�erreur est écrit en fin de fichier.

Page 179: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

179

Combiner sortie standard et sortie d�erreur standard

� Il est possible de rediriger plusieurs descripteurs sur une même ligne de commande.� find / -name passwd 1> resultat.txt 2> erreur.txt

� Parfois, les messages d�erreurs ne sont pas souhaités. Un fichier spécial nommé /dev/null qui permet de faire disparaître les affichages.� find / -name passwd 1> resultat.txt 2> /dev/null

Page 180: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

180

Rediriger les descripteurs 1 et 2 vers le même fichier

� Dans un premier temps, la commande venant à l�esprit peut être� commande 1> fichier 2> fichier ou encore� commande 1> fichier 2>> fichier

� Ceci ne fonctionne pas !

� Le problème ne réside pas dans le fait que l�on ouvre deux fois le même fichier (ce qui est possible ), mais qu�il y a un offset (position courante dans le fichier) associé à chaque ouverture.

� Il faut utiliser la syntaxe suivante :� commande 1> fichier 2>&1

Page 181: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

181

Redirection de l�entrée standard� La redirection de l�entrée standard concerne les commandes qui

utilisent le descripteur 0 saisie au clavier.�

� mail erik

RDV au restaurant vers 13h

Alice

^d

� La commande mail lit l�entrée standard jusqu�à réception d�une fin de fichier ^d. Les données saisies seront envoyées dans la boîte aux �

lettres de l�utilisateur erik.

� Si l�on souhaite faire lire à la commande mail, non plus le clavier, mais le contenu d�un fichier, il suffit de connecter le descripteur 0 sur le fichier désiré.

� cat message.txt

RDV au restaurant vers 13h

Alice

� mail erik < message.txt

Page 182: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

182

La double redirection en lecture

� Elle est principalement utilisée dans les scripts shell.

� Elle permet de connecter l�entrée standard d�une commande sur une portion du script.

� On emploi aussi le terme de here-script

� mail erik <<FIN

RDV au restaurant vers 13h

Alice

FIN

� Le mot FIN est une étiquette, qui marque la fin des données à lire.

� L�étiquette est un mot quelconque. Les conventions disent de l�écrire en majuscule.

� Il ne faut pas d�espace entre << et l�étiquette.

Page 183: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

183

Créer un fichier avec la double redirection en lecture

� Il s'agit d'une fonction très utilisée dans les scripts.

� Par exemple créer un fichier des alias

� Fichier alias.sh� #!/bin/bash� cat <<EOF > alias.cmd� alias df='df -h'� alias ll='ls -hl'� EOF

� sh ./alias.sh; cat alias.cmd

Page 184: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

184

Tubes de communication

� Un tube ou pipe en permet de faire communiquer deux processus.

� Le tube est représenté par une barre verticale "|" et placé entre deux commandes

� Le résultat de la commande de gauche va partir dans le tube, tandis que la commande de droite va en extraire les données afin de les traiter.

� Exemple� ps -ef | grep -i bash

� Cette commande est equivalente à :� ps -ef > resultat.txt

� grep -i bash < resultat.txt

� Le tube est un des mécanismes les plus utilisés du shell et sera vu plus largement avec sed et awk.

Page 185: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

185

Dupliquer les sorties

� La commande tee permet de visualiser un résultat à l�écran et de le conserver également dans un fichier.

� La commande tee affiche sur sa sortie standard les lignes extraites du tube et les écrit également dans le fichier listefichiers.txt.

� Si listefichiers.txt existe déjà, il est écrasé� ls | tee listefichiers.txt

� Pour ajouter à listefichiers.txt avec la commande tee il faut utiliser l�option -a� date | tee -a listefichiers.txt

Page 186: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

186

Processus en arrière-plan

� Les notions d�arrière-plan et d�avant-plan sont gérées par le shell.

� Par défaut, les commandes sont lancées en avant-plan. Dans ce mode, le shell attend la fin de la commande avant de rendre la main.

� Le caractère & est un caractère spécial du shell qui permet de lancer la commande en arrière-plan.

� Le shell lance la commande et réaffiche immédiatement son prompt en attente d�une nouvelle commande.

� Comme le shell et la commande s�exécutent en parallèle et qu�ils sont tous deux liés au même terminal, il est conseillé de rediriger les sorties de la commande.

� Exemple

� find / -name passwd 1> resultat.txt 2> /dev/null &

� La commande jobs, permet de visualiser les commandes lancées en arrière plan.

Page 187: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

187

La commande nohup

� Si une commande est très longue, il peut être intéressant de la lancer en arrière plan et de se déconnecter ensuite.

� Le problème est que la déconnexion supprime tous les processus. Pour éviter cela il est possible d�utiliser la commande nohup.

� Exemple� nohup find / -name passwd 1> resultat.txt 2> /dev/null &

� Si aucune redirection n�est faite dans la commande, l�ensemble des sorties écran est redirigé par défaut dans un fichier nohup.out.

Page 188: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

188

Variables d�environnement

� Un certain nombre de variables sont définies dans l�environnement du shell.

� Elles contiennent des informations nécessaires au fonctionnement de l�interpréteur et/ou des commandes lancées à partir de celui-ci.

� La commande env donne la liste des variables définies dans le shell courant.

� Le caractère spécial $ du shell permet de récupérer le contenu d�une variable.

� Exemple� echo $HOME

Page 189: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

189

Modification de la valeur d�une variable

� Le shell permet d�initialiser ou de modifier des variables.

� Exemple� variable=valeur� echo $variable� valeur

� Il ne faut pas mettre d�espace autour du signe =

� Si la valeur contient des caractères spéciaux du shell ($, >, espace...), il faut empêcher le shell d�interpréter ceux-ci en entourant la valeur avec des simples quotes.

Page 190: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

190

Exportation des variables

� Les variables définies au niveau du shell ne sont pas transmises aux commandes lancées à partir de celui-ci.

� Pour qu�elles le soient, il faut demander au shell de les exporter.

� Un certain nombre de variables sont exportées par défaut �

commande env

� Une variable exportée au niveau d�un shell sera transmise à tous les sous-processus, quel que soit le niveau de descendance.

� Syntaxe

� export variable

� export variable=valeur

Page 191: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

191

Exercice

� L�option "-type d" de la commande find permet de lister uniquement les répertoires.

� Ecrire sur une seule ligne une commande listant tous les répertoires sous /tmp et en envoyant le résultat dans un fichier situé sous votre home directory et vers l�écran puis ajouter à ce fichier la date système.

Page 192: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

192

Solution

� find /tmp -type d 2>/dev/null | tee $HOME/rep_tmp.txt ; date >> $HOME/rep_tmp.txt

Page 193: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

193

Scripts Shell

Page 194: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

194

Définition

� Un script shell est un fichier texte, qui commence toujours par #!/bin/bash ( sheebang ) et qui doit être rendu exécutable pour pouvoir s'éxécuter.

� Exemple� vi bonjour.sh

#!/bin/bash

#Un script tout simple.

echo "Bonjour, le monde"

� chmod u+x bonjour.sh

� ./bonjour.sh

� Le # en début de ligne indique des commentaires, la seule exception est #! qui indique l�emplacement du shell utilisé par le script.

� Il est possible de procéder ainsi :� sh ./bonjour.sh évite le chmod.�

Page 195: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

195

Scripts de démarrage

� Il s�agit de scripts qui sont lancés lors du démarrage de la machine en fonction du niveau d'exécution souhaité.

� Ils sont par convention écrits en Bourne Shell et situés dans le répertoire /etc/init.d

� Il existe 7 niveaux d�exécution d�une machine linux ( 0 à 6 ). Pour chaque niveau il existe sous /etc un répertoire rcn.d, n correspondant au niveau d�exécution.

� Sous ces répertoires, les fichiers sont en fait des liens symboliques vers /etc/init.d débutants par S ou K selon qu�ils doivent être démarrés, S comme start ou stoppés, K comme kill au niveau d�exécution demandé.

� Le tout premier shell exécuté sous Centos est /etc/rc.d/rc.sysinit

Page 196: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

196

Niveaux d�exécution historiques

� 0 : arrêt électrique

� 1 : Mode mono utilisateur

� 2 : Multi-utilisateurs sans NFS

� 3 : Multi-utilisateurs avec NFS

� 4 : Non utilisé

� 5 : Multi-utilisateurs et X11

� 6 : Redémarrage

� Dans la plupart des distributions Linux actuelles les niveaux 2 à 5 sont identiques.

� Le niveau d�exécution par défaut est positionné dans le fichier /etc/inittab

� id:3:initdefault:

Page 197: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

197

Lancement manuel d�un script de démarrage

� Un script de démarrage peut être lancé de plusieurs manières� /etc/init.d/mon_script start | stop� service mon_script on | off

� Pour cela il doit répondre à une norme d�écriture.

� Voir un exemple :/usr/share/doc/initscripts-9.03.23/sysvinitfiles

Page 198: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

198

La commande chkconfig

� Cette commande permet d�activer ou de désactiver un service au démarrage.

� Elle permet aussi via l�option --list de visualiser la configuration.

� Une fois le script écrit, il faut l�ajouter au système de démarrage par

� chkconfig --add mon_script

� chkconfig --del mon_script pour le retirer

� Il faut ensuite programmer ses niveaux d�arrêt et de démarrage

� chkconfig mon_script on

� Par défaut le script est démarré aux niveaux 2,3,4 et 5 et stoppé aux niveaux 0,1 et 6

� Il est possible d�obtenir une plus grande finesse avec l�option --level.

� La commade chkconfig est une spécificité RedHat, sous Debian la commande équivalente est update-rc.d

Page 199: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

199

Planification

Page 200: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

200

CRON

� Le programme cron permet de lancer une tâche à un instant donné dans le temps.

� Il permet aussi la mise en place d'une tâche récurente.

� Par exemple exécuter un programme de sauvegarde chaque jour à 23H00

� Pour paramétrer cron on utilise une crontab.

� Le fichier de configuration de cron ( crontab ) est sous /etc

� Le service cron doit fonctionner

� service crond status� crond (pid 4420) en cours d'exécution...

Page 201: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

201

/etc/crontab

� Paramétrage du programme cron

� Exemple :� 00 23 * * * root /usr/local/bin/sauve.sh

� Cette ligne lance le programme situé sous /usr/local/bin et nommé sauve.sh chaque jour à 23H00 en utilisant le compte root.

� Autre exemple:� 15 12,20 1,5,10,15 */2 1-5 alice /usr/local/bin/prog.sh

� Le programme est lancé à 12H15 et 20H15 les 1,5,10 et 15 du mois pour les mois pairs et si ce jour est du lundi au vendredi sous l'identité de alice.

Page 202: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

202

Structure d'une ligne crontab

� Minutes de 00 à 59

� Heures de 00 à 23

� Jour dans le mois de 1 à 31

� Mois dans l'année de 1 à 12

� Jour dans la semaine de 1 à 7� Attention en France le premier jour de la semaine est

lundi, aux USA dimanche.

� Identité du lanceur de programme

� Commande à lancer.

Page 203: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

203

Astuces crontab

� Les intervalles sont acceptés : si l�on indique 1-4, le serveur comprendra de 1 à 4.

� Le caractère étoile signifie que le champ est toujours vérifié. S�il est placé sur le mois par exemple, la commande sera exécutée quelque soit le mois.

� La chaîne de caractère */x indique une période. Un */15 placé sur les minutes, elle signifie : pour chaque 00, 15, 30 et 45 minutes.

Page 204: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

204

Crontab personnelle

� Chaque utilisateur peut avoir sa propre crontab, la syntaxe est la même sauf qu'il n'est pas nécessaire de préciser qui lance la commande.

� Exemple de la crontab de alice� 15 12,20 1,5,10,15 */2 1-5 /usr/local/bin/prog.sh

� La crontab personnelle s'édite avec la commande crontab -e

� Il est possible de lister le contenu de la crontab par la commande crontab -l

� En règle générale, le fichier /etc/crontab ne comprend que les programmes de root.

� Les fichiers crontab des utilisateurs sont sous /var/spool/cron/ et porte le nom de l'utilisateur.

Page 205: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

205

cron.allow et cron.deny

� Il est possible de restreindre l'utilisation de cron avec les fichiers /etc/cron.allow et /etc/cron.deny

� cron.allow si présent liste les utilisateurs pouvant utiliser le cron

� cron.deny si présent liste les utilisateurs ne pouvant pas utiliser le cron

� Utiliser cron.allow et cron.deny n'est pas conseillé.

� Par défaut tout utilisateur peut utiliser cron.

Page 206: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

206

La commande at

� La commande at exécute une tâche qu�une seule fois.

� Elle se base sur cron

� Syntaxe :

� at heure jour

� Le jour n�est pas obligatoire par défaut le jour courant

� Exemple

� at 22:00

� at> /usr/local/bin/sauve.sh

� Faire Control + D pour quitter lance sauve.sh aujourd'hui à 22H00�

� at 00:00 12/25/2011 Attention la date est obligatoirement au format américain ( �

mois avant le jour ).

� at> /usr/local/bin/sauve.sh

� Faire Control + D pour quitter lance le programme joyeux_noel.sh à 00H00 le �

25 décembre 2011.

Page 207: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

207

Commandes at

� atq permet de connaître les programme lancés par at� atq

� 2 Sun Dec 25 00:00:00 2011 a erik

� 1 Thu Jun 30 22:00:00 2011 a erik

� at -c 1 permet de savoir ce qui sera lancé au programme 1.

� atrm suivi du numéro de tâche permet la suppression.� atrm 1

� atq

� 2 Sun Dec 25 00:00:00 2011 a erik

� Sous centos il existe un fichier at.deny vide qui indique que tout utilisateur peut utiliser at. Ce n�est pas le cas sur d�autre distribution où seul root peut utiliser at /etc/at.allow�

Page 208: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

208

Secure SHellSSH

Page 209: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

209

ssh

� Permet la connexion distante à une machine.

� ssh est sécurisé, la connexion est cryptée.

� ssh écoute sur le port 22 en TCP

� La configuration est dans le répertoire /etc/ssh� sshd_config Le serveur�

� ssh_config Le client�

� ssh rend obsolète les commandes telnet, rcp, et même ftp.

� Dans beaucoup de structures, c'est le seul moyen de connexion distant.

Page 210: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

210

/etc/ssh

� Contient la configuration client et/ou serveur ssh

� Contient aussi les clés privées et publiques du serveur selon les algorithme rsa et dsa.� ssh_host_rsa_key clé privée en rsa�

� ssh_host_rsa_key.pub clé publique en rsa�

� ssh_host_dsa_key clé privée en dsa�

� ssh_host_dsa_key.pub clé publique en dsa�

� Le choix rsa ou dsa est laisser à la discrétion de chacun, les deux principes sont performants. Par défaut c'est rsa qui est utilisé.

Page 211: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

211

/etc/ssh/sshd_config

� Fichier de configuration du serveur

� Lignes les plus importantes� Clé privée du serveur (rsa)

� HostKey /etc/ssh/ssh_host_rsa_key

� IP d'écoute

� ListenAddress 192.168.20.24

� Par défaut ssh écoute sur toutes les IP de la machine

� Identification root

� PermitRootLogin yes

� Si positionnée à No, le root ne peut pas se connecter directement ( plus sécurisé )

� X11Forwarding yes

� Permet l'export display via ssh ( ssh -X )

Page 212: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

212

SSH et la cryptographie asymétrique

� SSH utilise la cryptographie asymétrique RSA ou DSA.

� Chaque personne dispose d'un couple de clefs : � une clef publique

� une clef privée.

� La clé publique peut être librement publiée tandis que la clef privée doit rester secrète.

� La connaissance de la clef publique ne permet pas d'en déduire la clé privée.

� Si Alice veut envoyer un message confidentiel à Bob, elle doit le chiffrer avec la clef publique de Bob et lui envoyer sur un canal qui n'est pas forcément sécurisé.

� Seul Bob pourra déchiffrer ce message en utilisant sa clef privée.

Page 213: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

213

Cryptage Asymétrique

Clef privéeBob

Clef publiqueBob

Lorem ipsum sitdolor amet.

A2defd ne5depSge?jeud

Lorem ipsum sitdolor amet.

1 : Cryptage

2 : Envoi du message crypté3 : Décryptage

Alice rédige un message à l'attention de Bob.

Page 214: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

214

Authentification à clef

/home/alice/.ssh/authorized_keys/home/alice/.ssh/know_hosts

1 : Alice copie sa clef publique sur le serveur. Le mot de passe estdemandé.

2b : Alice doit accepter laclef reçue.

3 : Alice se connecte sans mot de passe sur le serveur.

2a : Le serveur copie sa clefpublique dans les hôtes de confiance pour Alice

Page 215: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

215

Interdire les connexions avec mot de passe

� L'authentification par clé asymétrique est plus fiable que le mot de passe.

� Il est possible de paramétrer ssh pour n'utiliser que cette méthode.

� Modifications à apporter à /etc/ssh/sshd_config� RSAAuthentication yes� PubkeyAuthentication yes� AuthorizedKeysFile .ssh/authorized_keys� PasswordAuthentication no

� Redémarrer ssh service sshd restart�

Page 216: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

216

X-Window

Page 217: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

217

Principe de X-Window

� Un modèle client/serveur

� Alors que dans d�autres systèmes d�exploitation l�interface graphique est intégrée au plus profond du système, Unix et Linux disposent d�une architecture graphique totalement différente.

� Le système graphique de base s�appelle X Window System ou plus couramment X Window, X11 ou tout simplement X.

Page 218: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

218

Export Display

� Possibilité de déporter l'affichage sur une autre machine.

� Cette action peut se faire via ssh avec l'option -X

� Sous Windows il existe des émulateur X-Window dont X-ming en conjonction avec le client ssh putty.

Page 219: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

219

Export DISPLAY par ssh

� Permet de lancer une commande depuis un serveur et de déporter l'affichage sur le poste client.

� ssh -X [email protected]

� Tester par la commande xclock� L'affichage se fait sur le client B mais la

commande tourne sur le serveur A� La ligne X11Forwarding du fichier

/etc/ssh/sshd_config doit être à Yes.

Page 220: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

220

Export Display sous Windows

� Lancer l'émulateur X-Ming

� Configurer Putty pour l'export display

� Connection SSH � �

X11 et chocher Enable X11 forwarding

Page 221: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

221

Gestionnaire de fenêtre

� Appelé aussi bureau. C'est lui qui donne le design de l'interface.

� Les plus connus sont : � GNOME

� KDE

� XFCE, un gnome très léger.

� E17

� jwm

� twm

� WindowMaker pour les nostalgiques de Next.

� �

� La liste est très longue et dépend du goût de chacun.

Page 222: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

222

Installation du serveur X

� Sous CentOS il suffit d'installer le groupe X Window� yum -y install 'Système X Window'

� Se connecter ensuite en ssh et mode X� ssh -X root@ip� xclock

� Cette commande affiche une horloge sur le poste distant.

Page 223: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

223

Connaître son systèmeIdentifier les ressources

"La connaissance demande du temps"Gary Sinise

Page 224: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

224

Commandes d'information sur le matériel 1/2

� Il existe une profusion de commandes sur ce sujet, voir des outils complets.

� Nous présenterons ici les plus utiles et aussi celles qui se retrouvent sur toute distribution.

� Noyau

� uname -r

� uname -a

� Version de CentOS

� cat /proc/version

� Processeur

� cat /proc/cpuinfo

� Mémoire

� free -mt

� cat /proc/meminfo

� Disque

� hdparm -I /dev/sda attention "i" majuscule. Installer hdparm : aptitude install hdparm�

� La commande hdparm est très puissante et dispose de nombreuses fonctionnalité, par exemple hdparm -t /dev/sda teste la vitesse de lecture du disque.

Page 225: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

225

Commandes d'information sur le matériel 2/2

� Espace disponible sur le disque

� df -hT

� Espace sur un répertoire, exemple /var

� du -sh /var global�

� du -Sh /var | sort -n détails par sous répertoire, classe par ordre croissant. Utile pour savoir ce qui prend de la �

place sous /var.

� Partitionnement disque

� cat /proc/partitions

� fdisk -l /dev/sda

� La commande smartctl, du package smartmontools, permet également d'obtenir beaucoup d'informations sur la qualité du disque voir le manuel !�

� Périphérique USB

� lsusb

� Les cartes

� lspci ( -v, vv, vvv de plus en plus bavard... )�

� Pour tout savoir, la commande lshw ( aptitude install lshw )

� lshw -short, version concise

� lshw -html Configuration sous forme de page web.�

Page 226: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

226

Le répertoire /proc

� Ce répertoire est un pseudo système de fichiers qui contient des informations classées par type.

� Un sous-répertoire nommé d'après le numéro ID du process est créé chaque fois qu'un programme est lancé.

� Ce répertoire contient toutes les informations utiles sur le processus en question.

� Etudier le contenu de ce répertoire est une bonne source d'information.

Page 227: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

227

Gestion des processus

� Elle tourne principalement autour de deux commandes

� ps

� kill

� ps, liste les processus, la forme la plus connue est :

� ps -ef | grep "texte" permet de chercher un processus particulier�

� ps aux est aussi très usitée.

� Le package psmisc contient la commande pstree, qui présente les processus sous forme d'arbre.

� aptitude install psmisc

� pstree -p ou encore pstree -p <num_process>.

� kill <num_processus>, permet de stopper un processus.

� Attention souvent le niveau -9, le processus est tué, est systématiquement employé, ce qui est très mauvais et ne doit être utilisé qu'en dernier recours.

� Préferer le niveau -3 qui est moins violent, qui termine proprement un processus.

Page 228: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

228

Operating SystemOS

Page 229: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

229

OS et Fonctionnalités

� Version du noyau� uname -r� uname -a plus complète�

� Modules chargés� lsmod

� Information sur un module� modinfo usbhid

Page 230: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

230

Le matériel

� Processeur� cat /proc/cpuinfo

� Mémoire� free -mt taille en Mo ( m ) et récaptitulatif ( -t )�

� Présente la RAM et la swap.� cat /proc/meminfo

� Disques� hdparm -i /dev/sda l'option -I donne plus de détails.�

� La clause BuffSize donne la taille du cache

Page 231: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

231

Informations sur organisationdu disque

� Occupation par partition� df -hT

� Partitionnement� cat /proc/partitions

� fdisk -l /dev/sda

� Organisation du disque, permet de connaitre le chargeur, le système de fichiers, nombre de secteurs...� disktype /dev/sda

� Liste des points de montage� mount

� Surveillance du disque� smartctl -a /dev/sda génère un diagnostique très complet du disque�

Page 232: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

232

Périphériques USB et PCI

� lsusb� Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

� Bus 002 Device 002: ID 8087:0024

� Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

� Bus 001 Device 003: ID 13d3:5710 IMC Networks

� Bus 001 Device 002: ID 8087:0024

� Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

� lsusb -v -d 1d6b:0003 informations sur le device USB�

� lspci idem lsusb mais sur le bus PCI �

Page 233: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

233

Commande lshw

� Présente le matériel� option -short plus synthétique�

� option -html génère la configuration en format �

html� option -C classe, par classe de périphérique

� lshw -C disk� lshw est l'équivalent de ioscan de hp-ux.

Page 234: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

234

Le répertoire /proc

� Pseudo système de fichier présentant l'activité actuelle du noyau.

� Envoi de messages du noyau aux processus via des fichiers.

� Les fichiers /proc peuvent être utilisés pour accéder aux informations concernant l'état du noyau, les attributs du matériel, l'état de fonctionnement des processus, etc.

Page 235: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

235

Performances

Page 236: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

236

Activité du serveur

� Il existe un grand nombre de commandes et de produits pour visualiser l'activité du système.

� Les plus utiles sont :� top

� sar� iostat� vmstat

� Sous RedHat le package oprofile permet de gérer finement l'analyse système.

� La commande sar est dans le package sysstat� yum -y install sysstat

Page 237: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

237

La commande sar

� System Activity Report

� Activité processeur� sar -u 10 5

� Activité disque� sar -dp 10 5

� L'option p permet de voir en clair les partitions du disque.

� Ces deux commandes effectuent un cliché sar toutes les 10 secondes et à 5 reprises.

� Les diapositives suivantes sont basées sur la page web : http://www.debianworld.org/systemes.et.reseaux?q=node/454

Page 238: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

238

sar en détail

� SAR permet, à partir de statistiques, de mesurer les performances du système à des intervalles donnés.

� Il existe deux formes d'appel :� sar -dp t n rapporte toutes les "t" secondes des échantillons �

"n". Il est possible de rediriger les échantillons dans un fichier texte à l'aide de l'option -o nom_fichier.

� sar -dp 5 5 -o sar55.

� sar -f sar55 pour la relecture. Cette forme correspond à la seconde méthode d'appel de sar.

� Appelé sans argument sar recherche un fichier /var/log/sa/saXX où XX est le jour courant.

Page 239: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

239

Collecter des données sar

� sar est fournit avec deux utilitaires sa1 et sa2 qui permettent de programmer via le cron la collecte de données pouvant être traitées ultérieurement.

� Exemple de crontab� */10 * * * * root /usr/lib/sa/sa1

� 0 0 * * * root /usr/lib/sa/sa2 -A

� La commande sa1 collecte les données liées aux performances. La périodicité définie ici est toutes les 10 minutes

� La commande sa2 exporte toutes les données du fichier binaire vers un fichier texte et supprime ensuite tout fichier de log de plus de sept jours.

� L'option -A indique qu'il faut extraire du fichier binaire vers le fichier texte.

Sous debian le chemin est /usr/lib/sysstat

Page 240: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

240

Traiter les données sar -u

� Activité processeur� 15:07:51 CPU %user %nice %system %iowait %steal %idle

� 15:08:50 all 0,08 0,00 0,34 0,03 0,00 99,55

� %user : Pourcentage d'utilisation du CPU par les applications des utilisateurs

� %nice : Pourcentage d'utilisation du CPU présent lors de l'exécution à un niveau utilisateur avec des priorités nice.

� %system : Pourcentage d'utilisation du CPU au niveau du système et plus particulièrement au niveau noyau

� %iowait : Pourcentage du temps que le CPU ou les CPUs étaient en attente durant lequel le système avait des requêtes I/O importantes.

� %steal : Indique le pourcentage de temps passé en attente involontaire par le CPU ou les CPUs virtuels en attente que le hyperviseur aidait un autre processeur virtuel.

� %idle : Pourcentage de temps que le CPU ou les CPUs étaient en attente et le système n'avait pas de requêtes I/O importantes.

Page 241: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

241

Traiter les données sar -d

� Activité disque, l'option p est plus précise car elle détaille partition/partition.� 15:15:56 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util

� 15:16:01 sda 0,40 0,00 12,80 32,00 0,00 0,00 0,00 0,00

� 15:16:01 sda1 0,40 0,00 12,80 32,00 0,00 0,00 0,00 0,00

� 15:16:01 sda2 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00

� DEV : indique le disque ou la partition mesuré.

� tps : indique le nombre de transferts par seconde émis vers le disque. De multiples requêtes logiques peuvent être combinées dans une seule requête I/O.

� rd_sec/s : nombre de secteurs lus depuis le disque. La taille d'un secteur est de 512 octets.

� wr_sec/s : nombre de secteurs écrits sur le disque. La taille d'un secteur est de 512 octects.

� avgrq-sz : taille moyenne, en secteurs, des requêtes émises vers le disque

� avgqu-sz : taille moyenne de la file d'attente des requêtes émises vers le disque

� await : temps moyen du traitement, en millisecondes, des requêtes émises vers le disque. Ceci inclus le temps des traitements et de l'attente dans la file d'attente des requêtes

� svctm : temps moyen de traitement, en millisecondes, des requêtes I/O émises vers le disque

� %util : Pourcentage du temps CPU durant lequel les requêtes I/O étaient émises vers le disque (utilisation de la bande passante du disque)

Page 242: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

242

La commande iostat

� Donne des indications sur l'activité processeur et disque

� iostat

� iostat -c activité processeur�

� iostat -d activité disque�

� iostat -k les I/O sont exprimées en Kbits/sec�

� Comme pour la commande sar, il est possible de définir un intervalle et un nombre de clichés.

� iostat -c 10 5 5 clichés espacés de 10 secondes.�

Page 243: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

243

la commande vmstat

� Donne des indication sur l'utilisation de la mémoire.

� Utile pour détecter un swap important� vmstat 10 5

� Comme pour sar 5 clichés espacés de 10 secondes.

� La commande free donne aussi de bonnes indication sur la mémoire.

Page 244: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

244

Exemple

� Dans un second terminal simuler une forte activité disque avec la commande ci-dessous

� dd if=/dev/zero of=$HOME/fichier.img bs=1k count=10000000

� Utiliser les commandes sar, iostat et vmstat pour visualiser l'activité.

Page 245: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

245

Réseau

� les commandes les plus utiles pour auditer le réseau sont :

� netstat

� tcpdump

� L'option -i de netstat permet notamment de visualiser les trames en erreurs.

� tcpdump est un analyseur ( sniffer ) de trame réseau. La commande est dans un package dédié

� yum -y install tcpdump

� Exemple capturer toutes les trames pour le protocole http ( port 80 )

� tcpdump -i eth0 port 80

� Lancer cette commande dans un terminal et surfer avec un navigateur pour voir le résultat.

� Exemple de capture ftp mot de passe en clair, option -XX�

� tcpdump -XX -s0 -i eth0 tcp and port 21 | grep -A1 PASS

Page 246: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

246

Sauvegardes

Page 247: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

247

« Sauvegarder à rien ne sert,si restaurer ne peut se faire. »

Yoda.

Page 248: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

248

Les outils Linux de sauvegardes

� Linux propose des commandes basiques pour la sauvegarde� tar� cpio� dd� dump

� Ces commandes sont simples et présentes sur toutes les distributions.

� Dans les environnements conséquents il est fait appel à des produits de sauvegarde tiers.

Page 249: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

249

TAR� Tape Archiver, utilise un fichier tar ou une archive tar.

� Il s'agit de la commande la plus connue. Elle permet de sauvegarder simplement un répertoire complet.

� Sauvegarde : tar -cvf. Exemple sauvegarde de /etc

� tar -cvf /home/etc.tar /etc

� Restauration : tar -xvf.

� cd /home

� tar -xvf etc.tar

� La restauration se fait dans le répertoire /home

� Lister le fichier tar sans restaurer

� tar -tvf etc.tar

� Compression

� Sous linux il est possible de compresser un fichier tar avec l'option -z pour gzip ou -j pour bzip2.

� tar -cvzf /home/etc.tgz /etc compression gzip�

� tar -cvjf /home/etc.bz2 /etc compression bzip2�

� Un fichier compressé doit être restauré avec l'option -z ou -j selon la méthode de compression choisie.

Page 250: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

250

CPIO

� Plus complexe d'emploi que tar, cpio permet, quand elle est couplée avec find, d'effectuer des sauvegardes puissantes.

� cpio utilise l'entrée standard pour les fichiers à sauvegarder et la sortie standard pour le fichier de sauvegarde.

� Sauvegarde : cpio -o

� Restauration : cpio -i

� Sauvegarde des fichiers .cfg sur l'ensemble du disque

� find / -name *.cfg | cpio -ov > /home/cfg.cpio

� Restauration

� cpio -iv < /home/cfg.cpio

Page 251: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

251

Services réseau

Page 252: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

252

Linux et le réseau

� Pour communiquer entres elles les machines utilise un protocole de communication.

� Il existe de nombreux protocoles :� IPX de Novell� SNA de IBM� TCP/IP

� Ce dernier mis au point pour Unix s'est retrouvé propulsé en tête par l�avènement d'Internet.

Page 253: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

253

Définition d'un protocole

� Mode opératoire commun aux éléments communiquant entre eux.

� Il n'y a pas de communication possible sans avoir recours à un protocole.

� Le protocole doit être adapté au type de communication que l'on souhaite mettre en �uvre

� Par exemple si deux personne se parlent dans la même langue, elles se comprennent. La langue utilisée est un protocole de communication.

Page 254: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

254

Organisation en couches

� L'ISO( International Standard Organisation ) a défini le modèle OSI pour la gestion des réseaux.

� Ce dernier décrit la manière dont matériels et logiciels coopèrent selon une architecture en couches qui permet la communication.

� Le terme de couche est utilisé pour évoquer le fait que les données qui transitent sur le réseau traversent plusieurs niveaux de protocoles.

� Les données qui circulent sur le réseau sont traitées successivement par chaque couche, qui vient rajouter un élément d'information, un en-tête, puis sont transmises à la couche suivante.

� TCP/IP s'appuie sur le modèle DOD qui lui même se base sur le modèle OSI.

Page 255: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

255

TCP/IP

Page 256: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

256

OSI vs TCP/IP

Présentation

Application

Session

Transport

Réseau

Liaison

Physique

Accèsréseau

InternetRéseau

Transport

Application

OSI TCP/IP

Page 257: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

257

Principaux protocoles TCP/IP

� Application

� HTTP, POP3, FTP, SMTP, SSH

� Protocoles de haut niveau permettant le dialogue entre applications serveurs et clientes.

� Transport

� UDP sans connexion�

� TCP avec connexion�

� Internet

� IP routage entre réseaux, utilise l'adresse.�

� ICMP contrôle, dépistage d'erreur et signalisation.�

� Accès réseau

� CSMA/CD Protocole de bas niveau. Gestion du média de communication �

(détection de collisions). Acheminement des informations entre émetteur et destinataire, utilise l'adresse MAC.

Page 258: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

258

Couche Internet

Couche Application

Couche Transport

Gestion réseau TCP/IP

TCP UDP

Applicationsréseau

IPARP

RARP

TCP ou UDP

Ethernet

Page 259: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

259

Protocole IP

� Adresse IP

� Unique pour chaque machine du réseau

� Réparties en classes

� Classe A : réseau sur 8 bits, hôtes sur 24 bits

� Classe B : réseau et hôtes sur 16 bits

� Classe C : réseau sur 24 bits et hôtes sur 8 bits

� Masque de sous réseau

� Permet d'identifier les bits représentant le réseau des bits représentant les hôtes.

� Différents selon la classe du réseau

� Exemple d'IP

� 192.168.1.24/255.255.255.0 ou 192.168.1.24/24

� Passerelle par défaut

� Les paquets destinés à un autre réseau sont envoyés vers cette adresse.

Page 260: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

260

Configuration IPsur CentOS

� Fichier /etc/sysconfig/network-script/ifcfg-eth0� DEVICE=eth0

� IPADDR=192.168.1.24� NETMASK=255.255.255.0� NETWORK=192.168.1.0� BROADCAST=192.168.1.255� GATEWAY = 192.168.1.254� ONBOOT=yes

Page 261: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

261

Changer le nom de l'hôte

� Le nom de l'hôte est dans le fichier /etc/sysconfig/network

� Editer ce fichier� Remplacer la ligne HOSTNAME=mach32 par

un nom type lx-1-z� Z correspondant au dernier chiffre de votre IP

� Rebooter le serveur

Page 262: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

262

Serveur DNSBIND

Page 263: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

263

Domain Name System

� Permet d'associer des adresses IP à des noms conviviaux et plus aisés à retenir

� Exemple� 87.98.133.129 www.orsys.fr�

� Historiquement ces informations étaient stockées dans le fichier /etc/hosts.

� Bien que toujours possible, la multitude de serveurs sur l'Internet ne permet plus d'utiliser ce principe.

� Le DNS fut mis en place pour gérer une base centralisé des associations IP Noms.�

� Le produit le plus employé pour gérer le DNS est BIND

Page 264: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

264

Concepts de base

� Domaine : Ensemble d'ordinateurs sur un réseau

� Hôte : Point final de la chaine DNS. Identifié par son FQDN ( Fully Qualified Domain Name )� Profondeur maximale pour atteindre l'hôte 127, �

� Taille maximale du FQDN 255 caractères. �

� Zone : Portion du domaine dont la gestion est assurée par une entité.

Page 265: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

265

Architecture DNS

.Racine

com net fr org eu de

fnac orsys silverlake adimcor

www www

TLD

Domaines

Hôtesou sousdomaines

FQDNwww.orsys.fr salle1

lx-1-3lx-1-2 lx-1-4

Zonesalle1.orsys.fr

Page 266: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

266

Berkeley Internet Name Domain

� Son installation sur CentOS est simple� yum -y install bind bind-utils

� La configuration de BIND se fait dans le fichier /etc/named.conf

� BIND peut être configuré comme :� serveur cache Garde en mémoire, suite à un premier appel, �

les informations d'autres serveurs DNS

� serveur maitre Gère une/des zones�

� serveur esclave Récupère les information de zones auprès �

d'un serveur maitre.

� Il existe d'autres modes mais qui dépasse le cadre de ce cours.

Page 267: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

267

BIND et la sécurité

� BIND écoute sur le port 53

� Pour des raisons de sécurité BIND est configuré la plupart du temps en mode chroot.

� Le service DNS est la principale cible des attaques DOS ( Deny Of Service ).

� Plus de DNS Plus d'Internet !�

� La mise en place de DNS en toute sécurité avec BIND est un sujet complexe et demandant à lui seul un cours complet...

Page 268: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

268

DNS et /etc/hosts

� Afin d'interdire la résolution de noms par /etc/hosts, il faut éditer le fichier /etc/nsswitch.conf et modifier la ligne suivante ainsi :

� #hosts: files dns

� hosts: dns

Page 269: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

269

Les enregistrements DNS

� A : Address, le plus courant. Une IP correspond à un nom de machine.

� CNAME : Alias, autre nom pour un enregistrement A.

� MX : Mail eXchange, défini les serveurs de réception des courriers ( protocol smtp ) à destination d'un domaine. Il est possible d'avoir plusieurs serveur MX pour un domaine, avec un notion de priorité.

� NS : Name Server, indique quels serveurs interroger pour résoudre les nom de machine. Un enregistrement NS doit correspondre à un enregistrement A ( CNAME interdit ).

� Il existe d'autres types d'enregistrements

� AAAA : Nom d'hôtes en IPV6

� PTR : pointeur, utilisé pour la résolution inversée trouver un hôte par son �

IP.

Page 270: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

270

BIND en serveur cache

� C'est la configuration la plus simple. Il suffit d'indiquer à BIND vers quels serveurs relayer la demande forwarder.�

� L'intérêt est d'accélérer les accès aux machines.

� Fichier /etc/named.conf

options {

forwarders {

194.2.0.20;

194.2.0.50;

};

};

Placer ici les IP des DNS du provider.

Page 271: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

271

Tester BIND

� La commande dig permet de visualiser le serveur résolvant les requêtes DNS

� dig www.orsys.fr | grep SERVER

� � IP du serveur résolvant les noms

� Activer le cache de bind.� Modifier le fichier /etc/resolv.conf, commenter toutes les lignes et ajouter :

� nameserver localhost

� search salle1.orsys.fr

� Démarrer bind

� service named start

� Relancer la commande dig ci-dessus.� � ;; SERVER: 127.0.0.1#53(127.0.0.1)

Page 272: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

272

Effet du cache

� Il est simple de tester l'effet du cache

� Première exécution :� dig -x www.fnac.com | grep "Query time"� � ;; Query time: 251 msec

� Seconde exécution� dig -x www.fnac.com | grep "Query time"� � ;; Query time: 1 msec

� Redémarrer bind purge du cache�

� service named restart

� Relancer les commandes ci-dessus.

Page 273: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

273

BIND en serveur maitre

� Ajouter la ligne suivante dans /etc/named.conf dans la section options :� directory "/var/named";

� C'est sous ce répertoire que bind recherchera les fichiers de zones

� Commenter les lignes de la sous-section forwarders

� Ajouter hors de la section options les lignes suivantes :

zone "." IN {

type hint;

file "data/named.ca";

};

� Le fichier /var/named/data/named.ca contient les enregistrements des serveurs racines du DNS.

� Récupérer named.ca

� wget http://192.168.1.24/named.ca

Page 274: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

274

name.ca. 3600000 IN NS A.ROOT-SERVERS.NET.

A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4

. 3600000 NS B.ROOT-SERVERS.NET.

B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107

. 3600000 NS C.ROOT-SERVERS.NET.

C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12

. 3600000 NS D.ROOT-SERVERS.NET.

D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90

. 3600000 NS E.ROOT-SERVERS.NET.

E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10

. 3600000 NS F.ROOT-SERVERS.NET.

F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241

. 3600000 NS G.ROOT-SERVERS.NET.

G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4

. 3600000 NS H.ROOT-SERVERS.NET.

H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53

. 3600000 NS I.ROOT-SERVERS.NET.

I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17

. 3600000 NS J.ROOT-SERVERS.NET.

J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10

. 3600000 NS K.ROOT-SERVERS.NET.

K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129

. 3600000 NS L.ROOT-SERVERS.NET.

L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12

. 3600000 NS M.ROOT-SERVERS.NET.

M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33

Page 275: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

275

Zone de résolution inverse

Zone de résolution

Définir les zones

� Ajouter les lignes suivantes dans le fichier /etc/named.conf

zone "salle1.orsys.fr" IN {

type master;

file "data/salle1.orsys.fr.zone";

};

zone "1.168.192.in-addr.arpa" {

type master;

file "data/192.168.1.zone";

};

Page 276: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

276

Le fichier /etc/named.conf

options {

directory "/var/named";

};

zone "." IN {

type hint;

file "data/named.ca";

};

zone "salle1.orsys.fr" IN {

type master;

file "data/salle1.orsys.fr.zone";

};

zone "1.168.192.in-addr.arpa" {

type master;

file "data/192.168.1.zone";

};

Page 277: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

277

salle1.orsys.fr.zone

� Sous /var/named/data créer le fichier de la zone de résolution

$ttl 38400

@ IN SOA ns.salle1.orsys.fr. contact.salle1.orsys.fr. (

2012040701 ; # Numéro de série

10800 ; # Rafraichir toutes les 3 heures

3600 ; # Retenter au bout d'une heure si échec

604800 ; # Expire au bout d'une semaine

86400 ) ; # TTL minimum 3 jours.

@ IN NS ns.salle1.orsys.fr.

lx-1-2 IN A 192.168.1.2

lx-1-3 IN A 192.168.1.3

lx-1-4 IN A 192.168.1.4

passerelle IN A 192.168.1.254

ns IN A 192.168.1.24

Page 278: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

278

Tester la configuration

� La configuration de bind

� named-checkconf /etc/named.conf

� Le fichier de zone� named-checkzone salle1.orsys.fr /var/named/data/salle1.orsys.fr.zone

� Le fichier de zone inversé� named-checkzone salle1.orsys.fr /var/named/data/192.168.1.zone

� Tester le serveur NS

� nslookup ns.salle1.orsys.fr

� Tester la résolution

� host lx-1-2

� Tester la résolution inverse

� host 192.168.1.2

� Si tout est OK activer bind au démarrage

� chkconfig named on

Page 279: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

279

192.168.1.zone

� Sous /var/named/data créer le fichier de la zone de résolution inversé

$ttl 38400

@ IN SOA ns.salle1.orsys.fr. contact.salle1.orsys.fr. (

2012040701 ;

10800 ;

3600 ;

604800 ;

86400 ) ;

@ IN NS ns.salle34.orsys.fr.

2 IN PTR lx-1-2

3 IN PTR lx-1-3

4 IN PTR lx-1-4

254 IN PTR passerelle

24 IN PTR ns

Page 280: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

280

BIND en serveur esclave

� Le principe est de disposer d'un second serveur DNS qui répondra en cas d'échec du maitre.

� Le serveur esclave reçoit sa configuration des zones depuis le serveur maitre.

� Il importe donc de rajouter dans le fichier named.conf du maitre les options autorisant le transfert de zones.

� Il faut ensuite sur le serveur esclave configurer un autre fichier named.conf.

Page 281: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

281

Le fichier /etc/named.confdu serveur maitre

options {

directory "/var/named";

allow-transfert { 192.168.1.25; }; # IP du serveur esclave

};

zone "." IN {

type hint;

file "data/named.ca";

};

zone "salle1.orsys.fr" IN {

type master;

file "data/salle1.orsys.fr.zone";

notify yes;

};

zone "1.168.192.in-addr.arpa" {

type master;

file "data/192.168.1.zone";

notify yes;

};

Page 282: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

282

Le fichier /etc/named.confdu serveur esclave

options {

directory "/var/named";

allow-notify { 192.168.1.24; }; # IP du serveur maitre

};

zone "salle1.orsys.fr" IN {

type slave;

file "data/salle1.orsys.fr.zone";

masters { 192.168.1.24; };

};

zone "1.168.192.in-addr.arpa" {

type slave;

file "data/192.168.1.zone";

masters { 192.168.1.24; };

};

Page 283: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

283

DHCP

Page 284: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

284

Dynamic Host Configuration Protocol

� Permet la configuration automatique des paramètres TCP/IP d'un client.

� Installation CentOS classique� yum -y install dhcp

� La configuration se fait dans /etc/dhcpd.conf

Page 285: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

285

/etc/dhcpd.conf

ddns-update-style none; # Gestion dynamique du DNS

ignore client-updates; # Gestion dynamique du DNS

authoritative;

subnet 192.168.34.0 netmask 255.255.255.0 {

option routers 192.168.34.254; # passerelle par défaut

option subnet-mask 255.255.255.0; # masque de sous-réseau

option domain-name "salle34.orsys.fr";# nom de domaine

option domain-name-servers 192.168.1.24;# serveurs DNS

range 192.168.34.100 192.168.34.150;# plage d’adresse

default-lease-time 21600; # durée du bail en secondes

max-lease-time 43200 ; # durée maxi du bail en sec.

}

# Réservations

host lx-34-01 {

hardware ethernet 00:E1:A2:F3:47:19;

fixed-address 192.168.34.1;

}

host lx-34-02 {

hardware ethernet 00:61:BC:0B:A3:5E;

fixed-address 192.168.34.2;

}

Page 286: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

286

Pare-Feu Firewall

Page 287: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

287

Pare-feu� Un pare-feu ( firewall ) est une sorte de routeur des

paquets réseau, décidant au cas par cas du traitement à appliquer à ce paquet.

� Le principe est assez simple, le paquet est autoriser à passer ou non.

� Un pare-feu agit sur les paquets entrants vers le réseau et sur les paquets en sortant.

� Dans ce cours, ne sera vu que la notion de pare-feu vers l'Internet et sur un poste local.

InternetPARE-FEURéseaulocal

Page 288: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

288

Pare-feu et Linux

� Pour dédier une machine au pare-feu, linux n'est pas la solution idéale.

� Les projets BSD sont beaucoup plus avancés sur le plan de la sécurité.

� L'appliance PFSense, basé sur freeBSD, permet de mettre en place très simplement un pare-feu avec une interface d'administration web.

� Site du projet : http://www.pfsense.org

Page 289: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

289

Caractérisitques d'un paquetréseau sur pare-feu

� Son interface d'arrivée.

� Un pare-feu dispose au minimum de 2 interfaces réseau.

� L'une au réseau interne,

� L'autre à l'Internet

� Son sens

� Paquet à destination du pare-feu

� Paquet traversant le pare-feu

� Paquet venant du pare-feu

� Son protocole

� TCP

� UDP

� Adresse et port d'origine

� Adresse et port de destination

Page 290: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

290

Principaux ports IP

� 20 et 21 : FTP

� 22 : ssh

� 23 : telnet

� 25 : smtp

� 53 : dns

� 80 : http

� 110 : pop3

� 143 : imap4 ...

� Normalisé par l'IANA (Internet Assigned Numbers Authority).

� Les ports 0 à 1023 sont les ports reconnus ou réservés

� Les ports 1024 à 49151 sont appelés ports enregistrés

� Les ports 49152 à 65535 sont les ports dynamiques et/ou privés

� Sous linux on les inscrits dans le fichier /etc/services

� La combinaison IP + Port se nomme un socket IP.

Page 291: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

291

Principe du pare-feu sous Linux

� Ensemble de règles contenues dans des chaînes elles même contenues dans des tables.

� Pour chaque règles on applique une cible au paquet :� autoriser allow ou accept�

� bloquer deny ou reject, l'utilisateur est informé�

� supprimer drop, l'utilisateur n'est pas informé.�

� Les règles définissent la politique de sécurité selon deux principes fondamentaux :� On autorise tout et on bloque l'interdit

� On bloque tout et on ouvre l'autorisé.

� Sous linux le pare-feu est géré par NetFilter et la commande iptables.

Page 292: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

292

Chemin d'un paquet réseausur interface

décision

FORWARDfilter

INPUTfilter

OUTPUTfilter,nat,mangle

PREROUTINGnat

mangle

POSTROUTINGnat

pro

cess

us

loca

l

Paq

ue

tso

rta

nt

Paq

ue

te

ntr

an

t

routage

local

Page 293: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

293

Chaînes, tables et cibles du pare-feu

� Les chaînes standards sont :

� Prerouting

�Agit sur le paquet avant son entrée.

� Postrouting

�Agit sur le paquet avant sa sortie

� Forward

�Le paquet n'est pas destiné à la machine local, il est donc routé.

� Input

�Paquet destiné à un processus local, traitement pré-processus

� Output

�Application d'un traitement post-processus.

� Les tables standards sont

� nat

�Elle sert pour le routage (masquerading), utilisé principalement pour partager la connexion Internet

� filter

�C'est la table par défaut de iptables, elle permet de dire qui peut passer et qui ne passera pas vers telle ou telle machine.

� mangle

�Assez peu utilisée, fonctions avancées, permet de modifier le contenu du paquet. Gestion de bande passante, QOS...

� Les cibles

� Terminales

�accept

�reject

�drop

� Non terminales

�log

�ttl

�return

Page 294: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

294

Configuration basique

� Lister les chaînes

� iptables -t filter -L ou iptables -L

� iptables -t nat -L

� iptables -t mangle -L

� L'option -t indique la table, par défaut filter.

� Supprimer toutes les règles, table filter

� iptables -F

� iptables -X

� Tout interdire, attention la casse est importante

� iptables -P INPUT DROP

� iptables -P FORWARD DROP

� iptables -P OUTPUT DROP

� Autoriser la sortie depuis la machine

� iptables -A OUTPUT -o eth0 -j ACCEPT

� Authoriser toutes les connexions déjà établies à entrer

� iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

� Autoriser ssh

� iptables -A INPUT -p tcp --dport 22 -j ACCEPT

� Les projets firestarter ou shorewall offre des facilités de configuration iptables.

� La distribution ipcop ( http://www.ipcop.org ) permet aussi la mise en place rapide d'un fire-wall sous Linux.

Page 295: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

295

Partager une connexion Internet

� echo 1 > /proc/sys/net/ipv4/ip_forward� Ou encore éditer /etc/sysctl.conf et ajouter

net.ipv4.ip_forward=1� Relire la configuration par sysctl -p

� iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to 192.168.34.254

� iptables -A FORWARD -i eth1 -o eth0 -s 192.168.34.254/32 -m state --state ! INVALID -j ACCEPT

InternetPARE-FEUeth1eth0Réseau

local

rou

teu

r

192.168.34.254

Page 296: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

296

Important pour la suite du cours

� Purger les règles du pare-feu

� iptables -t filter -F, ou iptables -F

� iptables -t filter -X, ou iptables -X

� iptables -t nat -F

� iptables -t nat -X

� iptables -t mangle -F

� iptables -t mangle -X

� La politique par défaut de Netfilter est ACCEPT

� Vérifier par iptables -L

� Comme indiqué en préambule, le sujet est vaste. Un site de référence en français sur le sujet :

� http://irp.nain-t.net/doku.php/130netfilter:start

Page 297: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

297

Package fail2ban

� Fail2ban lit des fichiers de log comme /var/log/pwdfail ou /var/log/apache/error_log et bannit les adresses IP qui ont obtenu un trop grand nombre d'échecs lors de l'authentification.

� Il met à jour les règles du pare-feu pour rejeter cette adresse IP.

� Ces règles peuvent êtres défines par l'utilisateur.

� Fail2ban peut lire plusieurs fichiers de log comme ceux de sshd ou du serveur Apache.

� Implanter systématiquement ce package est un bon principe. Par défaut fail2ban ne traite que ssh.

� L'installation sous CentOS ne se fait pas par la commande yum

Page 298: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

298

Installer fail2ban

� Charger le code source� http://sourceforge.net/projects/fail2ban/files/fail2ban-stable/fail2ban-

0.8.4/fail2ban-0.8.4.tar.bz2

� Décompresser� tar -xvjf fail2ban-0.8.4.tar.bz2

� Compiler� cd fail2ban-0.8.4

� python setup.py install

� Activer le démarrage� cp files/redhat-initd /etc/init.d/fail2ban

� chkconfig --add fail2ban

� chkconfig fail2ban on

� Le fichier de configuration est : /etc/fail2ban/jail.conf

Page 299: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

299

rsyslog

Page 300: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

300

Les traces système

� les actions sur le système sont tracées dans un ensemble de fichiers Les logs�

� Il existe deux démons :� klogd : kernel log daemon, informations du noyau.� syslogd : system log daemon, informations émises

par tout type de service et éventuellement le noyau.

� Ce cours présente les traces générée par syslogd.

Page 301: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

301

Niveaux de priorité

� Les messages du noyau ont des niveaux de priorité allant de 0 à 7.

Page 302: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

302

Configuration de rsyslog

� La configuration de rsyslog s'effectue via le fichier /etc/syslog.conf

� Le principe est de définir 3 points pour chaque message:� L'origine ou sous système� L'importance ou le niveau� La destination, fichier de log.

Page 303: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

303

Origine ou sous-système

� Une étoile "*" défini l'ensemble des sous-systèmes.

Page 304: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

304

Importance ou niveau

� Une étoile "*" défini l'ensemble des niveaux

Page 305: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

305

Destination

� Une étoile "*" signifie que tous les utilisateurs en connexion reçoivent le message.

� Exemple sur CentOS de la configuration par défaut de rsyslog

� *.info;mail.none;authpriv.none;cron.none /var/log/messages

� authpriv.* /var/log/secure

� mail.* /var/log/maillog

� cron.* /var/log/cron

� *.emerg *

� uucp,news.crit /var/log/spooler

� local7.* /var/log/boot.log

� Par convention les logs sont sous /var/log.

� Les logs pouvant devenir très volumineux, beaucoup d'administrateurs positionne /var/log sur une partition séparée afin de ne pas bloquer le système.

� Les logs peuvent être automatiquement purgés par le programme logrotate.

� La commande logger permet à l'intérieur de script d'envoyer des messages à rsyslog.

� logger -p auth.info -t une_etiquette "mon message à envoyer"

� tail /var/log/message

� L'option -p indique le sous système et la priorité.

� L'option -t permet de marquer le message avec une étiquette Utile pour fonction grep.�

Page 306: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

306

Rotation des logs

� Le programme logrotate permet la rotation et l'archivage des fichiers de logs.

� Sa configuration se fait dans le fichier /etc/logrotate.conf� weekly La période de rotation est hebdomadaire�

� rotate 4 Faire 4 rotations.�

� create Après une rotation on créé un fichier vide�

� compress Les logs archivés sont compressés.�

� include /etc/logrotate.d Inclusion de configuration �

spécifiques.

Page 307: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

307

/etc/logrotate.d/rsyslog

/var/log/syslog Nom du fichier à permuter.�

{

rotate 7 Les journaux sont permutés 7 fois avant suppression�

daily

missingok Si le fichier est absent ne génère pas d'erreur�

notifempty Ne fait pas de rotation si fichier vide�

delaycompress La compression se fera à la prochaine rotation�

compress

postrotate

reload rsyslog >/dev/null 2>&1 || true

endscript

}

Page 308: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

308

/etc/logrotate.d/rsyslog

/var/log/syslog Nom du fichier à permuter.�

{

rotate 7 Les journaux sont permutés 7 fois avant suppression�

daily

missingok Si le fichier est absent ne génère pas d'erreur�

notifempty Ne fait pas de rotation si fichier vide�

delaycompress La compression se fera à la prochaine rotation�

compress

postrotate

reload rsyslog >/dev/null 2>&1 || true

endscript

}

Page 309: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

309

Impression

Page 310: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

310

Principe de l'impression

� CUPS : Common Unix Printing System

� Système commun d'impression

� Quasiment généralisé sous Linux.

� Installation via les packages cupsys et cupsys-client� yum install cups

� Un simple utilisateur n'a, par défaut, pas le droit d'installer et de manipuler les imprimantes locales.

� Afin de rendre cette opération possible, il faut ajouter l'utilisateur au groupe lpadmin :� adduser alice lpadmin

� Après cette manipulation relancer cups

� /etc/init.d/cups restart

Page 311: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

311

Image : www.ubuntu-fr.org

Page 312: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

312

Interface Web

� CUPS propose une interface Web pour la gestion des imprimantes.

� Cette interface écoute sur le port 631� Se connecter en http://localhost:631/admin

Page 313: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

313

Commandes standards d'impression

� lp ou lpr : permet d'imprimer un (ou des) fichier(s).

� lpq : permet d'afficher la file d'attente d'une imprimante.

� lprm : permet de supprimer des jobs de la file d'attente

� lpstat : permet d'afficher des informations détaillées sur le serveur d'impression. � Par exemple, pour voir l'imprimante par défaut : lpstat -d.

� lpoptions : permet d'afficher ou de modifier la configuration du serveur d'impression. � Par exemple, pour changer l'imprimante par défaut :

� lpoptions -d autreimprimante.

� lpmove : permet de déplacer un job (une impression) de la file d'attente d'une imprimante à une autre imprimante.

� lpc : permet de contrôler interactivement les imprimantes.

Page 314: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

314

Le serveurSAMBA

"Ouvrir Windows à un monde plus large"

Page 315: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

315

SAMBA� Système de partage de fichiers et d'imprimante

� Utilisation du protocole SMB SaMBa�

� Son emploi est plus souple que NFS qui reste totuefois la méthode la plus efficace.

� Permet aux machines windows de se connecter à un répertoire linux.

� SAMBA peut totalement émuler un contrôleur de domaine Windows et être intégré dans Active Directory.

� Installation

� aptitude install samba

� Démarrage

� service samba start

� Deux processus sont lancés :

� smbd, noyau du serveur, fournissant les services d'authentification et d'accès aux ressources

� nmbd, permettant de montrer les services offerts par Samba (affichage des serveurs Samba dans le voisinage réseau, �)

� Il existe un autre processus facultatif winbind, qui se lance à part, qui permet de récupérer les utilisateurs et les groupes d'un contrôleur de domaine Windows .

� La configuration se fait dans le fichier /etc/samba/smb.conf

� On teste la validité de smb.conf par la commande testparm

Page 316: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

316

Un mot sur les fichiers et les droits

Page 317: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

317

Droits de fichiersdroits normaux

� Les droits s'expriment avec des lettres :

� r : read, lecture

� w : write, écriture

� x : execute, pour un répertoire le droit x indique le parcours possible.

� Les droits sont souvent représentés en notation octale

� r = 4

� w = 2

� x = 1

� Il suffit de faire la somme des droit souhaité pour obtenir la valeur de 0 à 7

� Exemples : rw- = 6, r-x = 5, rwx = 7.

� La commande permettant le changement des droits est chmod

� chmod 755

� chmod g+w droit d'écriture au groupe�

� chmod o-rwx retire tout droit aux autres.�

Page 318: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

318

Droits de fichiersdroits étendus

� La notation octale 777 est un raccourci, la vraie syntaxe est 0777.

� Ce 4ième chiffre placé à gauche a par défaut la valeur 0. les autres valeurs sont :

� 4 : SUID, pour les exécutables, ce droit indique que le programme peut être lancé par tous mais sous l'identité de son propriétaire. Exemple la commande passwd.

� Se matérialise par la lettre "s" à la place du "x" dans la section user.

� Les programmes SUID sont très dangereux, ce droit doit donc être limité.

� 2 : SGID : Ce droit est très intéressant pour les répertoires partagés. Il indique que toute création dans ce répertoire prend comme groupe celui du répertoire et non le groupe principal de l'utilisateur.

� Se matérialise par la lettre "s" à la place du "x" dans la section group.

� Avec samba, on utilise souvent cette commande : chmod g+s répertoire

� 1 : sticky bit : Lorsque ce droit est positionné sur un répertoire, il interdit la suppression d'un fichier qu'il contient à tout utilisateur autre que le propriétaire du fichier. Pour un fichier exécutable, il indique que ce fichier doit encore rester en mémoire vive après son exécution. Fonctionnalité obsolète aujourd'hui.

� Se matérialise par la lettre "t" à la place du "x" dans la section other.

� Le répertoire /tmp est configuré ainsi.

Page 319: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

319

Des exemples

� -rwxrw-r-- 0764�

� -rw-rw---- 0660�

� -rw-r--r-- 0644�

� -rwsr--r-- 4744�

� drwxrws--- 2770�

� drwxrwxrwt 1777�

Page 320: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

320

Exemple simple de smb.conf

� Créer un répertoire commun

� mkdir /home/commun

� chmod 1777 /home/commun

� Configurer smb.conf

� cd /etc/samba

� mv smb.conf smb.conf.old

� vi smb.conf

[global]

workgroup = erik

netbios name = erik-laptop

read only = no

security = share

[commun]

path = /home/commun

public = yes

Page 321: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

321

Gestion des comptes avec SAMBA

� Créer 2 groupes : compta et ventes

� groupadd compta

� groupadd ventes

� Ajouter le shell nologin dans les shells valides.

� echo "/usr/sbin/nologin" >> /etc/shells

� Créer 3 utilisateurs : alice, bob et charles et affecter charles au groupe compta et alice et bob au groupe ventes

� useradd -G ventes -m alice -s /usr/sbin/nologin

� useradd -G ventes -m bob -s /usr/sbin/nologin

� useradd -G compta -m charles -s /usr/sbin/nologin

� Créer 2 répertoires sous /home : compta et ventes

� mkdir /home/ventes

� mkdir /home/compta

� Affectation des droits des répertoires

� chmod 2770 /home/compta /home/ventes

� chgrp compta /home/compta

� chgrp ventes /home/ventes

Page 322: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

322

/etc/samba/smb.conf

� Modifier le fichier smb.conf précédent ainsi :

[global]

workgroup = erik

netbios name = erik-laptop

read only = no

security = user

[compta]

path = /home/compta

valid users = @compta

create mask = 0660

directory mask = 0770

[ventes]

path = /home/ventes

valid users = @ventes

create mask = 0660

directory mask = 0770

� Redemarrer samba

� service samba restart

Page 323: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

323

SAMBA - Conclusion

� C'est un des produits phares de l'Open-Source.

� Sa maîtrise demande du temps.� Deux livres sur le sujet� La version O'Reilly

n'est plus disponibleen Français, sauf enoccasion.

� http://www.samba.org� Cours Orsys LIR, 4 jours...Faut vendre !

Page 324: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

324

Serveur WebApache

Page 325: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

325

Le serveur Apache

� Le serveur HTTP le plus utilisé au monde est Apache ( 60% )

� Apache vient de la contraction de la phrase : « A patchi server » en raison de la nature modulaire du produit.

� Apache est avant tout le nom d'une organisation, Apache Software Foundation supportant plus de 100 projets OpenSource

� httpd le serveur WEB�

� Tomcat serveur d'application�

� Struts framework Java�

� SpamAssassin...

� Site web : http://www.apache.org

Page 326: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

326

Autres serveurs WEB

� Propriétaire� IIS : Serveur WEB de Microsoft� Sun Java System Web Server : Anciènnement

Netscape, propriétaire Oracle.

� OpenSource� Lighttpd : « lighty » serveur léger et rapide.� nginx : Origine russe, performant notamment par

une très faible consommation mémoire.� Google, serveur Web « maison » origine inconnue ?

Page 327: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

327

Répartition mondiale des serveurs Web

Page 328: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

328

Mode d'installation

� Par les packages de la distribution� .deb Debian, Ubuntu�

� .rpm Redhat, Fedora, Mandriva�

� Par les sources� Utilisation du triptique :

configure, make, make install

Page 329: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

329

Package DEB

� Le plus simple est d'utiliser aptitude

� Sous Debian� aptitude install apache2

� Sous Ubuntu� sudo aptitude install apache2

� Tester l'installation correcte en pointant un navigateur sur l'URL : http://localhost

Page 330: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

330

Package RPM

� Le plus simple est d'utiliser yum� yum install httpd

� Activer Apache au démarrage� chkconfig --levels 235 httpd on

� Corriger le fichier de configuration en décommentant la ligne NameVirtualHost� vi /etc/httpd/conf/httpd.conf

� NameVirtualHost *:80

� Relancer Apache� service httpd restart

� Ignorer le warning pour l'instant

� Tester l'installation correcte en pointant un navigateur sur l'URL : http://localhost

Page 331: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

331

Principe rapide de fonctionnement

� Au démarrage, Apache charge les fichiers de configuration et se met en attente de requêtes sur les interfaces réseaux.

� Le client détermine et se connecte au serveur ( utilisation de DNS )

� Le client effectue une requête HTTP sur le serveur, par la méthode GET du protocole HTTP demande de page�

� Après l'analyse de la requête, le serveur renvoie la page concernée sous forme de code dont on peut spécifier le format de données

� balises <meta> de l'entête des documents servis "content-�

type"

� Une fois toutes les données envoyées, le serveur ferme la connexion

� Parallèlement le client analyse et construit l'affichage à partir du code reçu.

Page 332: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

332

Le protocole HTTP

� Hyper Text Transfert Protocol

� Destiné à transférer du texte d'un serveur vers un client.

� Il est possible de transférer des fichiers quelconques, images, vidéos..., en utilisant des types MIME

� La version actuelle du protocole est la 1.1, toutefois la version 1.0 est encore très utilisée.

� Protocole TCP/IP, HTTP écoute par défaut sur le port 80

Page 333: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

333

URL

� Uniform Resource Locator

� Chaine de caractères identifiant une ressource d'un site Web

� Exemple : http://www.orsys.fr/index.html� http Protocole utilisé, il en existe d'autres : ftp, https...�

� :// Sépare le protocole du reste de l'URL�

� www.orsys.fr Adresse du serveur à contacter�

� / Séparateur de l'adresse du serveur et de la �

ressource demandée.

� index.html Ressource demandée.�

Page 334: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

334

HTML

� Hyper Text Markup Language

� Langage de description de document. Langage de balisage basé sur SGML ( Standard Generalized Markup Language ).

� La version de HTML la plus utilisée à ce jour est la 4. La version 5 commence à être mise en place progressivement.

� Les navigateurs Web interprètent le langage HTML et présentent les informations.

� Tous les navigateurs ne sont pas équivalents en terme de respect de la norme HTML.

� Le langage HTML permet de définir des pages dites statiques

� Il est possible de générer dynamiquement du HTML avec des langages dédiés : PHP, CGI, ASP...

� HTTP , HTML et URL sont les trois bases des sites Internet.

Page 335: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

335

Exemple de codage HTML

<html>

<head>

<title>Ma page Web</title>

</head>

<body>

<h1>Titre de ma page</h1>

<p>Le texte de ma première page Web</p>

</body>

</html>

� Attention ce codage ne respecte pas les normes W3C

Page 336: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

336

Le codage MIME

� Multipurpose Internet Mail Extension

� Origine : protocole SMTP

� Le principe est de découper le message en plusieurs parties

� Texte,

� Images,

� Son,

� Fichier PDF...

� Le client selon sa configuration peut :

� Afficher le document

� Proposer son téléchargement

� Un type MIME est défini par un type et un sous-type

� text/html

� text/css

� image/jpg

� audio/mp3...

� Les types MIME sont normalisés par IANA( Internet Assigned Numbers Authority )

Page 337: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

337

Client, navigateur WEBServeur WEB

Mécanismes du protocole HTTP

Pagesstatiques

Générateurde pages

Sourcesdes données

Plug-INFlash

Real Player...

InterpréteurJavascriptVBscript...

Affi

chage

Etape 1 : Requête émise par le client vers le serveur

Etape 2 : Réponse du serveur vers le client

Page 338: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

338

Serveur principal

� Apache est un démon unix comme un autre.

� httpd sous RedHat

� apache2 sous Debian

� Comme tout processus unix il utilise un fichier de configuration sous /etc

� /etc/httpd/conf/httpd.conf sous RedHat

� /etc/apache2/apache2.conf sous Debian

� Apache n'est jamais démarré sous le compte root

� apache sous RedHat

� www-data sous Debian

� Ce premier processus ne participe pas au dialogue avec les clients.

� Son rôle est de créer un certain nombres de processus fils à l�écoute sur le port 80, par défaut.

� Le processus père gère les tables d�état et assigne les fils aux clients.

� Leur nombre est de 5 par défaut au démarrage, mais il est paramétrable.

Page 339: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

339

Serveurs fils

� En fonction des besoins le processus père peut automatiquement augmenter leur nombre jusqu�à une valeur maximum, 10 par défaut, afin de pouvoir accepter les requêtes d'un maximum de clients simultanément.

� Ce paramétrage est géré par trois paramètres� StartServers, � MinSpareServers,� MaxSpareServers.

Page 340: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

340

Gestion des serveurs fils

� La modularité de apache s'étend au mode de gestion des connexions clients.

� La politique de gestion est gérée par les Multi-Processing Modules ou MPM.

� Il existe plusieurs MPM mais un seul est actif.� MPM Prefork� MPM Worker� MPM Event

� MPM ITK

� Seuls Prefork et Worker seront présentés, Event et ITK sont à ce jour encore expérimentaux.

Page 341: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

341

Les threads

� Un thread, fil d'exécution ou tâche est similaire à un processus.

� Ils représentent l'exécution d'un ensemble d'instructions du langage machine d'un processeur.

� Du point de vue de l'utilisateur, ces exécutions semblent se dérouler en parallèle.

� Toutefois, là où chaque processus possède sa propre mémoire virtuelle, les threads d'un même processus se partagent sa mémoire virtuelle.

� Par contre, tous les threads possèdent leur propre pile d�appel.

� Les threads se distinguent du multi-processus par le fait que deux processus sont typiquement indépendants et peuvent interagir uniquement à travers une API fournie par le système telle que IPC.

� D'un autre côté les threads partagent une information sur l'état du processus, des zones de mémoires ainsi que d'autres ressources.

� Puisqu'il n'y a pas de changement de mémoire virtuelle, la commutation de contexte entre deux threads est moins coûteuse que la commutation de contexte entre deux processus.

� La programmation des threads multiples est nommée Multithreading et peut être avantageusement utilisée par Apache via le MPM Worker.

Page 342: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

342

MPM Prefork

� Toute nouvelle connexion au serveur utilise le clonage de processus fork�

� Il s'agit du mode de fonctionnement de la version 1.3 de Apache.

� La gestion multithreading n'est pas gérée Introduite en version 2 �

de Apache.

� Ce MPM offre une grande stabilité de fonctionnement due à l'isolation de chaque processus.

� Son utilisation est impérative si un service HTTP utilise une bibliothèque non conçue pour les threads, comme par exemple le PHP.

� Le principal inconvénient est la performance. Forker un processus demande plus de cycle CPU et de ressources mémoire.

Page 343: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

343

MPM Worker

� Il s'agit du MPM par défaut de apache2.

� Permet de profiter pleinement des plate-formes multi-processeurs.

� La consommation CPU et RAM est réduite par rapport à Prefork.

� A ce jour PHP est très populaire mais ne permet pas d'utiliser Worker simplement. Même si cela est possible Apache déconseille cette méthode.

� Par contre si on utilise apache avec tomcat il est possible d'utiliser Worker.

� Sur une machine puissante, avec plus de 3Go de RAM Prefork est toutefois un meilleur choix que Worker.

Page 344: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

344

Apache et Redhat

� La version de Apache livrée avec les rpm utilise par défaut prefork et non worker.

� Pour vérifier ce point utiliser la commande suivante :

� apachectl -lCompiled in modules:core.cprefork.chttp_core.cmod_so.c

� Pour activer worker il faut éditer le fichier /etc/sysconfig/httpd et décommenter la ligne suivante :

� HTTPD=/usr/sbin/httpd.worker

� Relancer apache par /etc/init.d/httpd restart

� apachectl -lCompiled in modules:

core.c

worker.c

http_core.c

mod_so.c

Page 345: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

345

La commande apachectl

� Il s'agit du binaire Apache, il est possible de passer des options

� Exemple apachectl -l donne la configuration

core.c

worker.c

http_core.c

mod_so.c Module inclut statiquement permettantle chargement des modules en utilisant ladirective LoadModule

Inclusion statique du MPM worker. Pourprefork il s'agit de prefork.c

Binaires c�ur de apache

Page 346: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

346

Directives Apache

� La configuration de Apache se fait dans un seul fichier : httpd.conf

� Les directives, une par ligne, déterminent le mode de fonctionnement de apache

� Il existe un grand nombre de directives, une des plus utile est include, qui permet de répartir la configuration de Apache dans des fichiers séparés afin de faciliter la gestion du serveur.

� Bien qu'il soit possible de gérer toute la configuration de Apache dans un fichier unique, il est conseillé d'utiliser la directive include.

� Sous Redhat par exemple httpd.conf contient la ligne suivante :

� Include conf.d/*.conf

� Tous les fichiers sous /etc/httpd/conf.d avec l'extension .conf sont donc inclus dans la configuration.

Page 347: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

347

httpd.conf - apache2.conf

� Fichier principal de configuration

� Emplacement et nom différent selon la distribution Linux :� /etc/httpd/conf/httpd.conf RedHat�

� /etc/apache2/apache2.conf Debian�

� Exemple de configuration minimale :� User apache� Group apache� DocumentRoot /var/www/html� Listen 80

Page 348: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

348

Enrichissement du fichier httpd.conf minimal

� User apache

� Group apache

� DocumentRoot /var/www/html

� Listen 80

� LoadModule mime_module modules/mod_mime.so

� TypesConfig /etc/mime.types

� LoadModule dir_module modules/mod_dir.so

� DirectoryIndex index.html

Page 349: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

349

Vérifier la configuration

� La commande suivante indique le ou les fichiers de configuration utilisés.� apachectl configtest

� La syntaxe est également vérifiée.� Après toute modification de configuration, il faut

relancer apache� service httpd restart

Page 350: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

350

Directives générales

� Influe sur le comportement global du serveur.

� Ces deux directives donne l'identité sous laquelle s'exécute le serveur Apache� User apache

� Group apache

� Listen 80, défini le port d'écoute. Il est possible de définir plusieurs ports

� ServerName localhost, défini le nom du serveur. Placer cette directive évite le warning au démarrage.

� DocumentRoot /var/www/html, défini le répertoire par défaut où sont localisés les fichiers html, ou encore la racine du site

Page 351: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

351

Directive IfModule

� Permet de configurer Apache selon la présence ou non d'un module.

� Par défaut sous Redhat, le fichier httpd.conf contient deux directives IfModule selon le choix du MPM� Prefork� Worker

Page 352: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

352

Configuration prefork

<IfModule prefork.c>

StartServers 8

MinSpareServers 5

MaxSpareServers 20

ServerLimit 256

MaxClients 256

MaxRequestsPerChild 4000

</IfModule>

Page 353: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

353

Processus fils

� Selon la configuration du MPM la gestion des processus fils diffère.

� Utiliser les commendes ps -ef et pstree -ph pour visualiser cet état.

�ps -ef

root 3555 1 0 13:38 ? 00:00:00 /usr/sbin/httpd

apache 3557 3555 0 13:38 ? 00:00:00 /usr/sbin/httpd

apache 3558 3555 0 13:38 ? 00:00:00 /usr/sbin/httpd

apache 3559 3555 0 13:38 ? 00:00:00 /usr/sbin/httpd

apache 3560 3555 0 13:38 ? 00:00:00 /usr/sbin/httpd

apache 3561 3555 0 13:38 ? 00:00:00 /usr/sbin/httpd

apache 3562 3555 0 13:38 ? 00:00:00 /usr/sbin/httpd

apache 3563 3555 0 13:38 ? 00:00:00 /usr/sbin/httpd

apache 3564 3555 0 13:38 ? 00:00:00 /usr/sbin/httpd

�pstree -ph 3555

���httpd(3555) httpd(3557)

�� httpd(3558)

�� httpd(3559)

�� httpd(3560)

�� httpd(3561)

�� httpd(3562)

�� httpd(3563)

�� httpd(3564)

Page 354: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

354

Configuration Worker

<IfModule worker.c>

StartServers 2

MaxClients 150

MinSpareThreads 25

MaxSpareThreads 75

ThreadsPerChild 25

MaxRequestsPerChild 0

</IfModule>

Page 355: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

355

Hôtes Virtuels

� Par défaut le serveur web ne peut pas gérer plus d'un site.

� Pour gérer plusieurs sites il faut utiliser les hôtes virtuels introduis par la directive VirtualHost.

Page 356: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

356

Sites exemples

� Sous /home créer deux répertoires pour héberger les sites.� mkdir -p /home/site1

� mkdir -p /home/site2

� Sous chaque site créer une page index.html contenant respectivement SITE1 et SITE2

� Paramétrer /etc/hosts pour que site1 et site2 pointent sur l'IP de la machine.� 127.0.0.1 localhost

� 10.53.2.24 site1 site2

� Tester avec la commande ping� ping site1

� ping site2

Page 357: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

357

Définir les hôtes virtuels

� Ajouter les directives suivantes au fichier /etc/httpd/conf/httpd.conf

NameVirtualHost *

<VirtualHost *>

ServerName site1

DocumentRoot /home/site1

</VirtualHost>

<VirtualHost *>

ServerName site2

DocumentRoot /home/site2

</VirtualHost>

� Redémarrer apache

� service httpd restart

� Pointer le navigateur sur les URL suivantes :

� http://site1

� http://site2

Page 358: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

358

Fichiers de log

� Il est parfois souhaitable de tracer le fonctionnement d'apache afin de traquer les erreurs.

� Rajouter dans le fichier httpd.conf les directives suivantes:

� LoadModule log_config_module modules/mod_log_config.so

� ErrorLog /var/log/httpd/error.log

� LogLevel warn

� L'utilisateur apache faisant tourner le démon httpd doit pouvoir créer ce fichier dans le répertoire /var/log/httpd

� Le paramètre LogLevel défini le niveau de finesse des erreurs.

Page 359: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

359

Bonus

Page 360: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

360

Miroir CentOS

� Il est intéressant de disposer d'une copie locale de l'ensemble des packages de la distribution. Ainsi les installations via le réseau sont plus rapides.

� La mise en place d'un tel miroir est simple, il suffit d'utiliser rsync et un script.

� Une fois le téléchargement effectué( attention avec une ADSL compter 6 à 8 heures pour le premier transfert ). Il suffit de mettre en place un simple serveur web.

� La procédure ci-dessous présente une méthode simple de création et de mise à disposition via http d'un dépot local CentOS.

� Le script utilise un miroir public ( celui de ovh dans l'exemple ) et le protocole rsync.

� L'avantage de rsync est de travailler en différentiel.

� La première syncho est longue mais les suivantes très rapides.

� Il est facile de programmer ce script dans un cron journalier et ainsi avoir un miroir à jour.

� Le script récupère les versions actuelles 5.9 et 6.3 en 32 et 64bits.

� Dans un premier temps créer un répertoire d'accueil

� mkdir -p /home/CentOS

� Puis le script mirroir_centos.sh

Page 361: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

361

Script mirroir_centos.sh#!/bin/sh

rsync="/usr/bin/rsync -avHz --delete --stats --bwlimit=4000"

mirror=rsync://mirror.ovh.net/ftp.centos.org

verlist="5 6"

archlist="i386 x86_64"

baselist="os updates centosplus extras"

local=/home/CentOS

for ver in $verlist

do

for arch in $archlist

do

for base in $baselist

do

remote=$mirror/$ver/$base/$arch/

echo ------------------

echo $ver/$base/$arch

echo ------------------

echo "$rsync $remote $local/$ver/$base/$arch/"

if [ ! -e $local/$ver/$base/$arch ]; then

echo "Répertoire inexistant -> création de : $local/$ver/$base/$arch"

mkdir -p "$local/$ver/$base/$arch"

fi

$rsync $remote $local/$ver/$base/$arch/

done

done

done

Page 362: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

362

Utilisation du miroir

� La clause bwlimit de rsync permet de ne pas consommer toute la bande passante de la liaison, 4Mo ici.

� La taille totale du miroir pour les versions 5 et 6 en 32 et 64 bits demande environ 64Go.

� Pour ensuite tenir le miroir à jour, il suffit de relancer le script seul le différentiel sera chargé.

� Un fois le téléchargement achevé, mettre en place un serveur web et une URL pointant vers ce miroir.

� Installer apache et créer l'URL

� yum -y install httpd

� ln -s /home/CentOS /var/www/html/centos

� Pointer un navigateur sur http://localhost/centos pour visualiser l'arborescente du miroir.

� Afin de maintenir ce miroir à jour il suffit de relancer périodiquement le script ci-dessus.

� Le plus simple est de programmer ceci dans un cron.

Page 363: Erik Jourdain Support LUX-ORSYS Version 1jd97290.free.fr/pluxml/data/documents/LUX-EJO-1.pdf · 2 2 Erik Jourdain SGBD Oracle et MySQL Administration et Optimisation Linux Debian,

363

Bibliographie

� Il existe de nombreux ouvrages sur Linux.

� Préparation à la certification LPIC-1 de ENI-Editionsest un bon choix.

� L'Internet reste une sourceriche et gratuite surtout enlangue anglaise.