Vous êtes sur la page 1sur 270

Support de Cours

Document ralis sous OpenOffice 1.0 / GNU-Linux

Version 2.0
Auteur : F. Micaux
fmicaux@actilis.net

Linux Administration systme


Installation, Administration, Intgration

Table des matires


Introduction..........................................................................................................................................7
Prsentation des modules du cours..................................................................................................8
Prsentation du module....................................................................................................................9
Quappelle ton UNIX...................................................................................................................10
Les Logiciels Libres.......................................................................................................................11
Lhistorique de Linux....................................................................................................................12
Lvolution du noyau Linux..........................................................................................................15
Les versions successives du noyau................................................................................................17
Les caractristiques de Linux........................................................................................................19
Les Distributions GNU/Linux.......................................................................................................20
Le Rle De Ladministrateur.........................................................................................................22
Comment Administrer...................................................................................................................23
Comment tre Super-User.............................................................................................................24
La documentation..........................................................................................................................25
Installation du Systme.......................................................................................................................26
Installation de Linux......................................................................................................................27
Les types dinstallation..................................................................................................................28
Installation : Booter.......................................................................................................................29
Installation : partitionnement.........................................................................................................30
Installation : Dimensionnement des partitions...............................................................................32
Installation : Choix des paquetages...............................................................................................33
Installation : tapes gnralement souvent rencontres.................................................................34
TP : Installation du systme...........................................................................................................35
Une installation de Debian 3.0 (Woody).......................................................................................36
Les paquetages....................................................................................................................................39
La gestion des paquetages RPM....................................................................................................40
La gestion des paquetages Debian.................................................................................................41
La commande rpm ...................................................................................................................42
La commande dpkg ................................................................................................................44
APT................................................................................................................................................46
TP installation de packages............................................................................................................50
TP avec instructions.......................................................................................................................51
La gestion des utilisateurs..................................................................................................................53
La Gestion Des Utilisateurs...........................................................................................................54
Le fichier des utilisateurs /etc/passwd........................................................................................55
Le fichier des groupes /etc/group ..............................................................................................56
Les commandes..............................................................................................................................57
Les commandes utilisateur.............................................................................................................58
Les Fichiers De Configuration Des Sessions.................................................................................59
Le prompt (linvite de commandes)...............................................................................................60
Modle de configuration de session...............................................................................................61
Communiquer avec les utilisateurs................................................................................................62
TP - Gestion utilisateurs................................................................................................................63
Version 2.0 2004
fmicaux@actilis.net

2/270

Linux Administration systme


Installation, Administration, Intgration

TP avec instructions.......................................................................................................................64
Les sauvegardes..................................................................................................................................67
Les Outils De Sauvegarde..............................................................................................................68
Les Outils De Sauvegarde..............................................................................................................69
Compression de donnes...............................................................................................................70
La Sauvegarde Par tar ..............................................................................................................71
La sauvegarde par CPIO................................................................................................................73
Options de la commande cpio........................................................................................................75
La commande rsync.......................................................................................................................76
La Sauvegarde Par dd ..............................................................................................................78
La sauvegarde incrmentale...........................................................................................................80
Les Bandes.....................................................................................................................................81
TP - Les sauvegardes.....................................................................................................................82
TP avec instructions.......................................................................................................................83
Les disques.........................................................................................................................................85
Les Disques Physiques...................................................................................................................86
Les Disques de Linux....................................................................................................................87
Le partitionnement.........................................................................................................................88
Ajout Dun Disque.........................................................................................................................89
Le Raid Logiciel sous Linux..........................................................................................................90
RAID Logiciel sous Linux : mise en oeuvre.................................................................................91
RAID Logiciel : maintenance........................................................................................................92
Logical Volume Manager..............................................................................................................93
Schma dun systme LVM...........................................................................................................94
Logical Volume Manager : Mise en oeuvre..................................................................................95
Logical Volume Manager : Mise en uvre (suite)........................................................................97
LVM : Maintenance.......................................................................................................................98
Le swap ....................................................................................................................................99
Le swap : mise en oeuvre.......................................................................................................100
TP : Les disques Physiques et logiques.......................................................................................102
TP avec instructions.....................................................................................................................103
Les Systmes de fichiers..................................................................................................................106
Arborescence Et Systmes De Fichiers.......................................................................................107
Arborescence Et Systmes De Fichiers.......................................................................................108
Les Diffrents Types De Systmes De Fichiers..........................................................................109
Les Diffrents Types De Systmes De Fichiers..........................................................................110
La Gestion De Lespace Disque..................................................................................................111
Commandes De Gestion Des FS..................................................................................................112
Commandes propres ext2..........................................................................................................113
Montage des systmes de fichiers................................................................................................115
Rfrence du systme de fichiers principal.................................................................................116
Le fichier /etc/fstab......................................................................................................................117
Montage et dmontage automatique............................................................................................118
Les Quotas...................................................................................................................................119
Mise en place de quotas...............................................................................................................120
Version 2.0 2004
fmicaux@actilis.net

3/270

Linux Administration systme


Installation, Administration, Intgration

Les Quotas : Mise en uvre (suite) ............................................................................................121


Les Quotas : migration.................................................................................................................122
TP - Les Systmes De Fichiers....................................................................................................123
TP - Les Systmes De Fichiers : suite.........................................................................................124
TP - avec instructions..................................................................................................................125
X-Window........................................................................................................................................126
Introduction..................................................................................................................................127
XFree86 : configuration...............................................................................................................128
Le Window Manager...................................................................................................................129
Notion de Session, notion de service XDM.................................................................................130
X-Window en rseau...................................................................................................................131
X-Window en rseau : les clients lgers......................................................................................132
X-Window en rseau : mise en oeuvre du serveur......................................................................134
X-Window en rseau : Arrt du DISPLAY local........................................................................135
TP - Configuration de X window................................................................................................136
TP avec instructions.....................................................................................................................137
Lautomatisation de tches...............................................................................................................139
Crond Et Atd : Prsentation et Rgles.........................................................................................140
Crond Et Atd : Rgles Et Contraintes..........................................................................................141
Crontab : Utilisation.....................................................................................................................142
La crontab systme : /etc/crontab................................................................................................143
Le service AT : planification de batches.....................................................................................144
TP Planification de processus......................................................................................................145
TP avec instructions.....................................................................................................................146
Larrt et le dmarrage.....................................................................................................................148
Le Dmarrage Dun PC...............................................................................................................149
Le Dmarrage Dun PC : Le chargeur.........................................................................................150
Le Dmarrage Du Systme Linux...............................................................................................151
Le rle du chargeur......................................................................................................................152
Le Processus init..........................................................................................................................154
Les runlevels................................................................................................................................155
Le fichier /etc/inittab .............................................................................................................156
Lecture du fichier /etc/inittab.......................................................................................................157
Les Scripts /etc/*rc* ...............................................................................................................158
Ordre des scripts de dmarrage sur RedHat.................................................................................159
Pour dclarer un nouveau service................................................................................................160
Le serveur est dmarr : Les Sessions.........................................................................................164
Dmarrage d'une session..............................................................................................................165
Larrt Du Systme : shutdown...................................................................................................166
Complments sur la commande shutdown..................................................................................167
Le multi-boot...............................................................................................................................168
LILO............................................................................................................................................169
GRUB..........................................................................................................................................170
Fabrication dune disquette de sauvetage....................................................................................171
TP Larrt Et Le Dmarrage........................................................................................................172
Version 2.0 2004
fmicaux@actilis.net

4/270

Linux Administration systme


Installation, Administration, Intgration

TP avec instructions.....................................................................................................................173
Les priphriques..............................................................................................................................176
Introduction..................................................................................................................................177
Les fichiers spciaux....................................................................................................................178
Les modules.................................................................................................................................179
Les modules.................................................................................................................................180
TP La gestion des priphriques..................................................................................................181
TP avec instructions.....................................................................................................................182
Le Noyau..........................................................................................................................................183
Le rle du noyau : Linux, c'est a !..............................................................................................184
Pourquoi reconstruire le noyau....................................................................................................185
Notion de Noyau monolithique....................................................................................................186
Sauvegardes avant construction d'un noyau................................................................................187
Installation des sources du noyau................................................................................................188
Construction dun nouveau noyau en 5 tapes............................................................................189
Construction dun nouveau noyau...............................................................................................191
Un mot sur le kernel 2.6...............................................................................................................192
Les paramtres de Linux..............................................................................................................193
Les IPC........................................................................................................................................194
Informations complmentaires sur le noyau................................................................................195
TP - Construction du noyau 2.4...................................................................................................196
TP avec instructions.....................................................................................................................197
Les performances..............................................................................................................................198
Les ressources surveiller...........................................................................................................199
Les commandes de surveillance..................................................................................................200
La commande vmstat...................................................................................................................201
TP - La gestion des performances................................................................................................203
TP avec instructions.....................................................................................................................204
Gestion des logs................................................................................................................................205
Les fichiers de log........................................................................................................................206
Le service de traage : syslogd....................................................................................................207
Le fichier de configuration /etc/syslog.conf................................................................................208
Identification des messages.........................................................................................................209
Logrotate : la rotation des logs....................................................................................................211
Logrotate : configuration.............................................................................................................212
Logrotate : configuration.............................................................................................................213
Les interfaces rseau.........................................................................................................................215
Les adresses IP.............................................................................................................................216
Les adresses prives.....................................................................................................................217
Les interfaces rseau....................................................................................................................218
Les pilotes de priphriques........................................................................................................219
Les pilotes de priphriques : traces............................................................................................220
Configuration des interfaces........................................................................................................221
Configuration des interfaces........................................................................................................222
Configuration des interfaces........................................................................................................223
Version 2.0 2004
fmicaux@actilis.net

5/270

Linux Administration systme


Installation, Administration, Intgration

Les fichiers de configuration du rseau.......................................................................................224


Scripts de dmarrage : /etc/rc.d/init.d/network............................................................................225
Scripts de dmarrage : listage des interfaces...............................................................................226
Scripts de dmarrage : dmarrage des interfaces.........................................................................227
Scripts de dmarrage : la commande ipcalc.................................................................................228
Scripts de dmarrage : affectation des adresses...........................................................................229
Configuration des interfaces sur RedHat/Mandrake....................................................................230
Configuration des interfaces sous Debian...................................................................................231
Analyse et diagnostic : ping.........................................................................................................232
Analyse et diagnostic : options de ping.......................................................................................233
Configuration de la rsolution de noms.......................................................................................234
Les mthodes de rsolution de noms...........................................................................................235
TP Le Rseau...............................................................................................................................236
TP Le rseau...............................................................................................................................237
TP avec instructions.....................................................................................................................238
Le Firewall Netfilter.........................................................................................................................240
Rappels sur la notion de firewall.................................................................................................241
Netfilter : Le Firewall intgr dans le noyau Linux.....................................................................242
Le principe de NetFilter...............................................................................................................243
Filtrage par le Noyau Linux.........................................................................................................245
Paramtres noyau lis au filtrage IP............................................................................................246
Complments sur Netfilter...........................................................................................................247
Manipulation des "chanes".........................................................................................................248
tablir des rgles dans des chanes..............................................................................................249
Exemple de firewall.....................................................................................................................250
Rgles de l'exemple : avec iptables..............................................................................................251
Routage par masquage dadresses...............................................................................................252
Mise en oeuvre du masquage d'adresses......................................................................................253
IP Masquerading : mise en place des rgles................................................................................254
IP Masquerading : mise en place des rgles................................................................................255
Serveurs Virtuels : LVS et ipvsadm............................................................................................256
Administration de LVS : la commande ipvsadm.........................................................................257
TP - Firewall................................................................................................................................258
TP avec instructions.....................................................................................................................259
Annexes............................................................................................................................................260
Introduction aux services rseau avec Xinetd..............................................................................261

Version 2.0 2004


fmicaux@actilis.net

6/270

Linux Administration systme


Installation, Administration, Intgration

Introduction
Un peu d'histoire
Quelques concepts

Version 2.0 2004


fmicaux@actilis.net

7/270

Linux Administration systme


Installation, Administration, Intgration

Prsentation des modules du cours


Introduction au systme
Introduction
Installation
La gestion des utilisateurs
La gestion des paquetages
Le stockage de donnes
Les systmes de fichiers
Les disques
Les sauvegardes

Administration avance
Les priphriques
Le Noyau
Configuration rseau
La gestion des logs
Monitoring systme
Les services
Introduction au Firewall
Introduction aux services rseau

Administration systme
X-Window
Automatisation de tches
Arrt et dmarrage

Version 2.0 2004


fmicaux@actilis.net

8/270

Linux Administration systme


Installation, Administration, Intgration

Prsentation du module
Thmes du module
Lhistorique de Linux;

Les caractristiques du systme dexploitation GNU/Linux;

La valeur de certaines distributions par rapport dautres;

Limportance de la numrotation du noyau;

Les sources de documentation pour chercher de laide

Objectifs
Comprendre le mouvement Open Source, GNU, Linux
Savoir chercher de l'information dans la documentation

Version 2.0 2004


fmicaux@actilis.net

9/270

Linux Administration systme


Installation, Administration, Intgration

Quappelle ton UNIX


Bref rappel
Unix est un systme dexploitation multi-tche et multi-utilisateur
Constitu autour dun noyau qui gre :
Les arborescence de fichiers et de FS (filesystems),

Les Processus,

La mmoire virtuelle (RAM + SWAP),


Les priphriques par des fichiers priphriques,

Shell et commandes, scripts sont linterface standard dUnix


Unix est le fruit du travail de Dennis Richie et Ken Thompson (Bell Labs et AT&T).
A la fois dvelopp par AT&T et BSD ==> Systme ouvert
Tout Unix respecte des normes prcises (UNIX 95, UNIX 98, POSIX)
Les UNIX :
HP-UX, SUN Solaris, IBM AIX, Tru64, SCO / Unixware,

Version 2.0 2004


fmicaux@actilis.net

10/270

Linux Administration systme


Installation, Administration, Intgration

Les Logiciels Libres


Origine
Les droits dutilisation dUNIX sont limits par AT&T en 1980 alors que les
universits et centres de recherche avaient largement contribu son dveloppement.
En raction, plusieurs courants sont crs.
Au MIT
Richard Stallman cre la Free Software Foundation pour raliser des logiciels libres
de droits.
Le Projet GNU : Raliser des logiciels libres de droits dutilisation et de distribution
en ltat , sous la Licence GPL.
Les modifications du code doivent tre approuves par les auteurs.
Si des librairies GPL sont utilises par un outil, alors loutil doit obligatoirement tre distribu en

GPL.

A l'universit de Berkeley : la famille BSD


Lauteur dorigine reste toujours propritaire du code mais les modifications sont
libres.

Version 2.0 2004


fmicaux@actilis.net

11/270

Linux Administration systme


Installation, Administration, Intgration

Lhistorique de Linux
Linux le systme de Linus Torvalds
Janvier 1991 : le point de dpart
Dbut 1991, Linus assiste une confrence de Richard Stallman Helsinki. RMS est l'auteur de

Emacs.
Linus achte un PC pour ses 20 ans, qui lui est livr le 5 janvier 1991.

Il ne souhaite pas utiliser MS/DOS et se procure donc Minix.

La phase Minix
Minix est le systme dAndy (Andrew) Tanenbaum, et est l'illustration de son livre Operating

Systems : Design & Implementation .


Linus sen sert pour dvelopper son propre mulateur de terminal, car celui de Minix ne lui plait

pas.
Il y ajoute un pilote disque et un systme de fichiers (compatible avec celui de Minix, le but tant

d'enregistrer ses mails sur son disque Minix)


De fonction en fonction, son projet Mon programme GNU-Emacs dmulation de terminal est


devenu un systme dexploitation en gestation.

Version 2.0 2004


fmicaux@actilis.net

12/270

Linux Administration systme


Installation, Administration, Intgration

Les annonces
3 juillet 1991 : Le premire annonce au public
Le 3 juillet 1991, Linus poste un article sur comp.os.minix demandant o trouver la norme


POSIX , rest sans rponse immdiate (il reu par la poste les 3 volumes Standards POSIX
plus tard)
Il consulte alors les manuels de lUnix Sun de sa fac, pour dterminer les spcifications des


appels systmes quil allait dvelopper, plus certains pris dans le livre dAndy Tanenbaum.
Puis, quelques lecteurs avertis sintressrent la question, devinant quun projet ncessitant de


chercher les standards POSIX ne pouvait tre quun systme dexploitation

Fin aot 1991 : L'interprteur bash et le compilateur gcc fonctionnent


Linus russit lancer un interprteur de commandes (bash) qui lui permet de lister les appels


systmes quil na pas encore ralis. GCC, le compilateur C de GNU s'excute lui aussi. A partir
de l, tout va plus vite, et le dclic se produit.
Linus avait imagin appeler son projet Freax sil le diffusait, et lappela finalement Linux ,


sans pour autant penser le diffuser.


Ari Lemke lui ouvre un accs ftp sur funet.fi. Linux est tlchargeable.


Version 2.0 2004


fmicaux@actilis.net

13/270

Linux Administration systme


Installation, Administration, Intgration

25 Aout 1991 : Le sondage de Linus dans comp.os.minix


Sujet : Que voulez vous le plus voir ajout Minix ?
Hello everybody out there using minix - Je suis en train de dvelopper un systme
dexploitation (gratuit) (un passe-temps, ce ne sera pas gros et professionnel comme
GNU) pour compatibles AT 386 (486). Cest en route depuis avril, et cela
commence tre prt. Jaimerais bien recevoir des avis sur ce que les gens aiment
et dtestent dans Minix, car mon systme lui ressemble un peu (mme structure
physique pour le systmes de fichiers (pour des raisons pratiques), parmi dautres
choses.
Jai pour linstant port bash (1.08) et gcc (1.40), et les choses semblent
fonctionner. Cela implique que jaboutirai quelque chose dutilisable dans
quelques mois, et jaimerais savoir quelles sont les fonctions que les gens
dsireraient le plus. Toutes les suggestions sont bienvenues, mais je ne promets pas
que je les mettrai en uvre.
Linus (torvalds@kruuna.helsinki.fi)

Version 2.0 2004


fmicaux@actilis.net

14/270

Linux Administration systme


Installation, Administration, Intgration

Lvolution du noyau Linux


Linux 0.01
Il est mis disposition sur ftp.funet.fi://pub/os/Linux :
Nous sommes le 17 septembre 1991.
Le source pse alors 10000 lignes, contre 10 millions aujourdhui.
Linux 0.02
Annonce de la mise disposition dbut octobre
Nouvelle annonce dans comp.os.minix :
tes vous nostalgiques des jours o les hommes taient des hommes et crivaient
leurs propres pilotes de priphriques ?

Linux 0.03 : la rupture avec Minix


Linus faillit tout arrter aprs la publication de la version 0.03
Il avait atteint son but, mais il dtruisit par erreur sa partition Minix, et continuait recevoir des


retours dexprience qui lencourageaient.


Il faut rinstaller Minix ou crire les programmes permettant de compiler Linux depuis Linux.
A chaque fois que Linus avait besoin de quelque chose de Minix, il lajoutait Linux.




Fin novembre sortit la version 0.10, puis 0.11

Version 2.0 2004


fmicaux@actilis.net

15/270

Linux Administration systme


Installation, Administration, Intgration

Nol 1991 : la pagination disque (swap)


Premire fonction ajoute pour satisfaire le besoin de quelquun dautre.
Ceci fut fait dans la version 0.12, diffuse dbut 1992.
Le public se mit alors comparer Linux non plus Minix, mais Coherent,
Dbut 1992, Linux passa de 5, 10, 20 utilisateurs (tous connus de Linus), plusieurs centaines
!

dinconnus.
Linus demanda chaque utilisateur de lui envoyer une carte postale, pas dargent. Il reu environ
"

2000 cartes postales d'un peu partout dans le monde, o il tait connu sans jamais avoir quitt sa
chambre et son PC.

Version 2.0 2004


fmicaux@actilis.net

16/270

Linux Administration systme


Installation, Administration, Intgration

Les versions successives du noyau


Les versions du noyau Linux
Linus estima ds que Linux supporta les fonctionnalits rseau, quil tait arriv 95
% du dveloppement. Il nomma alors la version suivant la 0.13 en 0.95 .
Il regretta ensuite son choix, et du adopter une numrotation trois chiffres, et une
lettre (0.95.a, mi 1992).
Linux 1.0, sorti le 14 mars 1994
norme effet mdiatique (presse, TV finlandaise, etc.)
Aujourdhui et dj demain : sortie le 5 janvier 2001 de la 2.4, et un noyau en
perptuelle volution. C'est une date importante pour Linus, car il a eu son premier
PC 386/33 le 5/01/1991, dix ans plus tt.

Version 2.0 2004


fmicaux@actilis.net

17/270

Linux Administration systme


Installation, Administration, Intgration

Les dernires volutions


En 2001
Mandrake distribue le 2.4.8 avec Mandrake 8.1
#

Red Hat distribue le 2.4.7 avec RedHat 7.2


$

Ces distributions sortent une poque o 2.4.10 est disponible.

En 2002
RedHat 7.3, Mandrake 8.2 , et Debian 3.0 sont alignes sur le noyau 2.4.18, le dernier disponible
%

cette poque lors de la sortie de ces distributions.

En 2003
Mandrake 9 et RedHat 8.0 et 9 distribuent le noyau 2.4.20.
&

En 2004
Mandrake 10 et Fedora Core 2 distribuent un noyau 2.6
'

Le noyau 2.4.26 est le dernier disponible en mai 2004.


(

Le noyau 2.4.27 est peut-tre disponible l'heure o nous en parlons...


Le noyau 2.6 est en version 2.6.6 mi 2004.

)
0

La dernire stable conseille du noyau 2.4.


La version 2.6 est en rapide volution. Elle est pour certaines applications jusqu' 70
% plus rapide que 2.4.
Numrotation du noyau Linux : x.y.z
y : Si pair, version stable, sinon version de dveloppement
z : incrment chaque correction de bug ou optimisations.

Version 2.0 2004


fmicaux@actilis.net

18/270

Linux Administration systme


Installation, Administration, Intgration

Les caractristiques de Linux


Caractristiques de Linux
Comme Unix :
Multi-tches et Multi-utilisateurs,
1

Un noyau qui gre tout (priphriques, mmoire)


2

Conforme la norme POSIX


Sources compatible UNIX Systme V et BSD
3

Bibliothques au format COFF et ELF


4

Spcificits Linux
Multi-plateformes : Intel, Alpha, SPARC, PPC, 68000, etc.
5

Gestion dynamique des pilotes de priphriques (modules)


6

Compatibilit des binaires SVR3 et SVR4 (IBCS)


7

Support de multiples Systmes de fichiers


Minix, s5, EXT2, EXT3, JFS, Reiser FS, support de LVM, du RAID logiciel
8

ISO 9660, FAT, FAT32, NTFS (ro),


SMB, NFS, NCP, etc..

9
@

Version 2.0 2004


fmicaux@actilis.net

19/270

Linux Administration systme


Installation, Administration, Intgration

Les Distributions GNU/Linux


Qu'est-ce qu'une distribution
Il s'agit d'un ensemble cohrent prvu pour tre install de manire plus ou moins
facille grce des outils plus ou moins volus.
Une distribution contiendra toujours :
un noyau : Linux, ou Hurd (Debian), peut-tre mme un noyau BSD (Debian ?)
A

les commandes et outils du systme provenant de GNU


B

de la documentation
C

des outils propres la distribution elle-mme


D

Les principales distributions


Debian : une des plus solides.
Distribution prfre des dveloppeurs, c'est la distribution open source
E

Trs scure, car les packages sont prouvs (une version par an, mais stable), idale pour les
F

serveurs
Mise jour par Internet grce "apt-get", outil de gestion de version des paquetages.
G

La Stable (Woody), la Testing (Sarge), la Unstable (Sid)


H

On conseille Woody pour les serveurs et Sid pour les stations de travail.

Red Hat : une des plus populaires


Succs du RPM, et au systme de dmarrage.
I

Installation simple, outils dadministration graphiques ou menus-texte


La plus Multi-plateformes

P
Q

A propos de Fedora / RedHat : Fedora est considrer comme RedHat 9.x, et suit la
mme logique que les anciennes distributions RedHat. RedHat ES/AS, est une
distribution optimise i686, mais payante.

Version 2.0 2004


fmicaux@actilis.net

20/270

Linux Administration systme


Installation, Administration, Intgration

Mandrake : franaise et de plus en plus populaire


Franaise, cre lorigine partir dune RedHat avec apport de KDE.
R

Grand nombre (trop) dapplications fournies dans la distribution


S

Sans doute la plus dynamique aujourdhui (

quelques packages pas forcment stables).

Mandrake est la distribution idale pour "dbuter la maison"


U

Suse : d'origine Allemande, une des plus utilise en Europe


La plus conforme LSB.
V

SuSE est payante depuis la version 8. On peut tlcharger une version d'valuation.
W

SuSE est rachete par Novell en 2004.


X

Slackware : une des plus anciennes


Premire distribution grand public historiquement, mais pas doutil dadministration.
Y

Peut tre une des plus scure , idale pour des serveurs (lgret, scurit).
`

La plus Unix-like des distributions de GNU/Linux


a

Autres : Gentoo Linux, Knoppix, TurboLinux, OpenLinux, Connectiva, Easy Linux,


Trinux... On en compte plusieurs centaines diffrentes.
Voir www.linuxiso.org, www.distrowatch.com
b

Version 2.0 2004


fmicaux@actilis.net

21/270

Linux Administration systme


Installation, Administration, Intgration

Le Rle De Ladministrateur
Grer
Les utilisateurs et groupes
Les fichiers et les disques
Les sauvegardes
Surveiller
Lespace disque
Les ressources et les performances
La scurit
Dclarer, installer et Administrer
Les priphriques
Les services
Les nouveaux produits

Version 2.0 2004


fmicaux@actilis.net

22/270

Linux Administration systme


Installation, Administration, Intgration

Comment Administrer
Plusieurs solutions
Excuter les commandes dadministration
Mthode la plus adapte, permettant de matriser les commandes pour ensuite les automatiser par
c

des scripts

diter les fichiers dadministration


La connaissance du rle, de la localisation (/etc), du nom et de la forme de ces fichiers est
d

importante pour gagner du temps

Excuter les scripts dadministration


Ceux que vous aurez ralis en connaissant les commandes, le shell, et les diffrents fichiers
e

dadministration

Utiliser les outils intgrs dadministration


Attention, les outils intgrs dpendent des distributions et des environnements graphiques
Seul Webmin est rellement multi OS et multi-plateforme

f
g

Avant tout, il faut disposer de l'identit du super-user.

Version 2.0 2004


fmicaux@actilis.net

23/270

Linux Administration systme


Installation, Administration, Intgration

Comment tre Super-User


Pour administrer, il faut dabord tre root
Axiome simple : root = super user = danger !
La notion de root est en fait une habitude de nommage pour l'utilisateur
d'identifiant (UID) 0.
Ce nom pourrait tre diffrent, et plusieurs noms diffrents pourraient pointer vers
l'UID 0.
Deux solutions pour prendre l'identit 0
Connexion initiale en tant quutilisateur root , au login ou l'ouverture de
session graphique.
h

Prendre les droits de lutilisateur root en cours de session utilisateur, par la


commande su.
i

Pour devenir (prendre lidentit de) lutilisateur root


p

Loption - permet de prendre en compte lenvironnement de root


Notamment le PATH, le rpertoire par dfaut (HOME), etc

q
r

Version 2.0 2004


fmicaux@actilis.net

24/270

Linux Administration systme


Installation, Administration, Intgration

La documentation
Axiome de dpart
Un bon administrateur est un individu sachant lire la documentation.
De nombreuses sources de documentation existent
Les pages du manuel
La commande man
s

Loption -k effectue une recherche suivant le mot cl qui la suit.


t

Ncessite une mise jour de lindex (makewhatis automatiser par cron)


u

Loption daide des commandes


--help
v

-h / -H
w

Linstallation, la dmarche de configuration dun service


La documentation des paquetages (rpm qpi package.rpm)
x

Les HowTo et les FAQ


y

Obtenir une premire information sur une commande


La commande locate donnera lensemble des fichiers contenus sur le disque dont le nom

contient largument saisi.


Ncessite une mise jour de la base de donnes dindex (updatedb automatiser par cron)

Version 2.0 2004


fmicaux@actilis.net

25/270

Linux Administration systme


Installation, Administration, Intgration

Installation du Systme
Application pratique
Thmes du module
Etapes et modes d'installation d'une distribution GNU/Linux
Objectifs
Raliser une installation en local ou via le rseau

Partitionner en fonctionnement de lutilisation du poste Linux

Choisir les logiciels installer


Dcrire les problmes lis linstallation

Version 2.0 2004


fmicaux@actilis.net

26/270

Linux Administration systme


Installation, Administration, Intgration

Installation de Linux
Application
Installation de la distribution RedHat 9.X
Installation possible de Debian 3.0
4 grandes tapes
Dmarrage
Chargement dun mini-systme fonctionnant grce un disque virtuel. Lancement de loutil

dinstallation

Prparation des disques


Dfinition des partitions, formatage, cration des FS et du swap.

Installation des paquetages


Slection des paquetages installer et installation par rpm

Configuration du systme
Collecte des informations propres la machine et configuration des fichiers dadministration

Version 2.0 2004


fmicaux@actilis.net

27/270

Linux Administration systme


Installation, Administration, Intgration

Les types dinstallation


Classes
Plusieurs classes sont souvent prdfinies
Installation plus ou moins automatique

Pour certaines distributions, possibilit de choisir un mode (dbutant, confirm, expert),

impliquant un plus ou moins grand nombre de questions lors de linstallation.


Pour dautres, possibilit de choisir un type dinstallation (Serveur, Station Rseau, Station de

dveloppement, etc.), impliquant une diffrence dans la slection des paquetages installs

Possibilit dinstaller manuellement le systme


Nexiste plus rellement, en dehors de la slection manuelle des paquetages devant tre installs.

Gentoo Linux propose une installation manuelle complte.


Installation minimaliste sur RedHat, Mandrake, etc, rputes comme installant trop doutils.
Installation manuelle des packages supplmenatires par rpm scripter pour rptition sur

dautres serveurs.

Version 2.0 2004


fmicaux@actilis.net

28/270

Linux Administration systme


Installation, Administration, Intgration

Installation : Booter
Ncessite
un cd/rom bootable,

Ou
une disquette de dmarrage bootable

Cration dune disquette de dmarrage si ncessaire


Choisir un fichier Image sur et crer la disquette (copie bloc bloc)

Depuis Windows
Par lutilitaire rawrite fourni avec la distribution (rpertoire dosutils)

Depuis Linux ou un Unix


Par la commande dd
d

Fichiers image
Ce sont les fichiers *.img sur le CD dans le rpertoire images
e

Dmarrer ensuite le systme avec la disquette.

Version 2.0 2004


fmicaux@actilis.net

29/270

Linux Administration systme


Installation, Administration, Intgration

Installation : partitionnement
Au moins 2 partitions sont ncessaires
Au moins une partition de swap
Au moins une partition systme (root), qui sera monte sur /
f

Si un systme est dj prsent


Utiliser un outil pour rduire la taille de sa partition
FIPS : en mode commande, excutable sous MS/DOS

Partition Magic
i

Loutil de partitionnement des distributions


j

Ces outils ncessitent une d-fragmentation pralable

Ajouter un disque ddi Linux reste la meilleure solution


Le cot dun nouveau disque comparer avec celui dun disque dfragmenter et du risque

k
l

que reprsente la rduction dune partition.

Version 2.0 2004


fmicaux@actilis.net

30/270

Linux Administration systme


Installation, Administration, Intgration

Rle des diffrents rpertoires:


Saigon:/# tree -d -L 2
|-|-|-|-|-|-|-|-|-|-|-|-|-|-`--

bin
boot
dev
etc
home
initrd
lib
mnt
opt
proc
root
sbin
tmp
usr
var

Version 2.0 2004


fmicaux@actilis.net

:
:
:
:
:
:
:
:
:
:
:
:
:
:
:

rpetoire des binaires usuels


rpertoire du noyau, du chargeur Grub
rpertoire des fichiers priphriques
rpertoire des fichiers de configuration
rpertoire des utilisateurs standards
rpertoire pour les ramdisks
rpertoires des libraires, des modules
rpertoire de montage
rpertoire pour les applications optionnelles
pseudo-rpertoire du noyau actif
rpertoire personnel du root
rpertoire des binaires systmes
rpertoire temporaire
rpertoire des applications
rpertoire des logs, des spools

31/270

Linux Administration systme


Installation, Administration, Intgration

Installation : Dimensionnement des partitions


Dfinir les tailles des partitions
/

1 Go suffit si les autres FS sont tous spars

/usr

2 Go suffit sur un serveur

n
o

(3 4 Go ncessaires si beaucoup dapplications X)


/var

1 Go Mo suffisent si spool et log spars

/tmp

500 Mo suffisent gnralement

/home

500 Mo X Go (dpend de lutilisation du serveur)

p
q
r

Et ventuellement
/boot

20 Mo

/usr/src

pour les sources du noyau (prvoir 200 Mo en 2.4)

/opt

pour sparer certaines applications de /usr

/var/log

pour viter saturation de /var par les logs

/var/spool

pour viter saturation de /var par mail, news, etc.

/var/data ou /data

sont des points de montage frquemment utiliss pour partitions RAID

s
t
u
v
w
x

Nos clients choisissent souvent un seul agrgat RAID (1 ou 5) mont dans /var/data
ou /data, quils dcident de sparer en sous-rpertoires.

Version 2.0 2004


fmicaux@actilis.net

32/270

Linux Administration systme


Installation, Administration, Intgration

Installation : Choix des paquetages


Choix des paquetages:
Certains paquetages sont obligatoires et seront forcment installs
y

Tous les autres sont installables a posteriori


z

Le choix dpend souvent du type dinstallation choisi


{

Le choix manuel des paquetages installer est une opration fastidieuse, prvoir une demi|

journe de lecture / slection (+ de 1000 packages sur Mandrake)

Conseil
Une installation minimale, et un script dinstallation automatique des paquetages souhaits
}

facilitent les dploiements de plusieurs serveurs identiques.

Notion dindustrialisation du dploiement grce loutil Kickstart sous RedHat.

Version 2.0 2004


fmicaux@actilis.net

33/270

Linux Administration systme


Installation, Administration, Intgration

Installation : tapes gnralement souvent rencontres


Post-installation
Configuration du modem
Configuration dune imprimante
X-Window
Choix de la carte video
Choix du moniteur
Choix de la rsolution
Le rseau
Configuration de l'interface rseau
Configuration du dmarrage
Disquette de dmarrage
LILO
Redmarrage

Version 2.0 2004


fmicaux@actilis.net

34/270

Linux Administration systme


Installation, Administration, Intgration

TP : Installation du systme
Plusieurs possibilits sont offertes :
Installer la distribution fournie sur CD : RedHat
~

Installer une autre distribution par le rseau (via NFS, FTP, ou HTTP)


Autres mthodes par le rseau


Linstallation est possible, selon les distribution, par tlchargements FTP/HTTP

Linstallation depuis un partage SMB (serveur Windows) est elle aussi supporte par certaines

distributions

La distribution Debian sinstalle en deux temps :


Installation minimale depuis un CD et choisir d'installer en bf24 au dmarrage

Ajout et maintenance des packages supplmentaires via le rseau aprs reboot.

Besoin de disquettes de drivers ?


Tlcharger les 4 driver-x-bin correspondant votre choix d'installation (bf24)

Version 2.0 2004


fmicaux@actilis.net

35/270

Linux Administration systme


Installation, Administration, Intgration

Une installation de Debian 3.0 (Woody)


Premire partie : Installer le systme de base
Dmarrage :
Localisation :
Clavier :
Partitions

Booter sur CD et taper


Europe/ Paris
azerty/fr-latin1
swap
/
/usr
/home
/var

:
:
:
:
:

bf24

128 Mo
1000 Mo
3000 Mo
1000 Mo
1000 Mo

Noyau et Modules :
Indiquer CDROM
Configuration rseau :
192.168.0.xxx
Configuration des modules : Choisir le module de la carte 3COM

Systme de base :
Le chargeur de boot
Disquette d'amorage
Redmarrage

Version 2.0 2004


fmicaux@actilis.net

: Mettre LILO sur la MBR (/dev/hda)


: Toujours la crer
: Rebooter pour la 2 me partie de l'installation

36/270

Linux Administration systme


Installation, Administration, Intgration

Seconde partie : configuration initiale


Is the hardware clock set to GMT :
no
Shall I enable MD5 passwords ?
yes
Shall I enable shadow password ?
yes
Root password:
0rsys10p
Shall I create a normal user account:
no
Shall I remove the pcmcia packages ?
yes
Do you want ot use a ppp connection ?
no
Choix du media d'installation :
http
Use non-US software ?
yes
Use non-free software ?
yes
Use contrib software ?
yes
Miroir d'installation:
http://ftp.us.debian.org
Add another apt-source ?
no
Security updates ?
Yes
Run taskel ?
Yes
Choisir les lments du groupe dveloppement.
Run dselect ?
No
Configuration du mail:
5
Have fun !

Version 2.0 2004


fmicaux@actilis.net

37/270

Linux Administration systme


Installation, Administration, Intgration

Troisime partie : ajout de composants supplmentaires


Installation du serveur Xfree86 :
apt-get install

x-window-system-core

Installation de KDE :
apt-get install kde-base konqueror konsole kpackage

Installation de GNOME :
apt-get install gnome-session gnome-core sawfish-gnome gedit gnome-terminal
gnome-panel gmc gnome-control-center nautilus

Installation d'OpenOffice :
apt-get -t testing -u install openoffice.org

Installer aussi :
apt-get install mc vim kernel-headers-2.4.18bf2.4 screen ssh
hdparm make autoconf

Version 2.0 2004


fmicaux@actilis.net

synaptic gcc

38/270

Linux Administration systme


Installation, Administration, Intgration

Les paquetages
Thmes du module
Prsentation de RPM

Les outils graphiques

Les commandes

Objectifs
Les diverses manires dinstaller et de dsinstaller un logiciel sous Linux

Les avantages et les inconvnients des diffrents formats de paquetage


La manire pour mettre jour sa base de paquetages

Version 2.0 2004


fmicaux@actilis.net

39/270

Linux Administration systme


Installation, Administration, Intgration

La gestion des paquetages RPM


RPM : Red Hat Package Manager
Systme de packaging mis au point par RedHat

Permet de grer linstallation et la dsinstallation automatique de logiciels

Format de fichier spcifique contenant


les fichiers installer

des informations sur le paquetage (dpendances, provenance, versions)

des scripts de pr ou post traitement pour l'installation ou la dsinstallation

Les commandes
rpm : installation et dsinstallation, consultation de paquetages, construction de paquetages.

Version 2.0 2004


fmicaux@actilis.net

40/270

Linux Administration systme


Installation, Administration, Intgration

La gestion des paquetages Debian


DEB : Le format des paquetages sous DEBIAN
Permet de grer linstallation et la dsinstallation automatique de logiciels

Une gestion automatique des dpendances, des mises jours

Format de fichier spcifique contenant


les fichiers installer

des informations sur le paquetage

des scripts de pr ou post traitement pour l'installation ou la dsinstallation

Les commandes
dpkg : le pendant de la commande rpm de RedHat.

dselect : le frontal de dpkg


apt-get : Advanced Packaging Tool.

Version 2.0 2004


fmicaux@actilis.net

41/270

Linux Administration systme


Installation, Administration, Intgration

La commande rpm
Options et arguments
Installation
rpm

i nom_package-version.arch.rpm

Mise jour
rpm -U nom_package-version-N+1.arch.rpm

Dsinstallation
rpm e nom_package

Les Query :
Liste des paquetages installs

rpm qa

Un paquetage est il install

rpm -q nom_package

Quel paquetage ma install ce fichier

rpm qf chemin_complet_fichier

Version 2.0 2004


fmicaux@actilis.net

42/270

Linux Administration systme


Installation, Administration, Intgration

Caractristiques (liste des informations) dun paquetage :


Paquetage RPM

rpm qpi nom_package-version.arch.rpm

Paquetage install

rpm qi nom-package

Composants (contenu) dun paquetage :


Paquetage RPM

rpm qpl nom_package-version.arch.rpm

Paquetage install

rpm -ql nom-package

Qualits / dfauts
La commande reconnat les dpendances entre les paquetages.
Elle ne sait pas les satisfaire en automatique.

Version 2.0 2004


fmicaux@actilis.net

43/270

Linux Administration systme


Installation, Administration, Intgration

La commande dpkg
Options et arguments
Installation
dpkg i nom_package-version.deb

Dsinstallation partielle (garder les fichiers de configuration)


dpkg r

nom_package

Dsinstallation totale
dpkg P

nom_package

(supprime les fichiers de configuration en mme temps)


Reconfigurer un paquetage
dpkg-reconfigure package

Version 2.0 2004


fmicaux@actilis.net

44/270

Linux Administration systme


Installation, Administration, Intgration

Les requtes
Liste des paquetages installs

dpkg get-selections

\*

Liste les informations d'un paquetage

dpkg -I

nom_package.deb

Liste le contenu d'un paquetage

dpkg -c

nom_package.deb

Lister les paquetages installs

dpkg l

nom_package

Lister les fichiers installs par un paquetage

dpkg L nom_package

Quel paquetage a install tel fichier ?

dpkg -S fichier

Un paquetage est-il disponible

dpkg print-avail package

Ne pas mettre jour un paquetage lors d'une upgrade :


echo nom_package hold | dpkg --set-selections

Version 2.0 2004


fmicaux@actilis.net

45/270

Linux Administration systme


Installation, Administration, Intgration

APT
Atout inconstable de la distribution Debian, APT est aussi devenu disponible pour
RedHat.
Le fichier /etc/apt/sources.list : gestion des sources
Saigon:/# cat /etc/apt/sources.list
deb http://security.debian.org/ stable/updates main
deb http://ftp.us.debian.org/debian/ stable main non-free contrib
deb-src http://ftp.us.debian.org/debian/ stable main non-free contrib

Gnrer le fichier sources.list


apt-setup

Ajouter un cdrom dans sources.list


apt-cdrom add

Trouver le miroir le plus rapide


netselect

http.us.debian.org

Mettre jour la liste des paquetages disponibles


apt-get update

Version 2.0 2004


fmicaux@actilis.net

46/270

Linux Administration systme


Installation, Administration, Intgration

Manipulation des paquetages


Installer un paquetage
apt-get install

nom_package

Installer tel paquetage de telle distribution


apt-get -t testing install

nom_package

Supprimer un paquetage
apt-get remove [--purge]

nom_package

Mettre jour tous les paquetages installs


apt-get upgrade [-u]

Rinstaller un paquetage endommag


apt-get reinstall install nom_package

Mettre jour tout le systme


apt-get dist-upgrade [-u]

Version 2.0 2004


fmicaux@actilis.net

47/270

Linux Administration systme


Installation, Administration, Intgration

Recherche et maintenance des paquetages


Recherche de paquetage
apt-cache search motif

Affiche la description et les dpendances d'un paquetage


apt-cache show nom_package

Supprimer les fichiers *.deb tlchargs


apt-get clean

Rsoudre les dpendances lis une commande


auto-apt run commande

Mettre jour la base de recherche des paquetages


apt-file update

A quel paquetage provient tel fichier (mme non install)


apt-file search fichier

Version 2.0 2004


fmicaux@actilis.net

48/270

Linux Administration systme


Installation, Administration, Intgration

Autres outils
Synaptic
Outil provenant de la distribution unstable Debian propossant un frontal graphique apt-get

Up2date
Outil de mise jour du systme aprs enregistrement sur le site de la RedHat.

GnoRPM
Interface graphique Gnome la commande rpm

Kpackage
Interface graphique KDE de la commande rpm

Version 2.0 2004


fmicaux@actilis.net

49/270

Linux Administration systme


Installation, Administration, Intgration

TP installation de packages
Exercice 1
Lister les paquetages installs.

Lister les paquetages disponibles sur le CDROM 1.

Lister le nom (le champ Name) et la description (le champ Summary) des paquetages installs.

Supprimer le paquetage contenant le telnet client et loutil mc , Midnight Commander

Donner le nom du paquetage do provient la commande ls

Exercice 2
Tlcharger sur le serveur FTP de linstructeur: Webmin, Acrobat Reader 5

ftp 192.168.0.199
Login= ftp et mot de passe= ftp
lcd
/opt
mget
web*

Installer Webmin
Installer Acrobat Reader 5 partir de ses sources

Version 2.0 2004


fmicaux@actilis.net

50/270

Linux Administration systme


Installation, Administration, Intgration

TP avec instructions
Exercice 1
Lister les paquetages installs.

rpm -qa

Lister les paquetages disponibles sur le CDROM 1.

mount /mnt/cdrom; ls l /mnt/cdrom/RedHat/RPMS

Lister le nom (le champ Name) et la description (le champ Summary) des paquetages installs.

for i in $(rpm qa);do rpm qpi $i | grep E Name|Summary ;done

Supprimer le paquetage contenant le telnet client

rpm e telnet-0.17-23

Donner le nom du paquetage do provient la commande ls

rpm qpf /bin/ls

Version 2.0 2004


fmicaux@actilis.net

51/270

Linux Administration systme


Installation, Administration, Intgration

Exercice 2
Tlcharger sur le serveur FTP de linstructeur: Webmin, Acrobat Reader 5

ftp 192.168.0.199
Login= ftp et mot de passe= ftp
lcd
/opt
mget
web*

Installer Webmin
rpm ivh webmin-1.080-1.noarch.rpm

Installer Acrobat Reader 5 partir de ses sources


tar xzvf acrobat-5.06.tar.gz ; ./INSTALL

Version 2.0 2004


fmicaux@actilis.net

52/270

Linux Administration systme


Installation, Administration, Intgration

La gestion des
utilisateurs
Objectifs
Crer des utilisateurs et des groupes;

Modifier les paramtres dun compte utilisateur;

Scuriser par des droits un compte;

Rattacher un utilisateur des groupes;


Personnaliser une session

Les fichiers
/etc/passwd, /etc/shadow
/etc/group, /etc/gshadow
/etc/default/useradd,profiles et *shrc

Les commandes (23)


useradd, usermod, userdel, pwck, vipw
groupadd, groupmod, groupdel, grpck, vigr
finger, chsh, chfn, passwd, id, groups, whoami
su, newgrp
mail, write, wall, talk

Version 2.0 2004


fmicaux@actilis.net

53/270

Linux Administration systme


Installation, Administration, Intgration

La Gestion Des Utilisateurs


But
Crer, modifier et supprimer un compte utilisateur
Ou modifier informations lies ce compte

Crer, modifier et supprimer un groupe dutilisateurs


Fichiers concerns
/etc/passwd et /etc/shadow
/etc/group et /etc/gshadow
Fichiers de configuration de session des utilisateurs
Ils servent paramtrer le dmarrage des sessions, et contiennent des commandes permettant

d'initialiser l'environnement de travail des utilisateurs.

Les commandes dadministration des utilisateurs


Les utilisateurs : useradd, usermod, userdel
Les groupes d'utilisateurs : groupadd, groupmod, groupdel

Version 2.0 2004


fmicaux@actilis.net

54/270

Linux Administration systme


Installation, Administration, Intgration

Le fichier des utilisateurs /etc/passwd


Chaque utilisateur a un nom (login) et un mot de passe (pwd),
Le mot de passe peut tre externalis dans un autre fichier
Il est dot dun identifiant numrique unique (UID)
et appartient au moins un groupe (GID)
Un utilisateur peut tre admins dans plusieurs groupes, mais cela n'est pas paramtr
ici.
On peut mmoriser ses informations personnelles (finger-info)
Nom complet, coordonnes tlphoniques
En principe, on laisse les utilisateurs modifier ces informations

Un utilisateur dispose dun rpertoire par dfaut (home) et utilise une commande par
dfaut (shell).
Un utilisateur = une ligne dans le fichier /etc/passwd
login:pwd:uid:gid:finger-info:home:shell

Version 2.0 2004


fmicaux@actilis.net

55/270

Linux Administration systme


Installation, Administration, Intgration

Le fichier des groupes /etc/group


Chaque groupe dispose dun nom (grpname)
Il faut ventuellement un mot de passe (pwd) pour rentrer dans le groupe en cours de
session
Sauf pour le groupe par dfaut dun utilisateur
Ce champ est trs souvent inutilis, donc vide.

Un groupe est dot dun identifiant numrique unique (GID)


Plusieurs utilisateurs peuvent tre membres (members)
Un groupe = une ligne dans le fichier /etc/group
Grpname:pwd:gid:members

Version 2.0 2004


fmicaux@actilis.net

56/270

Linux Administration systme


Installation, Administration, Intgration

Les commandes
Comptes utilisateurs :
useradd
usermod
userdel
Groupes dutilisateurs :
groupadd
groupmod
groupdel

Version 2.0 2004


fmicaux@actilis.net

57/270

Linux Administration systme


Installation, Administration, Intgration

Les commandes utilisateur


Changement sur les comptes utilisateurs
Le shell par dfaut

chsh

Informations personnelles

chfn

Le mot de passe

passwd

Sert modifier le mot de passe dun utilisateur


Se connecter un autre compte
su

Utilise pour se connecter un compte diffrent (changer d'identit) en cours de


session

Version 2.0 2004


fmicaux@actilis.net

58/270

Linux Administration systme


Installation, Administration, Intgration

Les Fichiers De Configuration Des Sessions


Principe
Chaque Shell fait appel, lors de son lancement, des scripts qui sils existent sont
excuts. Ils permettent de prparer la session.
La configuration de bash
Au login (quand bash est lanc en tant que Shell de connexion)
Si /etc/profile existe, il est excut
Si $HOME/.bash_profile existe, il est excut
Sinon si $HOME/.bash_login existe, il est excut
Sinon si $HOME/.profile existe, il est excut

Au dmarrage dun shell bash (pas forcment au login) :


Si $HOME/.bashrc existe, il est excut.

RedHat ajoute dans le fichier .bashrc par dfaut des utilisateurs une instruction
forant l'excution de /etc/bashrc si celui-ci est prsent. Ceci n'est pas standard.
A la dconnexion :
Si .bash_logout existe, il est excut

Version 2.0 2004


fmicaux@actilis.net

59/270

Linux Administration systme


Installation, Administration, Intgration

Le prompt (linvite de commandes)


Cest une variable denvironnement qui le dcrit.
Gnralement, cest la premire que lon aime personnaliser

Sous bash , le prompt est dfini par la variable PS1.

Exemple :
export PS1="\[\033[35m\][\$(date
+%H:%M)]\[\033[32m\]\u@\h:\w\n:>\[\033[00m\]"

Lusage veut que


le prompt de root affiche (ou se termine par) un # ,

et celui des autres utilisateurs un $ .

On peut paramtrer cette variable selon ses propres prfrences.


Par exemple :
Affichage du rpertoire courant (utiliser la variable $PWD)

Affichage du nom dutilisateur, de lUID (savoir qui lon est est pratique)
Affichage du nom de la machine (savoir sur quel serveur on est logu)

Version 2.0 2004


fmicaux@actilis.net

60/270

Linux Administration systme


Installation, Administration, Intgration

Modle de configuration de session


But
Faciliter la cration des environnements utilisateurs en automatisant lors de la
cration la mise en place de scripts dans leur rpertoire HOME.
Localisation
Dans /etc/skel (paramtr par /etc/default/useradd)
Fonctionnement
Tout fichier ou rpertoire prsent dans /etc/skel sera recopi dans le rpertoire
HOME de lutilisateur lors de la cration de celui-ci.

Version 2.0 2004


fmicaux@actilis.net

61/270

Linux Administration systme


Installation, Administration, Intgration

Communiquer avec les utilisateurs


Le courrier lectronique
mail
permet denvoyer un message un ou des utilisateurs non connects. Le message est stock dans

boite lettre. Le destinataire pourra tre averti de la prsence de messages lors de sa connexion

La communication directe
write, wall
Permet dcrire un ou lensemble des utilisateurs connects

On ne peut crire qu'aux utilisateurs qui autorisent grce la commande mesg y la rception

de messages. On refuse la rception de messages par mesg n .

talk
Permet dengager une session de dialogue avec un autre utilisateur

Les fichiers
/etc/issue
Affich avant la connexion (mire de connexion)

/etc/motd
Affich aprs lauthentification dun utilisateur (message de bienvenue)

Version 2.0 2004


fmicaux@actilis.net

62/270

Linux Administration systme


Installation, Administration, Intgration

TP - Gestion utilisateurs
Exercice 1
Crer un compte utilisateur usera

Faire en sorte que chaque nouvel utilisateur dispose dun rpertoire tmp lors de sa cration.

Crer un compte userb manuellement

Crer un compte admin ayant les pouvoirs du root

Exercice 2
Crer les groupes admin et dev

Rattacher lutilisateur usera ces deux groupes

Modifier lutilisateur usera pour que son groupe par dfaut soit admin

Exercice 3
Synchroniser lheure du BIOS avec lheure du systme

Activer automatiquement le numlock pour chaque session ouverte en mode console

Exercice 4
Lorsque usera se connecte, il souhaite automatiquement prvenir par un message sur la

console de userb quil est connect. Comment faire ?


De le mme manire, avertir userb lorsque usera se dconnecte.

Faire en sorte que lorsque root lance un shell bash , il soit affich sur son terminal

linformation : Attention, vous tes root ! en plus du prompt

Exercice 5
Faire en sorte que lheure, le nom de la machine, le login et le rpertoire courant complet soient

affichs dans le prompt pour tous les utilisateurs.

Version 2.0 2004


fmicaux@actilis.net

63/270

Linux Administration systme


Installation, Administration, Intgration

TP avec instructions
Exercice 1
Crer un compte utilisateur usera

adduser usera

Faire en sorte que chaque nouvel utilisateur dispose dun rpertoire tmp lors de sa cration.

mkdir

/etc/skel/tmp

Crer un compte userb manuellement

Se connecter en tant que root


Rajouter une ligne dans
/etc/passwd
/etc/gshadow
mkdir /home/userb
cp r /etc/skel/* /home/userb
logout
chown userb:userb
/home/userb

/etc/shadow,

/etc/group

et

Crer un compte admin ayant les pouvoirs du root

adduser u 0 o g 0 admin

Version 2.0 2004


fmicaux@actilis.net

64/270

Linux Administration systme


Installation, Administration, Intgration

Exercice 2
Crer les groupes admin et dev

groupadd admin
groupadd dev

Rattacher lutilisateur usera ces deux groupes

usermod

-G admin, dev

usera

Modifier lutilisateur usera pour que son groupe par dfaut soit admin

usermod

-g admin usera

Exercice 3
Rechercher les commandes adquates avec man k xxxxxx

Synchroniser lheure du BIOS avec lheure du systme

hwclock --systohc

Activer automatiquement le numlock pour chaque session ouverte en mode console

Dans

/etc/profile, mettre :

Version 2.0 2004


fmicaux@actilis.net

setleds

-D +num

65/270

Linux Administration systme


Installation, Administration, Intgration

Exercice 4
Lorsque usera se connecte, il souhaite automatiquement prvenir par un message sur la

console de userb quil est connect. Comment faire ?


Insrer dans le fichier .bash_profile de usera la ligne suivante :
echo Je suis dans la salle B15 | write userb

De le mme manire, avertir userb lorsque usera se dconnecte.

Pour cela, mettre le message et la commande dans le fichier .bash_logout

Faire en sorte que lorsque root lance un shell bash , il soit affich sur son terminal

linformation : Attention, vous tes root ! en plus du prompt.


Dans le fichier /root/.bashrc, insrer Attention ! Vous tes connect en
ROOT

Exercice 5
Faire en sorte que lheure, le nom de la machine, le login et le rpertoire courant complet soient

affichs dans le prompt pour tous les utilisateurs.


Dans /etc/profile, mettre : export PS1= [$(date

Version 2.0 2004


fmicaux@actilis.net

+%H:%M)] \u@\h:\w:>

66/270

Linux Administration systme


Installation, Administration, Intgration

Les sauvegardes
Thmes du module
Compression
Archivage, Copie bloc bloc
Sauvegarde incrmentale
Les bandes
Commandes (11)
compress, uncompress, gzip, gunzip
tar, cpio, pax
dd, dump, restore, mt

Objectifs
Utiliser les outils systme usuels de sauvegarde
Sauvegarder des fichiers, des rpertoires, des partitions ou le disque dur

Version 2.0 2004


fmicaux@actilis.net

67/270

Linux Administration systme


Installation, Administration, Intgration

Les Outils De Sauvegarde


Les commandes de sauvegarde
Sauvegarde de fichiers et darborescences
tar (Tape Archiver)

cpio (Copy Input / output)

pax

Sauvegarde physique des disques et des FS


Copier bloc bloc un support vers un autre
dd

(Convert and Copy, le nom cc tait dj utilis, donc dd a t choisi)

Sauvegarde incrmentale
dump

restore

Utiliser les outils de sauvegarde incrmentale dump et restore au 21me sicle est
peut-tre un peu inconscient.
Manque de souplesse des restaurations
Manque au niveau du catalogue de chaque sauvegarde

Version 2.0 2004


fmicaux@actilis.net

68/270

Linux Administration systme


Installation, Administration, Intgration

Les Outils De Sauvegarde


Les outils du commerce
Les outils de sauvegarde du commerce possdent quelques atouts :
Si lenvironnement est htrogne

Gestion de catalogues et dautomates

Amanda est un projet trs intressant : www.amanda.org

Plan de sauvegarde
A dterminer en fonction des interrogations suivantes
quoi , quand , persistance , stockage , support , capacit , fentre horaire ,

restauration , automatique

Les points privilgier


Simplicit de restauration,

Fiabilit,
Rapidit de la sauvegarde

Version 2.0 2004


fmicaux@actilis.net

69/270

Linux Administration systme


Installation, Administration, Intgration

Compression de donnes
Le standard Unix compress
Commande portable (prsente sur tout Unix)
Compression : compress nom-fichier

Dcompression : uncompress nom-fichier

GNU zip (gzip)


Plus performant que compress.
Compression : gzip nom-fichier / nom-rpertoire

Dcompression : gunzip nom-fichier

Compression rcursive : gzip cr nom-rpertoire

Bzip2
Nouveau compresseur encore plus performant que GNU zip, utilis notamment pour
la compression du noyau.
Compression : bzip2 nom fichier
Dcompression : bunzip2 nom-fichier

Version 2.0 2004


fmicaux@actilis.net

70/270

Linux Administration systme


Installation, Administration, Intgration

La Sauvegarde Par tar


Tar signifie tape archiver et sait en fait travailler sur n'importe quel support (tout
est fichier)
La ligne de commande de tar est compose de plusieurs arguments :
tar actions/options lment1 lment2 ...

Les actions
Actions souhaite

Option

Sauvegarder des fichiers

Restaurer des fichiers

Lister le contenu d'une archive

Ajouter en fin d'archive

Mettre jour une archive

Version 2.0 2004


fmicaux@actilis.net

71/270

Linux Administration systme


Installation, Administration, Intgration

Les options utiles


Actions

Option

Compression par Compress

Compression par gzip

Compression par bzip2

Indiquer le nom de l'archive

f NOM-ARCHIVE

Utiliser une liste de contenu

T fic-liste.txt

Spcifier un rpertoire destination

C REP-DEST

Demander le mode verbeux

Attention :
Les options qui ncessitent un argument (f, T, C), forcent l'utilisation du caractre - pour les

introduire si on en prcise plusieurs

Exemples :
tar czvf arch.tar.gz
/etc
tar xzvf arch.tar.gz
-C /opt
tar T ficliste czvf archive.tar.gz

Le nom du fichier ARCHIVE peut tre - , ce qui implique le fonctionnement


suivant :
En Archivage (commande c) : Spcifie la sortie standard
En Restauration (commandes t, x) : Spcifie l'entre standard




Exemple :
tar czf

Version 2.0 2004


fmicaux@actilis.net

. | ssh userb@serveur2 cd /opt \; tar xzvf -

72/270

Linux Administration systme


Installation, Administration, Intgration

La sauvegarde par CPIO


Prsentation
La commande cpio a un fonctionnement trs unixien :
Elle reoit sur son entre standard les noms des fichiers sauvegarder


Elle gnre la forme cpio de l'archive sur sa sortie standard.




En mode restauration, cpio lit le contenu restaurer sur son entre standard.


Cela permet de mettre en oeuvre des scripts effectuant des opration puissantes de
sauvegarde :
Sauvegarde de fichiers : option o
Schma logique : find | cpio o | compression > support


Restitution de fichiers : option i


Schma logique : dcompression | cpio i


Liste des fichiers d'une sauvegarde : option it


Schma logique : dcompression | cpio it


Version 2.0 2004


fmicaux@actilis.net

73/270

Linux Administration systme


Installation, Administration, Intgration

Commandes lies
En combinant une commande de recherche de fichiers et une de compression, on
arrive crire des scripts puissants
Pour lister les fichiers sauvegarder : find


Pour compresser ou dcompresser : gzip , bzip2 , ou compress




Exemple :
Mettre en oeuvre une sauvegarde rseau incrmentale :
ssh user@serveur find . -mtime -1 \| cpio -oca \| gzip | cpio -icbdBmu

Cette commande cre sur le serveur distant une archive CPIO compresse qui va tre rplique
!

localement. Seuls les fichiers modifis depuis 24h sont inclus.


On tire parti du fait que cpio crit (et lit) les donnes sur sa sortie standard (et sur son entre
"

standard).

Les options utilises ici sont o (output) pour crer l'archive, et i (input) pour
restaurer localement.

Version 2.0 2004


fmicaux@actilis.net

74/270

Linux Administration systme


Installation, Administration, Intgration

Options de la commande cpio


Les options utiles
Actions

Option

Format portable pour l'archive

Conserver les atime lors de la lecture

Restaurer les mtime de l'archive

Mettre jour si la cible existe dj

Recrer les rpertoires sur la cible

Utiliser un facteur de blocage de 5Ko

Demander le mode verbeux

La commande cpio dispose de son propre format (format portable SVR4 grce l'option c ),
#

mais on peut lui demander de travailler dans le format de tar, par exemple.
L'option H permet de spcifier un format.
$

Version 2.0 2004


fmicaux@actilis.net

75/270

Linux Administration systme


Installation, Administration, Intgration

La commande rsync
Prsentation
La commande rsync permet de copier distance comme rcp, et est intelligente
(elle ne transfert que le delta entre la source et la cible).
Elle peut aussi :
Compresser le trafic
%

Encapsuler le trafic dans ssh


Synchroniser une arborescence (rpercute aussi les suppressions).

&
'

Options utiles
Actions

Option

Mode archive
(prserve toute information lie l'inode)

-a

Utilise la compression Gzip

-z

Utiliser un tunnel ssh


Fonctionner en mode mise jour
(n'crase pas les fichiers plus rcents)

Version 2.0 2004


fmicaux@actilis.net

-e ssh
-u

76/270

Linux Administration systme


Installation, Administration, Intgration

Un exemple concret en exploitation


Sauvegarde distance per dessus deux lignes ADSL
Sauvegarder sur le disque de la machine moorea les donnes des rpertoires utilisateurs
(

d'Actilis, stocks sur le serveur de fichiers d'Actilis, que moorea sait joindre par le nom
actilis.net via Internet, mais exclusivement en ssh.

Le script cot moorea :


)

[fmicaux@moorea fmicaux]$ cat /usr/local/bin/sauvegarde-serveur.sh


#!/bin/bash
LISTE="/home/sthetiot /home/bgoapper /home/dnguyen /home/fmicaux /actilis"
echo ===== Debut des sauvegardes
for rep in $LISTE ; do
echo "Repertoire ...... $rep : debut a `date +%T`"
# RSYNC pour le mirroir
cd $rep/..
rsync -avu -P --delete --delete-after \
--exclude '*.tar*' --exclude '*cache*' \
-e ssh root@actilis.net:$rep .
echo "Repertoire ...... $rep : fin a `date +%T`"
done
echo ===== Fin des sauvegardes

Cot actilis.net , le serveur accepte les connexions ssh provenant de l'adresse ADSL de
0

moorea , situe 6 km des locaux d'Actilis.

Version 2.0 2004


fmicaux@actilis.net

77/270

Linux Administration systme


Installation, Administration, Intgration

La Sauvegarde Par dd
La commande dd sert copier des blocs physiques d'un support en les
convertissant vers un autre support.
Proprits
Copie tous les blocs, mme ceux inutiliss
1

Ne gre pas les blocs dfectueux


2

Mono volume
3

Arguments du type mot_cl=valeur


4

Options
if=fichier, si pas prcis, alors cest stdin
5

of=fichier, si pas prcis, alors cest stdout


6

bs=taille des blocs


7

skip=nombre de blocs sauts (ignors) en entre


8

seek=nombre de blocs sauts en sortie


count=nombre de blocs copis

9
@

Version 2.0 2004


fmicaux@actilis.net

78/270

Linux Administration systme


Installation, Administration, Intgration

Quelques utilisations de dd
Exemples :
Sauvegarde du MBR
A

dd if=/dev/hda

of=MBR.bak bs=512 count=1

Autre exemple :
Sauvegarde de la partition Windows (hda1) dans /home, en cas d'attaque de virus ou de
B

corruption inexplique de la base de registres...


dd if=/dev/hda1 | gzip -9 > /home/win-xp.dd.gz

Restauration en cas de crash de Windows


C

zcat /home/win-xp.dd.gz | dd of=/dev/hda1

Note : cette faon de faire des sauvegardes est oprationnelle mais est moins
performante qu'un logiciel comme partimage .

Version 2.0 2004


fmicaux@actilis.net

79/270

Linux Administration systme


Installation, Administration, Intgration

La sauvegarde incrmentale
La sauvegarde incrmentale : dump
u : mmorise les paramtres dans /etc/dumpdates
D

n : (0- 9) spcifie le niveau de sauvegarde


E

f : spcifie le fichier support de sauvegarde


F

Exemples
dump 0f /dev/tape : sauvegarde totale sur bande (fin de semaine)
G

dump 1uf /dev/tape : sauvegarde de niveau 1 (tous les soirs)


Tout ce qui a t modifi depuis la dernire sauvegarde de niveau 1 est sauvegard. Les dates des

H
I

fichiers sauvegards sont stockes dans /etc/dumpdates

La restauration : restore
t :visualise le contenu dune sauvegarde dump
Ces commandes ne sont pas installes par dfaut sur la plupart des distributions.

Version 2.0 2004


fmicaux@actilis.net

80/270

Linux Administration systme


Installation, Administration, Intgration

Les Bandes
Format dune bande
Les fichiers (enregistrements) sont stocks les uns la suite des autres
P

Ils sont spars par une marque EOF


Q

La fin du jeu de sauvegarde est marque par un EOM (double EOF)


R

Les priphriques bande sont accds en mode caractre


S

La commande mt
Permet de se positionner sur la bande
T

Permet un droulement et un rembobinage complet


U

Permet de spcifier la taille des blocs


V

Le nom gnrique des lecteurs de bandes SCSI : /dev/?stXY


Avec rembobinage implicite : /dev/st*
W

Sans rembobinage : /dev/nst*


X

Le premier lecteur s'appelle st0 (nst0), le secont st1 (nst1), etc..


Y

Du point de vue noyau et priphrique


Les lecteurs de bande SCSI ont un majeur de 9,
`

Le mineur dcrit le lecteur (st0 = 0, st1 = 1, nst0 = 128, nst1 =129)


a

Le mineur < 128 est rserv pour les priphrique avec rembobinage
Le mineur > 128 correspond aux priphriques sans rembobinage

b
c

Frquemment, on choisit un mode et on cre un lien symbolique


ln

/dev/st0

Version 2.0 2004


fmicaux@actilis.net

/dev/tape

81/270

Linux Administration systme


Installation, Administration, Intgration

TP - Les sauvegardes
Exercice 1
Faire, grce tar, une archive compresse par gzip de lensemble des rpertoires dont le nom
d

commence par user suivi dune lettre se trouvant dans /home. Nommer le fichier darchive
users-az.tar.gz et le stocker dans /tmp.
Attention, cette archive devra pouvoir tre utilise pour recrer larborescence dans un autre
e

rpertoire sans recrer le rpertoire home.

Exercice 2
Mme exercice que le prcdent, mais par cpio et en prenant en compte les rpertoires des
f

utilisateurs user suivi dun numrique. Nous souhaitons aussi que larchive soit compresse
par gzip. Cette archive devra tre stocke dans /tmp et tre nomme user-n.cpio.gz.

Exercice 3
Restaurer, dans /testfs, le contenu de larchive users-az.tar.gz.
g

Restaurer, dans /testfs, le contenu de larchive users-n.cpio.gz.


h

Exercice 4
Tlcharger le partimage.tar.gz sur le serveur de linstructeur
i

Installer-le sans la prise en charge du SSL


Sauvegarder grce partimage , le rpertoire /testfs de votre voisin dans votre /backup

p
q

Version 2.0 2004


fmicaux@actilis.net

82/270

Linux Administration systme


Installation, Administration, Intgration

TP avec instructions
Exercice 1
Faire, grce tar, une archive compresse par gzip de lensemble des rpertoires dont le nom
r

commence par user suivi dune lettre se trouvant dans /home. Nommer le fichier darchive
users-az.tar.gz et le stocker dans /tmp.
cd /home;

tar

czvf

/tmp/users-az.tar.gz

user[a-z]

Exercice 2
Mme exercice que le prcdent, mais par cpio et en prenant en compte les rpertoires des
s

utilisateurs user suivi dun numrique. Nous souhaitons aussi que larchive soit compresse
par gzip. Cette archive devra tre stocke dans /tmp et tre nomme user-n.cpio.gz.
cd /home; find

user[0-9] | cpio

-ova | gzip

>

/tmp/users-n.cpio.gz

Exercice 3
Restaurer, dans /testfs, le contenu de larchive users-az.tar.gz.
t

cd

/testfs ; tar

xzvf

users-az.tar.gz

Restaurer, dans /testfs, le contenu de larchive users-n.cpio.gz.


u

cd /testfs; zcat

Version 2.0 2004


fmicaux@actilis.net

/tmp/users-n.cpio.gz | cpio

-iv

83/270

Linux Administration systme


Installation, Administration, Intgration

Exercice 4
Tlcharger le partimage-0.6.2 .tar.bz2 sur le serveur de linstructeur
v

Installer-le sans la prise en charge du SSL


w

tar xjvf partimage-0.6.2.tar.bz2


cd partimage-0.6.2
./configure disable-ssl

Sauvegarder grce partimage , le rpertoire /testfs de votre voisin dans votre /backup
x

adduser partimag
passwd partimag
mkdir /backup
chown partimag /backup
mkdir /usr/local/etc/partimaged
echo partimag >> /usr/local/etc/partimaged/partimagedusers
chown partimag:partimag >> /usr/local/etc/partimaged/partimagedusers
chmod 600
/usr/local/etc/partimaged/partimagedusers

Version 2.0 2004


fmicaux@actilis.net

84/270

Linux Administration systme


Installation, Administration, Intgration

Les disques
Thmes du module
Les disques physiques
y

Les partitions

Le RAID, LVM, Le swap

Commandes (20)

fdisk, cfdisk
mkraid, raidstart, raidstop
pvcreate, pvdisplay, vgcreate, vgdisplay,
vgchange, vgremove, vgextend, vgreduce,
lvcreate, lvremove, lvextend, e2fsadm
mkswap, swapon, swapoff

Objectifs
A lissue de ce chapitre, le participant pourra:

Ajouter un nouveau disque

Amliorer les performances dun disque

Mettre en uvre le RAID logiciel

Mettre en uvre le LVM


Mettre en uvre un swap secondaire

Version 2.0 2004


fmicaux@actilis.net

85/270

Linux Administration systme


Installation, Administration, Intgration

Les Disques Physiques


Linterface IDE : lvolution des standards
IDE (ATA : AT-Attachment), EIDE (ATA-2), UDMA

ATAPI : ATA Packet Interface (cdrom / DAT dits IDE)

Aujourdhui : 4 priphriques IDE maxi

Gre par le BIOS de lordinateur, charge le processeur

Linterface SCSI
Disques, Bandes, lecteurs cdrom

Notion dId : un identifiant par priphrique + 1 pour la carte

Gre par son propre BIOS


Evolution : SCSI, SCSI-2, Wide SCSI, Ultra Wide SCSI, U160

Version 2.0 2004


fmicaux@actilis.net

86/270

Linux Administration systme


Installation, Administration, Intgration

Les Disques de Linux


Les disques dun systme Linux
Quasiment uniquement accds en mode bloc pas de Raw Device physique, mais mul (noyau

2.4)

Noms des disques


IDE : /dev/hd? :
2 interfaces sur un PC pentium ou + si contrleur supplmentaire.
2 disques par interface,

SCSI : /dev/sd? : 7 ou 14 disques par interface


e

RAID LOGICIEL (noyau) : /dev/md? : 8 devices raid possibles


f

Les partitions
IDE : 63 partitions par disque
g

SCSI : 15 partitions par disque


h

Nommage
IDE : /dev/hd?n
SCSI : /dev/sd?n

i
j

Version 2.0 2004


fmicaux@actilis.net

87/270

Linux Administration systme


Installation, Administration, Intgration

Le partitionnement
4 partitions physiques (primaires) par disque sur PC
Partition tendue (une des 4 primaires)
k

Pour remdier la limite de 4 partitions physiques


l

Cohabitation possible avec partitions physiques


m

Possibilit dautant de partitions logiques que ncessaire


n

Dans le respect des limitations SCSI (16) / IDE (63)


o

Partitions logiques numrotes partir de 5


p

La partition tendue compte pour une partition.


q

Les outils de partitionnement


La commande fdisk (le standard)
r

La commande cfdisk (cre de belles tables de partitions)


Les autres : disk druid (graphique, lors de linstallation RedHat)

s
t

Version 2.0 2004


fmicaux@actilis.net

88/270

Linux Administration systme


Installation, Administration, Intgration

Ajout Dun Disque


Plusieurs tapes
1 - Connecter le disque
2 - Ajouter le pilote au noyau si ncessaire : chargement du module
Recompiler le noyau,
ou charger le module : insmod, modprobe

u
v

3 - Partitionner : fdisk, cfdisk, etc. (doit tre suivi dun reboot)


4 - Crer un FS : mkfs
5 - Crer un point daccueil (point de montage) : mkdir
6 - Monter le filesystem : mount
7 - Automatiser le montage : diter /etc/fstab

Version 2.0 2004


fmicaux@actilis.net

89/270

Linux Administration systme


Installation, Administration, Intgration

Le Raid Logiciel sous Linux


Notion de miroir, Data Stripping
Miroir = duplication des critures
w

Data Stripping = segments squentiels de donnes


x

Disques RAID
Gestion logicielle (doit tre active dans le noyau)
y

Gestion matrielle (contrleurs RAID)


z

Gestion matrielle est plus performante


{

RAID Logiciel :
Les devices RAID sont priphriques de type bloc (comme les partitions de disques), de nom
|

/dev/md*
Configur par le fichier /etc/raidtab, le support du RAID est simple implmenter et maintenir
La configuration est faisable par webmin, y compris distance

}
~

La rparation sur incident (migration vers de nouveaux disques) est elle aussi aise,
et se fait, comme pour une carte RAID, en arrire plan, nempchant pas (ou peu) la
continuit de service.

Version 2.0 2004


fmicaux@actilis.net

90/270

Linux Administration systme


Installation, Administration, Intgration

RAID Logiciel sous Linux : mise en oeuvre


1 - Configurer les devices RAID : le fichier /etc/raidtab
Exemple : une partition logique RAID1 avec 2 disques IDE


raiddev /dev/md0
raid-level
nr-raid-disks
chunk-size
device
raid-disk
device
raid-disk

1
2
8
/dev/hdb1
0
/dev/hdc1
1

Les partitions hdb1 et hdc1 doivent tre de type LINUX RAID (0xfd).
Il faut auparavant les crer grce fdisk.

On modifie leur type grce la commande t de fdisk.

2 - Crer la partition RAID : mkraid


mkraid /dev/md0

3 - Utilisation
On utilise un priphrique RAID comme une partition disque normale.

Exemple :
mkfs.ext3

Version 2.0 2004


fmicaux@actilis.net

/dev/md0 ; mkdir /mnt/raid; mount /dev/md0 /mnt/raid

91/270

Linux Administration systme


Installation, Administration, Intgration

RAID Logiciel : maintenance


Arrt et dmarrage du support RAID
Il est automatis partir du moment o le fichier /etc/raidtab existe (grce aux scripts de

dmarrage).
Ces scripts excutent la commande raidstart pour dmarrer le RAID, et raidstop pour larrter.

Maintenance et rcupration dincidents


Lorsquune panne se produit sur un des disques, le systme continue fonctionner grce aux

disques restant, cest le rle du RAID (1, 4, et 5).


En RAID 0 (agrgation), il y a perte de donnes.

Lorsque le disque de remplacement est install, il faut :


partitionner (en utilisant fdisk, et le type 0xfd)

dclencher la migration des donnes vers le disque de remplacement.

raidhotadd dev/md0 /dev/hdaxx

Cela reconstruit en tche de fond la copie des donnes et la progression est visualisable grce

/proc, par le pseudo fichier mdstat.

Exemple :
cat /proc/mdstat

Note : On prend garde laisser se terminer le processus de reconstruction (pas de reboot

immdiat), sans quoi il faudra le recommencer aprs le prochain reboot.

Les donnes ne sont pas perdues.

Version 2.0 2004


fmicaux@actilis.net

92/270

Linux Administration systme


Installation, Administration, Intgration

Logical Volume Manager


LVM est

intgr dans le noyau 2.4.3 et suprieurs.

LVM consiste faire abstraction de laspect physique des disques.


Toutes les distributions ne fournissent pas forcment les outils de gestion (packakge lvm-*.rpm).

On cre des Volumes Groups, dans lesquels sinscrivent des disques.

On dcoupe de manire logique ces Volumes Groups, ce qui donne naissance des Logical

Volumes.
Un Logical Volume sutilise comme une partition classique dun disque, mais peut tre tendu

dynamiquement.

Dfinitions
Ces quelques termes font partie du langage utilis dans LVM
Volume Group (VG) : macro unit, cest un regroupement Volumes Physiques (partitions

physiques)
Volume Logique (LV) : quivalent dune partition logique. Peut contenir un FS, cest un block

device
Ensemble Logique (LE) : Division logique dun LV (Logical Extent), une sorte de gros bloc

Volume Physique (PV) : unit physique (un disque, une partition dun disque, ou un volume

RAID)
Ensemble Physique (PE) : Division logique dun PV (Physical Extent), identique en taille un

LE

Version 2.0 2004


fmicaux@actilis.net

93/270

Linux Administration systme


Installation, Administration, Intgration

Schma dun systme LVM

Version 2.0 2004


fmicaux@actilis.net

94/270

Linux Administration systme


Installation, Administration, Intgration

Logical Volume Manager : Mise en oeuvre


1- Crer une partition de type 0x8e dans fdisk.
2- Crer le fichier de configuration et le rpertoire du Volume Group :
vgscan

3 - Initialiser un Physical Volume :


pvcreate /dev/hdb1

4 - Crer un Volume Group contenant les PV :


vgcreate mon_vg /dev/hdb1 /dev/hdc1

Pour supprimer un Volume Group :

vgremove mon_vg

Pour Lister un Volume Group :

vgdisplay mon_vg

Version 2.0 2004


fmicaux@actilis.net

95/270

Linux Administration systme


Installation, Administration, Intgration

5 - Activer le Volume Group :


vgchange a y mon_vg

Pour dsactiver un Volume Group :

vgchange a n mon_vg

Pour ajouter postriori un PV un VG :


vgextend mon_vg /dev/hdd1

Pour enlever un PV dun VG :


Vrifier quil nest pas utilis :

pvdisplay /dev/hdd1

Si OK, alors

vgreduce mon_vg /dev/hdd1

Version 2.0 2004


fmicaux@actilis.net

96/270

Linux Administration systme


Installation, Administration, Intgration

Logical Volume Manager : Mise en uvre (suite)


6 - Crer un Logical Volume :
lvcreate L 1500 n lv1 mon_vg

Cre un LV de 1500 Mo, et cre aussi le fichier spcial /dev/mon_vg/lv1 (de type block)

Pour supprimer un Logical Volume :


Le dmonter :

umount /dev/mon_vg/lv1

Le supprimer :

lvremove /dev/mon_vg/lv1

Version 2.0 2004


fmicaux@actilis.net

97/270

Linux Administration systme


Installation, Administration, Intgration

LVM : Maintenance
Pour tendre un Logical Volume :
lvextend L10G /dev/mon_vg/lv1

Extension 10 Go

Ou alors :
lvextend L +4G /dev/mon_vg/lv1

Augmente la taille de 4 Go

Etendre ensuite le systme de fichiers :


Dmonter le Systme de fichiers :

umount /dev/mon_vg/lv1

Le redimensionner :

resize2fs /dev/mon_vg/lv1

Le remonter :

mount /dev/mon_vg/lv1 /home

Note : La commande e2fsadm fait en une passe le lvextend et le resize2fs

Version 2.0 2004


fmicaux@actilis.net

98/270

Linux Administration systme


Installation, Administration, Intgration

Le swap
Rle
Cest une zone dchange avec la mmoire RAM, stocke sur disque
Swap primaire : obligatoire ds linstallation

Partition ddie
Activ au dmarrage par le noyau
Avant le noyau 2.1 : limit 127 Mo (version 0)

Depuis le noyau 2.1 : limit 2 Go (processeurs Intel) (version 1)

Swap secondaire
Localisation au choix
Sur partition ddie
Dans un fichier dune partition non ddie : moins performant, mais peut rendre un grand service

pour grer une urgence

Version 2.0 2004


fmicaux@actilis.net

99/270

Linux Administration systme


Installation, Administration, Intgration

Le swap : mise en oeuvre


Mthode
Dans une partition
Crer la partition (fdisk, cfdisk), de type LINUX SWAP (0x82)

Dans un fichier
Crer le fichier

dd if=/dev/zero of=/var/fic1.swap bs=1024 count=XXXX

Positionner le droit RW pour root uniquement

chmod 600

Le swap primaire est toujours dans une partition ddie. Lorsque l'on souhaite ajouter
du swap, cela peut tre ralis dans une autre partition ou un fichier ddi.

Version 2.0 2004


fmicaux@actilis.net

100/270

Linux Administration systme


Installation, Administration, Intgration

Tronc commun
Crer le swap :
mkswap

/var/fic1.swap

Mettre jour le super bloc :


sync

Activer le swap :
swapon

/var/fic1.swap

Informations sur le swap


Accessibles globalement par la commande free
Les dtails dans /proc/swaps. Pour les visualiser :
cat /proc/swaps

Dsactivation du swap :
swapoff

/var/fic1.swap

Version 2.0 2004


fmicaux@actilis.net

101/270

Linux Administration systme


Installation, Administration, Intgration

TP : Les disques Physiques et logiques


Exercice 1
A laide de la commande fdisk, crer 3 partitions de 500 Mo.

Les deux secondes devront avoir le type Autodetection RAID (fd).

Exercice 2
Dmarrer un Multiple Device (/dev/md0) de type RAID1 reposant sur les deux partitions

restantes
Crer un systme de fichiers sur ce priphrique.

Monter le systme de fichiers, ajouter ce nouveau systme de fichiers dans /etc/fstab.

Exercice 3
Crer un systme LVM ave 3 PVs de 500 Mo, 1000 Mo et 2000 Mo.

Crer dans le VG, 1 partition de 700 Mo, 1 de 1200 en ext3.


Etendre la premire LV de 500 Mo

Version 2.0 2004


fmicaux@actilis.net

102/270

Linux Administration systme


Installation, Administration, Intgration

TP avec instructions
Exercice 1
A laide de la commande fdisk, crer 3 partitions de 500 Mo

Les deux secondes devront avoir le type Autodetection RAID (fd).

fdisk /dev/hda
n pour crer une nouvelle partition (New)
l pour choisir une partition logique
9 un numro pour indiquer le numro de la partition
+500M pour indiquer une taille de 500 Mo
t pour choisir un type de filesystem
fd pour choisir le type RAID

Faites p chaque commande principale afin de visualiser les effets.

Faites w pour crire la nouvelle table des partitions


Redmarrer la machine.

Version 2.0 2004


fmicaux@actilis.net

103/270

Linux Administration systme


Installation, Administration, Intgration

Exercice 2
Dmarrer un Multiple Device (/dev/md0) de type RAID1

Crer /etc/raidtab

raiddev /dev/md0
raid-level
nr-raid-disks
chunk-size
8
device
raid-disk
device
raid-disk

1
2
/dev/hda9 # La premire partition RAID cre
0
/dev/hda10 # La deuxime partition RAID cre
1

Crer le disque RAID

mkraid

/dev/md0

Crer un systme de fichiers sur ce priphrique.

mkfs.ext3

/dev/md0

Monter le systme de fichiers, ajouter ce nouveau systme de fichiers dans /etc/fstab.

mkdir

/mnt/raid; mount t ext3

/dev/md0

/mnt/raid

Dans /etc/fstab, insrer :

/dev/md0

Version 2.0 2004


fmicaux@actilis.net

/mnt/raid

ext3

defaults

104/270

Linux Administration systme


Installation, Administration, Intgration

Exercice 3
Crer un systme LVM ave 3 PVs de 500 Mo, 1000 Mo et 2000 Mo.

Crer les 3 partitions avec :

fdisk

/dev/hda

Rebooter pour obtenir la nouvelle table des partitions

rpm ivh lvm-1.0.3-4.i386.rpm


vgscan
pvcreate
/dev/hda11 /dev/hda12
/dev/hda13
vgcreate mon_VG /dev/hda11
/dev/hda12 /dev/hda13

Crer dans le VG, 1 partition de 700 Mo, 1 de 1200 en ext3.

lvcreate -L 700 n lv1


lvcreate -L 1200 n lv2

mon_VG
mon_VG

Etendre la premire LV de 500 Mo

e2fsadm

Version 2.0 2004


fmicaux@actilis.net

-L +500

/dev/mon_VG/lv1

105/270

Linux Administration systme


Installation, Administration, Intgration

Les Systmes de fichiers


Thmes du module
Notion de file system

Montage, dmontage

Gestion des Filesystems

Les quotas

Commandes (21)

df, badblocks, mkfs, fsck, debugfs, fuser,


mke2fs, tune2fs, resize2fs, e2label, e2fsck, dumpe2fs,
mount, umount
edquota, quotacheck, quotaon, quotaoff, convertquota,

quota, repquota
Objectifs
Formater et utiliser des diverses partitions

Choisir un systme de fichiers en adquation avec ses besoins

Grer et maintenir un systme de fichier

Accder automatiquement aux partitions


Mettre en uvre des quotas

Version 2.0 2004


fmicaux@actilis.net

106/270

Linux Administration systme


Installation, Administration, Intgration

Arborescence Et Systmes De Fichiers


Dfinitions
La structure daccueil dune arborescence de fichiers sappelle un file system (FS)
Les utilisateurs ne voient quune arborescence quelque soit le type de FS qui
lhberge
Chaque FS est stock sur une partition logique ou physique dun disque ou depuis le
noyau 2.4 un volume logique ou un volume multiple (RAID)
Un FS doit tre mont pour tre utilisable
Un seul FS de base est ncessaire : il est alors mont sur /
Chaque FS a un point de montage, unique un instant T
Plusieurs FS sont recommands.

Version 2.0 2004


fmicaux@actilis.net

107/270

Linux Administration systme


Installation, Administration, Intgration

Arborescence Et Systmes De Fichiers


Pourquoi plusieurs FS
Cest une obligation si plusieurs disques sont utiliss (hors RAID et LVM)

Cest une obligation pour les disques amovibles

La scurit est accrue

Les performances sont accrues : la fragmentation est rduite

Pour cloisonner lespace disque


Facilit pour crer des disques miroirs :
Des partitions de tailles identiques permettent des FS identiques
Quelques exemples : ( / , /usr, /home, /tmp, /usr/man, /var, /var/log, /var/spool)

Version 2.0 2004


fmicaux@actilis.net

108/270

Linux Administration systme


Installation, Administration, Intgration

Les Diffrents Types De Systmes De Fichiers


Ncessit dun Systme de fichiers propre Linux
minix fut le premier FS utilis par Linux
Limit 64 Mo

Une alternative : sysv (s5) , le FS dUnix system V :


Unit dallocation de 1 ko : fragmentation des gros fichiers

Blocs de gestion du FS en dbut de disque : A/R des ttes

1992 : VFS : un grand pas pour Linux


Linterface VFS permet de sadapter diffrents types de FS

Naissance de ext , le premier FS propre Linux


Gre les noms longs (jusqu 255 caractres)
Partitions de 2 Go, mais performances dgrades sur de grosses partitions

Version 2.0 2004


fmicaux@actilis.net

109/270

Linux Administration systme


Installation, Administration, Intgration

Les Diffrents Types De Systmes De Fichiers


Ext2 : le FS standard du systme Linux
Plusieurs copies du super bloc (informations de gestion du FS)

Taille variable du bloc, dtermine la cration : 1, 2, ou 4 Ko

Division des blocs en groupes de blocs

Fragmentation des blocs prvue mais pas implmente

Lien symbolique rapide (de taille < 64 octets) est stock dans linode et ne consomme pas de

bloc de donnes
Comptage des montages et dmontages pour excuter fsck prventif automatique.

Taille maximale dun fichier limite 2 To avec une taille de bloc de 4 Ko.

Quelques autres FS connus par Linux :


Fat16 , vfat , ntfs , smb , nfs , iso9660

Et
ReiserFS, ext3, JFS, XFS : systmes de fichiers journaliss disponibles depuis le noyau 2.4
ReiserFS tait dj disponible en version exprimentale pour le noyau 2.2.

Version 2.0 2004


fmicaux@actilis.net

110/270

Linux Administration systme


Installation, Administration, Intgration

La Gestion De Lespace Disque


Occupation des systmes de fichiers
df

Affiche les informations lies lespace utilis, lespace libre, le taux de remplissage, de chaque

FS mont. Gre aussi les FS rseau.

Options :
-i : informations lies aux inodes

-k : affichage en Ko (par dfaut)

-t : prcise le type de FS

Volumtrie d'une arborescence


du

Liste une arborescence, donne des indications sur sa volumtrie

Options :
-s : total uniquement

-k : affichage en Ko (par dfaut)

POSIXLY_CORRECT
Affichages en blocs de 512 octets si elle est dfinie
Sa valeur est libre mais 512 est "parlant"
Par dfaut, sous Linux, les commandes fonctionnent par blocs de 1Ko.

Version 2.0 2004


fmicaux@actilis.net

111/270

Linux Administration systme


Installation, Administration, Intgration

Commandes De Gestion Des FS


Recherche des secteurs dfectueux
badblocks

La commande badblocks peut tre utilise avant mkfs . Le but est dindiquer mkfs

les blocs dfectueux, pour que la cration du FS en tienne compte.


Elle sait gnrer un fichier rfrenant les secteurs dfectueux.

Crer un FS
mkfs

Les seuls paramtres "obligatoires" sont

Nom du disque concern (partition ou disquette)

Type de FS crer (par dfaut ext2)

Taille du FS crer (dduite de la taille de la partition ou du support)

Elle peut utiliser et tenir compte dun fichier rfrenant les secteurs dfectueux.

Vrifier un FS
fsck

vrifie un FS, et corrige (tente de corriger) les problmes ventuels

Paramtre obligatoire :
Nom du disque concern

Version 2.0 2004


fmicaux@actilis.net

112/270

Linux Administration systme


Installation, Administration, Intgration

Commandes propres ext2


Cration dun FS de type ext2 : mke2fs ou mkfs.ext2
Les deux commandes sont des liens vers le mme inode

Pour crer un FS de type ext3 : (option -j, car ext3 = ext2 journalis).

mke2fs -j

Paramtrage du FS ext2 : tune2fs


Permet de positionner, a posteriori, des options sur un FS

Exemples :
migration de ext2 vers ext3

tune2fs

/dev/hdX

Migration de ext3 vers ext2

tune2fs -O ^has_journal /dev/hdX


rm f .journal

Redimensionnement dun FS ext2 : resize2fs


S il n'occupait pas toute la partition (utile avec LVM, par exemple)
Positionner ou lire un label sur une partition
e2label

Version 2.0 2004


fmicaux@actilis.net

113/270

Linux Administration systme


Installation, Administration, Intgration

Commandes de rparation
Vrifier un systme de fichiers
e2fsck y

/dev/hdXn

ou
fsck.ext2 -y /dev/hdXn

S'informer sur le super-bloc et les groupes de blocs


dumpe2fs

Effectuer des manipulations de structure) sur un FS


debugfs

Commandes propres msdos (FAT16)


Cration dun FS de type msdos :

mkfs.msdos

Version 2.0 2004


fmicaux@actilis.net

mkfs t msdos

114/270

Linux Administration systme


Installation, Administration, Intgration

Montage des systmes de fichiers


Montage : mount
Attache la racine de larbre dun FS un rpertoire existant

Ce rpertoire sappelle le point de montage

Loption -o permet de passer des options de montage (ro, rw, remount, usrquota, grpquota,

etc..)

Dmontage : umount
Suppression du lien entre le point de montage et le FS

Point de montage non vide au moment du montage :


Les fichiers sy trouvant sont cachs au moment du montage,

Ils seront de nouveau visibles lors du dmontage

fuser : identifie les processus utilisant un fichier


donc le FS qui lhberge
peut envoyer le signal KILL aux processus concerns

Version 2.0 2004


fmicaux@actilis.net

115/270

Linux Administration systme


Installation, Administration, Intgration

Rfrence du systme de fichiers principal


C'est le chargeur de dmarrage qui indique la partitoon root ( / )
Soit dans /etc/lilo.conf

Soit dans /etc/grub.conf (ou /boot/grub/menu.lst)

A dfaut, on peut l'enregistrer dans le noyau

Exemple :

rdev /dev/hda1

Cela doit tre indiqu au noyau pour qu'il puisse trouver /sbin/init et /etc/inittab au dmarrage.

On a donc intrt ne pas crer sur des systmes de fichiers spcifiques /sbin ni /etc.

Table des FS connus par le systme :


L'administrateur doit les renseigner dans /etc/fstab
Ce fichier liste un systme de fichiers par ligne qu'il contient.

Version 2.0 2004


fmicaux@actilis.net

116/270

Linux Administration systme


Installation, Administration, Intgration

Le fichier /etc/fstab
Le fichier /etc/fstab contient la liste des FS connus par le systme
Ce fichier contient une ligne par FS


Chaque ligne contient 6 champs


Priphrique (exemple : /dev/hda3)


Point de montage (exemple : /usr)




Type de FS (exemple : ext2)




Options de montage (exemple : defaults,usrquota,grpquota)




Inclusion pour les sauvegardes incrmentales par dump (0 ou 1)


Niveau de contrle automatique au dmarrage du systme (0, 1, ou 2)




Exemple :
LABEL=/
LABEL=/data
none
none
none
none
/dev/hda3
/dev/cdrom
/dev/fd0

Version 2.0 2004


fmicaux@actilis.net

/
/data
/dev/pts
/proc
/dev/shm
/tmp
swap
/mnt/cdrom
/mnt/floppy

ext3
defaults
1 1
ext3
defaults,usrquota
1 2
devpts gid=5,mode=620 0 0
proc
defaults
0 0
tmpfs
defaults
0 0
tmpfs
defaults,size=256M
0 0
swap
defaults
0 0
udf,iso9660 noauto,owner,kudzu,ro 0 0
auto
noauto,owner,kudzu 0 0

117/270

Linux Administration systme


Installation, Administration, Intgration

Montage et dmontage automatique


Il est effectu lors du boot
C'est un des rles du script rc.sysinit (ou rcS sous Debian)


Il effectue un montage automatique des systmes de fichiers




Montage automatique de tous les FS automontables :


mount a

Dmontage automatique de tous les FS dmontables :


!

umount a

Seuls ceux qui n'ont pas l'option noauto sont concerns


"

Version 2.0 2004


fmicaux@actilis.net

118/270

Linux Administration systme


Installation, Administration, Intgration

Les Quotas
Dfinitions
Le noyau doit les supporter pour que le systme puisse les grer
Cette option est active sur les noyaux standards des distributions
#

Lorsque lon recompile son noyau,


dans la rubrique Filesystems : activer l'option "Quota Support" (c'est la premire option).
$

Un quota est applicable


Un ou plusieurs FS : ils sont indpendants d'un FS l'autre
%

Un (ou plusieurs) groupe(s) et/ou un ou plusieurs utilisateur(s)


&

On ne met pas de quota en place sur le systme de fichiers principal.


'

Il y a 2 types de limite : hard et soft


La limite hard ne peut jamais tre franchie
(

La limite soft peut tre franchie, pendant un dlai de grce paramtrable


)

Au del du dlai de grce, aucun fichier ne peut tre modifi (grossir)


Le compteur de temps est rinitialis au franchissement descendant de la limite soft

0
1

Les utilisateurs peuvent tout moment consulter ltat de leur quota, et


ladministrateur dispose dun reporting global.

Version 2.0 2004


fmicaux@actilis.net

119/270

Linux Administration systme


Installation, Administration, Intgration

Mise en place de quotas


Mise en oeuvre
1 - Remonter ou monter le FS avec les options
usrquota : pour grer des quotas utilisateurs
2

grpquota : pour grer des quotas groupe


3

2 - Crer les fichiers de gestion sur la racine du FS mont


aquota.user : base de donnes des quotas de niveau utilisateur (quotacheck cu mntpoint)
4

aquota.group : base de donnes de quotas de niveau groupe (quotacheck cg mntpoint)


5

Attention : quotacheck c efface et rcre le fichiers vide .


3 - diter les quotas : grce la commande edquota
edquota t : pour le paramtrage du dlai de grce (quota soft)
6

edquota u usera : Pour du spcifique : quotas de lutilisateur usera


7

edquota g groupa : Pour du spcifique : quotas du groupe groupa


edquota p usera userb : Prototype de quota
Cette dernire option utilise les paramtres de usera pour positionner les valeurs par dfaut

8
9

des autres utilisateurs (ici userb)

Version 2.0 2004


fmicaux@actilis.net

120/270

Linux Administration systme


Installation, Administration, Intgration

Les Quotas : Mise en uvre (suite)


4 - Activer les quotas
quotaon -a : active la vrification des quotas
A

Pour dsactiver les quotas : larrt du systme


quotaoff : dsactive la vrification des quotas
B

Consultation des quotas


quota : valeurs lies lutilisateur courant (ou quota user pour spcifier un autre user)
C

repquota -a : reporting global sur tous les FS, pour tous les utilisateurs et groupes
D

Vrification des tables de quota


quotacheck : reconstruit si ncessaire les tables de quota
E

Elles ne sont pas forcment altres par le temps, mais sont trs rapidement fausses lorsque les
F

volumes changent quand la vrification des quotas est arrte.

Options usrquota et/ou grpquota


Il faut penser les insrer dans le fichier /etc/fstab pour les systmes de fichiers concerns, de
G

faon dmarrer automatiquement la gestion des quotas au prochain reboot.

Version 2.0 2004


fmicaux@actilis.net

121/270

Linux Administration systme


Installation, Administration, Intgration

Les Quotas : migration


Cohabitation de deux versions du projet quota
Conversion des fichiers
Depuis RH 7.1 et MDK 8, le package quota a chang de format. Il faut donc convertir les
H

fichiers quota.user et quota.group de lancien format lorsque lon disposait de systmes les
utilisant (RH 6.2, par exemple).
Les fichiers sont dsormais appels aquota.user et aquota.group.
I

La commande convertquota convertit les fichiers dans le nouveau format.


P

Exemple :
convertquota u /home
convertquota g /home

Lgers bugs ou particularits :


Pour pouvoir diter options des quotas, il faut vrifier que le fichier /etc/fstab est jour (options
Q

usrquota et grpquota), mme si le FS est actuellement mont avec ces options.


La commande edquota (option t) comporte un bug li au format des dlais exprims.
R

Elle peut les prsenter avec un espace entre nombres et units mais ne les comprend que sans.
S

(Ceci est rpar dans la version fournie avec RH9)


Il faut donc supprimer cet espace lorsque lon veut modifier les valeurs des dlais de grce.
T

Version 2.0 2004


fmicaux@actilis.net

122/270

Linux Administration systme


Installation, Administration, Intgration

TP - Les Systmes De Fichiers


Exercice 1
Quels sont les filesystems existant sur le ou les disques ?
U

Quels sont les filesystems automatiquement monts au dmarrage ?


V

Quels sont les filesystems actuellement monts.


W

Exercice 2
Crer une partition de 100 Mo dans lespace libre du disque dur.
X

Cela peut tre fait avec la commande fdisk .


Y

Crer un filesystem de type ext2 sur cette partition, pouvant contenir 100000 fichiers maximum.
`

Automatiser le montage de ce filesystem au prochain dmarrage.


On souhaite quil soit mont sur /testfs.

a
b

Version 2.0 2004


fmicaux@actilis.net

123/270

Linux Administration systme


Installation, Administration, Intgration

TP - Les Systmes De Fichiers : suite


Exercice 3
Ce TP a pour but la mise en uvre de quotas sur le filesystem mont sur /testfs.
c

Nous allons mettre en uvre des quotas utilisateurs et groupe.


d

Limites Soft
Chaque utilisateur aura la possibilit de crer 10 fichiers, pour un volume total de 2 Mo

maxi.
Chaque groupe sera limit 100 fichiers, pour un volume total de 10 Mo.
g

Limites Hard
Pendant un dlai de grce de 15 minutes, un utilisateur ou un groupe pourra dpasser ses

quotas Soft. Les limites Hard sont :


15 fichiers et 3 Mo pour les utilisateurs,
150 fichiers et 15 Mo pour les groupes.

p
q

Etapes :
Inscription dans /etc/fstab des nouvelles options lies aux quotas pour le FS.
r

Remontage du filesystem avec les options de gestion des quota utilisateur et groupe.
s

Cration des fichiers de quota pour les utilisateurs et pour les groupes.
t

Edition des quotas.


u

Activation des quotas.


Au prochain boot, les quotas seront actifs, puisque les options dans /etc/fstab le demandent.

v
w

Version 2.0 2004


fmicaux@actilis.net

124/270

Linux Administration systme


Installation, Administration, Intgration

TP - avec instructions
Exercice 1
Quels sont les filesystems existant sur le ou les disques ?
x

fdisk l

/dev/hda

Quels sont les filesystems automatiquement monts au dmarrage ?


y

Tous les filesystems dans /etc/fstab sauf ceux avec loption noauto

Quels sont les filesystems actuellement monts.

df h ; mount; cat

/etc/mtab

Exercice 2
Crer une partition de 100 Mo dans lespace libre du disque dur.

fdisk /dev/hda

rebooter

Crer un filesystem de type ext2 sur cette partition, pouvant contenir 100000 fichiers maximum.

mke2fs

-N 100000

/dev/hdaxx

Automatiser le montage de ce filesystem au prochain dmarrage.


Dans /etc/fstab, insrer :

/dev/hdaxx

Version 2.0 2004


fmicaux@actilis.net

/testfs

ext2

defaults

125/270

Linux Administration systme


Installation, Administration, Intgration

X-Window
Thmes du module
Configuration de XFree86

Les Window Manager

XDM, startx

X-Window en rseau

Les clients lgers

Objectifs
Configurer XFree86, rsoudre les diffrents pannes du serveur X

Personnaliser son environnement graphique

Travailler en mode client/serveur

Administrer un systme distance en mode graphique


Dployer des clients lgers

Version 2.0 2004


fmicaux@actilis.net

126/270

Linux Administration systme


Installation, Administration, Intgration

Introduction
Dfinitions
X-Window est linterface graphique dUnix

XFree86 est le nom du projet de portage dX-Window sur les Unix libres

X-Window est seulement linterface graphique

Les environnements graphiques (Window Managers) sont des sur-couches de X-Window

Serveur X
X-Window est un serveur ralisant laffichage des applications clientes
Les applications que lon utilise sous X sont appels des clients

Version 2.0 2004


fmicaux@actilis.net

127/270

Linux Administration systme


Installation, Administration, Intgration

XFree86 : configuration
Configurer un serveur X
Pr-requis
Il faut au pralable installer le serveur grant votre carte video
e

Configuration du serveur X
Elle est ralise par /etc/X11/XF86Config (3.3) ou XF86Config-4 (4.x)
f

Fichier divis en plusieurs sections


g

Polices de caractres
h

Paramtres gnraux du serveur


i

Priphriques dentre (clavier, souris)


j

Affichage (carte vido, cran)


k

Pour valider la configuration


Pour dboguer, on se place en runlevel 3
l

La configuration est testable par : X -probeonly


m

Les outils intgrs


Xconfigurator (RedHat), drakXconf (Mandrake), XF86Setup (ancien)
Les outils dinstallation des distributions configure trs correctement les aspects video.

n
o

Version 2.0 2004


fmicaux@actilis.net

128/270

Linux Administration systme


Installation, Administration, Intgration

Le Window Manager
Le Window Manager (WM)
Cest lenvironnement applicatif
p

Il fonctionne par dessus X-Window


q

Choix du Window Manager par dfaut


Fichier /etc/sysconfig/desktop
r

Contient tout simplement le mot cl


KDE

GNOME
u

AnotherLevel pour les autres Window Managers (Window Maker, etc..)


v

Le Window manager intgre la boite de dialogue daccueil (mire de login)


w

Attention : pour RedHat 8.0 et +, le script xinit , qui fait le choix, a chang.
x

Il faut dsormais dans /etc/sysconfig/desktop positionner une variable supplmentaire:


DISPLAYMANAGER=KDE, ou GNOME, ou XDM.

Personnalisation
Chaque utilisateur peut choisir au login son environnement
{

Version 2.0 2004


fmicaux@actilis.net

129/270

Linux Administration systme


Installation, Administration, Intgration

Notion de Session, notion de service XDM


Notion de Session X
Notion de gestinnaire de session
En runlevel 5, c'est un serveur XDM qui lande le gestionnaire de bureau, mais on est dj sous X.
Le gestionnaire de session ( XDM ) est celui du WM par dfaut.

Lancement d'une session X


Dans les autres runlevels, on est loggu en mode console, et on doit donc lancer X, qui excutera
~

ensuite le gestionnaire de bureau.


Le script startx lance une session X avec toutes les options pour tablir le window manager


de l'utilisateur.

Le lanceur xinit
Son rle est de lancer la session X (par xinit), avec les paramtres dtermins en
fonction de choix de lutilisateur.
Les choix sont faits dans
/etc/sysconfig/desktop pour le choix du WM par dfaut
ou dans le fichier $HOME/.xinitrc des utilisateurs sils personnalisent

Dans ce dernier cas : le fichier .xinitrc doit contenir :


Pour KDE : startkde

Pour Gnome : gnome-session

Pour Windowmaker : wmaker


Pour XFCE : gnrer .xinitrc grce xfce_setup

Version 2.0 2004


fmicaux@actilis.net

130/270

Linux Administration systme


Installation, Administration, Intgration

X-Window en rseau
Notion de terminal X
Un terminal X est capable d'afficher des fentres et de grer clavier et souris. XFree86 est un terminal X .
Plusieurs projets existent pour faire de Linux un client lger
LTSP est le plus connu

Cela permet d'excuter une application


Qui sollicite le processeur et la mmoire du serveur distant

Qui affiche ses fentres sur votre propre cran

L'intrt est norme du point de vue administration des postes clients

En cours de session locale, Il faut :


Autoriser localement le distant ouvrir des fentres chez vous
Cela se fait grce la commande xhost.

xhost + , xhost @IP, xhost

xhost +

Se connecter sur la machine distante (telnet, rlogin, ssh, etc.)

R-orienter laffichage dans votre session distante


Dfinir dans lenvironnement distant la variable DISPLAY

export DISPLAY=votre_@IP:0.0

Lancer lapplication

Version 2.0 2004


fmicaux@actilis.net

131/270

Linux Administration systme


Installation, Administration, Intgration

X-Window en rseau : les clients lgers


Le client lger
Lorsqu'un client X dmarre, il pourrait...
Rechercher grce au protocole XDMCP les serveurs du rseau

En solliciter un (le plus rapide ?) pour recevoir la mire d'ouverture de session.

Ouvrir la session en utilisant les ressources CPU, mmoire, et disque du serveur...

Configurer un client lger


Il est possible de tester votre serveur XDMCP grce la commande chooser (fournie par

KDE) ou gdm-chooser fournie par Gnome.


Il suffit de prparer ce qu'il faut cot serveur, (voir page suivante)

Le client doit simplement lancer X avec l'option broadcast

/usr/X11R6/bin/X -broadcast

Le serveur X s'ouvre alors sur votre machine et recherche sur le rseau un serveur applicatif

capable de le prendre en charge.

On aurait pu fixer le serveur utiliser grce l'option -query x.y.z.t au lieu de broadcast .

Version 2.0 2004


fmicaux@actilis.net

132/270

Linux Administration systme


Installation, Administration, Intgration

Les projets relatifs aux clients lgers


Le projet Linux Terminal Server
Il permet de faire d'un poste de travail allg un client capable d'ouvrir des sessions sur des

serveurs XDM.
L'URL : www.ltsp.org

On peut aller jusqu' crer des stations de travail sans disque, capables de booter partir du

rseau.

La solution Solstice
Ralise par Solunix, socit nantaise partenaire d'Actilis.

Un vrai projet de client lger, trs administrable, et performant


Ne pas hsiter visiter www.solunix.fr/solstice/, pour vous informer sur la solution Solstice.

Version 2.0 2004


fmicaux@actilis.net

133/270

Linux Administration systme


Installation, Administration, Intgration

X-Window en rseau : mise en oeuvre du serveur


Autoriser XDMCP sur le rseau
Pour gdm (GNOME)
Dans /etc/X11/gdm/gdm.conf, section [XDMCP] => enable=1 (Gnome 1.X)
Dans /etc/X11/gdm/gdm.conf, section [XDMCP] => enable=true (Gnome 2.X)

Pour kdm (KDE) / xdm (autres Window Managers)


Dans /etc/X11/xdm/Xaccess : navoir que *

Et

Dans /usr/share/config/kdm/kdmrc, section [Xdmcp] ==> enabe=true

Dmarrer ensuite en runlevel 5 tout fait normalement


La console locale passe alors en mode graphique, et on peut ouvrir des sessions depuis les postes

de travail du rseau.

Version 2.0 2004


fmicaux@actilis.net

134/270

Linux Administration systme


Installation, Administration, Intgration

X-Window en rseau : Arrt du DISPLAY local


Application
Placer machine en runlevel 5 sans dmarrer la console graphique. Intressant pour le
cas d'un serveur centralis plac en salle blanche, pour conomiser sa propre
mmoire.
Pour raliser cela, on inhibe les displays locaux.
Pour gdm (Gnome)
dans /etc/X11/gdm/gdm.conf : [SERVERS] : commenter :0

Pour kdm (KDE), ou xdm.


dans /etc/X11/xdm/Xservers : commenter :0

Note sur les autres outls de connexion distance


Il existe d'autres solutions,
Moins performantes et diffrentes du point de vue conceptuel

Faites pour un autre usage (support technique, formation distance)


Il s'agit de solutions de prise de main distance (type pcAnywhere)
VNCserver qui permettra des clients VNC de prendre la main sur votre console

(dtournement cran/clavier/souris).
Rdesktop : qui vous permettra depuis votre station sous Linux de prendre la main sur

Windows (XP ou TSE)

Version 2.0 2004


fmicaux@actilis.net

135/270

Linux Administration systme


Installation, Administration, Intgration

TP - Configuration de X window
Exercice 1
Vrifier votre configuration de X-Window et simplifier le fichier de configuration.

Retirer les modes graphiques qui ne vous servent pas.

Exercice 2
Configurer votre station X pour que KDE soit lanc pour tout le monde, sauf usera, qui prfre

GNOME.

Exercice 3
Faire en sorte que votre machine soit en runlevel 5 et puisse accueillir des terminaux X, mais

nouvre pas de session XDM locale.


Avec KDE

Avec GNOME

Exercice 4
Avec VNC, visualiser ce que fait votre voisin en mode graphique.
Administrer distance le poste de votre voisin via un navigateur Web ayant la prise en charge de

Java

Version 2.0 2004


fmicaux@actilis.net

136/270

Linux Administration systme


Installation, Administration, Intgration

TP avec instructions
Exercice 1
Vrifier votre configuration de X-Window et la simplifier par dition du fichier de configuration.

Retirer les modes graphiques qui ne vous servent pas.

vi

/etc/X11/XF86Config-4

Retirer les lignes de type Modeline qui ne servent pas dans votre cas.
Retirer les lignes de type Devices qui ne servent pas dans votre cas.

Exercice 2
Configurer votre station X pour que KDE soit lanc pour tout le monde, sauf usera, qui prfre

GNOME.
Mettre dans /etc/sysconfig/desktop: KDE
Crer /home/usera/.xinitrc et insrer exec gnome-session

Exercice 3
Faire en sorte que votre machine soit en runlevel 5 et puisse accueillir des terminaux X, mais

nouvre pas de session XDM locale.


startx

Avec KDE

Autoriser les machines du rseau se connecter sur notre serveur :

Dans /etc/X11/xdm/Xaccess, disposer dune ligne contenant * , ou listant


les adresses IP autorises nous joindre.

Ne pas dmarrer le serveur localement :

Dans /etc/X11/xdm/Xservers : commenter la ligne relative au Display :0

Version 2.0 2004


fmicaux@actilis.net

137/270

Linux Administration systme


Installation, Administration, Intgration

Exercice 4
Avec VNC, visualiser ce que fait votre voisin en mode graphique.
Administrer distance le poste de votre voisin via un navigateur Web.

Sur le poste du voisin, lancer :


vncserver

Sur votre poste, lancer :


vncviewer

IP_du_voisin:1

Sous Netscape, lancer :


http://IP_du_voisin:5801

Version 2.0 2004


fmicaux@actilis.net

138/270

Linux Administration systme


Installation, Administration, Intgration

Lautomatisation de
tches
Thmes du module
Prsentation
Planification priodique
Les batches
Objectifs
Planifier et faire excuter une tche ponctuelle
Planifier des tches rcurrentes

Version 2.0 2004


fmicaux@actilis.net

139/270

Linux Administration systme


Installation, Administration, Intgration

Crond Et Atd : Prsentation et Rgles


Le dmon crond
Excute priodiquement des commandes soumises par la commande crontab

Le dmon atd
Excute de faon diffre de commandes soumises par la commande at

Excute ds que possible des commandes soumises par la commande batch

Gestion des autorisations


Fichiers dautorisation / interdiction explicite
Fichiers /etc/cron.allow et /etc/cron.deny

Fichiers /etc/at.allow et /etc/at.deny

Sans ces fichiers : deux rgles


Seul root est autoris (Mandrake secure )

Le fichier /etc/cron.allow et le fichier /etc/at.allow existent et ne contiennent que des

utilisateurs "avec pouvoir", c'est dire dont les UID sont infrieurs 100, mais pas les autres
utilisateurs.
Tous les utilisateurs sont autoriss (cas de la Red Hat)

Le fichier /etc/cron.allow et /etc/cron.deny n'existent pas par dfaut.

Version 2.0 2004


fmicaux@actilis.net

140/270

Linux Administration systme


Installation, Administration, Intgration

Crond Et Atd : Rgles Et Contraintes


Historique des commandes excutes
Dans le fichier /var/log/cron et /var/log/at

Environnement rduit (CRON)


Variables prsentes (CRON)

HOME, LOGNAME, SHELL, PATH (limit /bin et/usr/bin)

Choix du shell qui excute : pseudo commentaire #!

Nouvelle version de AT
Le nouveau planificateur at prend en charge lenvironnement en cours au moment de la

planification.
Celui-ci nest donc pas rduit.

Redirection des entres / sorties


Entre standard dfinir explicitement si besoin (lors de saisies automatiser, par exemple)

Sortie standard
Par dfaut, elle est expdie par mail au propritaire du processus excut.

Il faut la rediriger explicitement vers un fichier pour viter la rception du mail.

Avertissements
On peut demander at, mais pas cron, de prvenir par mail lorsque le travail a t effectu.

Version 2.0 2004


fmicaux@actilis.net

141/270

Linux Administration systme


Installation, Administration, Intgration

Crontab : Utilisation
Format dune crontab
Priodicit

Minute, Heure, Jour du mois, Mois, Jour de la semaine

Ligne de commande, qui doit comporter :


la commande excuter et ventuellement son chemin complet, car le PATH est rduit dans

CRON,
ses arguments,
les redirections de l'entre et de la sortie standard ou erreur

Exemple complet :
#Min
0

Heure
9-18

JMois Mois JoSem


*
*
1-5

#CMD
/home/usera/cmd.sh <fic_entre >output 2>err

La commande crontab
Editer sa crontab : crontab e

Lister sa crontab : crontab l

Supprimer sa crontab : crontab r

Rpertoires de stockage
Les "crontabs" sont stockes dans /var/spool/cron (ou /var/spool/cron/crontabs pour certaines

version du package cron)


Les travaux mis en file d'attente sont stocks dans /var/spool/atd (ou /var/spool/at/atjobs).
Ces rpertoires peuvent tre dfinis lors de la compilation des outils cron et at (et drivs), et

dpendent donc parfois des distributions.

Version 2.0 2004


fmicaux@actilis.net

142/270

Linux Administration systme


Installation, Administration, Intgration

La crontab systme : /etc/crontab


But
Ne pas surcharger la crontab de l'utilisateur root
Planifier aisment des tches
En copiant des commandes (ou des scripts) dans des rpertoires prcis.

Ceci est possible grce run-parts (dveloppe par Debian)

Dmarche
Les planifications sont faites dans /etc/crontab
Par dfaut, le procd met en jeu 4 rpertoires :
cron.hourly, cron.daily, cron.weekly, cron.monthly
Tout ce quils contiennent sera excut (rle de run-parts)

La commande run-parts
Excute tout fichier prsent du rpertoire pass en paramtre
Son algorithme simplifi serait si l'on voulait refaire manuellement le procd :

#------ script run-parts en 3 lignes from fmicaux


for fic in $2/*; do
su - $1 -c "$fic 2>&1" | mail -s "$2" $1
done

Il suffirait alors dans la crontab de "root", d'appeler l'heure dite quelque chose
comme :
/usr/local/bin/run-parts3lignes USER /etc/cron.daily

Version 2.0 2004


fmicaux@actilis.net

143/270

Linux Administration systme


Installation, Administration, Intgration

Le service AT : planification de batches


But
Planifier une fois l'excution dune tche
partir d'une heure prcise : file a alimente par at

au plus tt : file b alimente par batch

Ncessite que le service atd soit lanc.


La commande atq
Visualiser la file dattente des jobs

La commande atrm
Supprimer un job de la file dattente

Exemple :
[root@tetiaroa root]# at 1800
warning: commands will be executed using (in order) a) $SHELL b) login shell
c) /bin/sh
at> echo "Il est 18h00" | mail -s "Rappel" fmicaux@actilis.net
at> <EOT>
job 1 at 2003-12-04 18:00
CTRL-D
[root@tetiaroa root]# atq
1
2003-12-04 18:00 a root

Version 2.0 2004


fmicaux@actilis.net

144/270

Linux Administration systme


Installation, Administration, Intgration

TP Planification de processus
Exercice 1
Planifier pour quelle sexcute 17h30 ce jour, une tche consistant rechercher tous les fichier

*.old en vue de les lister dans le fichier /tmp/oldies.txt.

Exercice 2
Planifier, pour quelle soit excut par lutilisateur usera tous les soirs 20h00 sauf le samedi

et le dimanche, une recherche avec suppression de tous les fichiers *.bak quil possde.

Exercice 3
R-crire le procd de la crontab systme " la main", pour faire la mme chose, mais en mieux

:-)
Vider la crontab systme, crire le script /usr/local/bin/mon-run-parts
Planifier dans la crontab de root les actions suivantes :
A 0 de chaque heure, excuter le contenu du rpertoire /etc//cron.heure

A 4 h15 tous les jours : excution du contenu du rpertoire /etc/cron.soir

A 5 h15 le lundi : excution du contenu du rpertoire /etc/cron.hebdo

A 5 h 30 le 1er de chaque mois : excution du contenu du rpertoire /etc/cron.mensuel


A 0h le 1er janvier : excuter le contenu du rpertoire /etc/cron.nouvel-an

Version 2.0 2004


fmicaux@actilis.net

145/270

Linux Administration systme


Installation, Administration, Intgration

TP avec instructions
Exercice 1
Planifier pour quelle sexcute 17h30 ce jour, une tche consistant rechercher tous les fichier

*.old en vue de les lister dans le fichier /tmp/oldies.txt.


Prparer un script script.sh qui fait le traitement

find /

-name *.old

> /tmp/oldies.txt

2> /dev/null

Le lancer au travers du planificateur at (aujourdhui 17h30)

at f script.sh 17:30

Exercice 2
Planifier, pour quelle soit excut par lutilisateur usera tous les soirs 20h00 sauf le samedi

et le dimanche, une recherche avec suppression de tous les fichiers *.bak quil possde.
Prparer un script menage.sh qui fait le mnage des fichiers .bak.

find

-user usera

name *.bak -exec rm f {} \;

Le lancer au travers de CRON : diter la crontab de usera pour y insrer :

0 20 * * 1-5

Version 2.0 2004


fmicaux@actilis.net

/home/usera/menage.sh

146/270

Linux Administration systme


Installation, Administration, Intgration

Exercice 3
R-crire le procd de la crontab systme " la main", pour faire la mme chose, mais en mieux

:-)
Ecrire le script /usr/local/bin/mon-run-parts
Planifier dans la crontab de root les actions suivantes :
A 0 de chaque heure, excuter le contenu du rpertoire /etc//cron.heure

A 4 h15 tous les jours : excution du contenu du rpertoire /etc/cron.soir

A 5 h15 le lundi : excution du contenu du rpertoire /etc/cron.hebdo

A 5 h 30 le 1er de chaque mois : excution du contenu du rpertoire /etc/cron.mensuel


A 0h le 1er janvier : excuter le contenu du rpertoire /etc/cron.nouvel-an

#------ script mon_run-parts


for fic in $2/*; do
su - $1 -c "$fic 2>&1" | mail -s "$2" $1
done

En tant que root :


crontab e
0 * * * *
15 4 * * *
15 5 * * 1
30 5 1 * *
0 * 1 1 *

Version 2.0 2004


fmicaux@actilis.net

mon_run_parts
mon_run_parts
mon_run_parts
mon_run_parts
mon_run_parts

root
root
root
root
root

/etc/cron.heure
/etc/cron.soir
/etc/cron.hebdo
/etc/cron.mensuel
/etc/cron.nouvel-an

147/270

Linux Administration systme


Installation, Administration, Intgration

Larrt et le dmarrage
Thmes du module
Le dmarrage dun PC

Init et le fichier /etc/inittab

Les scripts rc

Les sessions

Larrt du systme

Objectifs
Changer le niveau dexcution par dfaut

Lancer automatiquement des services

Mettre en uvre un chargeur de boot, un systme dualboot


Eteindre proprement son systme

Version 2.0 2004


fmicaux@actilis.net

148/270

Linux Administration systme


Installation, Administration, Intgration

Le Dmarrage Dun PC
Lorganisation des disques dun PC
Pour faire cohabiter plusieurs systmes, deux solutions :
Plusieurs disques
Partitionnement d'un disque

Ces deux techniques ncessitent un moyen de dmarrer sur l'un ou l'autre des
systmes installs.
Le boot sector des disques dur
Sur chaque disque le premier secteur (appel boot sector ) est spcifique. Sa
structure est la suivante :
446 premiers octets : MBR

64 octets suivants : Table de partition (4 partitions primaires au maximum)




2 derniers octets : magic number (signature)




Soit un total de 512 octets, cela reste un secteur de disque dur :-)
Le dmarrage d'un PC
Le BIOS charge et excute le programme damorage du MBR
Pris sur le boot-sector du disque Maitre de l'interface primaire


Si il ny a pas de programme damorage sur le MBR, alors le BIOS excute celui du premier


secteur de la partition active .


C'est le cas des OS Microsoft.


Ce programme est appel le chargeur (le "loader")

Version 2.0 2004


fmicaux@actilis.net

149/270

Linux Administration systme


Installation, Administration, Intgration

Le Dmarrage Dun PC : Le chargeur


Rle du chargeur
Permettre la cohabitation de plusieurs OS, ou au moins charger un OS. C'est lui qui a
pour rle de lancer charger et excuter le noyau Linux, ou le programme d'amorage
de Windows/DOS.
Principaux chargeurs
NT loader
Recherche les OS proposer dans le fichier C:\boot.ini .


Sait lancer les Systmes DOS / Windows (tous)




Sait excuter un excutable quil trouve sur sa partition.




Ce code est forcment stock sous la forme d'un fichier visible par MS/DOS


OS Loader (Solaris)
Sait booter nimporte quel systme dexploitation, passe la main aux chargeurs des boot-blocks


de partition.

Dans le monde GNU/Linux


On parle presque uniquement de LILO et de GRUB

Dautres chargeurs existent, quils soient commerciaux ou open source, ils ont la
mme finalit.

Version 2.0 2004


fmicaux@actilis.net

150/270

Linux Administration systme


Installation, Administration, Intgration

Le Dmarrage Du Systme Linux


Pour dmarrer le noyau Linux, il y a plusieurs solutions
LILO
Le chargeur de Linux
!

Ncessite de compiler le MBR partir de son fichier de configuration lors de l'installation de


"

nouveaux paramtres

GRUB
Gnial pour son cot paramtrage dynamique lors du boot
#

Intressant car il vite la r-installation du MBR lors des modifications d'options ou de noyau
$

Avec une disquette damorage


Contient une image du noyau Linux
%

Avec une disquette de rparation ou de dmarrage personnalise


Contient un noyau et les commandes de premier soin
&

Cration par mkbootdisk tout moment (pas seulement pendant l'installation).


'

Avec lutilitaire LOADLIN.EXE


Pour dmarrer depuis MS/DOS ou Windows (sauf NT et 2000)
Servait lorsque lon souhaitait utiliser les menu-items de MS/DOS (quand on ne disposait que de

(
)

cela)

Version 2.0 2004


fmicaux@actilis.net

151/270

Linux Administration systme


Installation, Administration, Intgration

Le rle du chargeur
Il a pour but d'initialiser le noyau en lui passant quelques options :
Il dtermine s'il faut pr-charger un ramdisk initial
0

Il dtermine quel fichier noyau doit tre lanc


1

Il indique au noyau quelle est sa partition /


2

Il donne ventuellement des prcisions


Sur les drivers, pour le passage en mode maintenance, etc.

Ensuite, c'est le noyau qui prend la main, et il affiche ce qu'il vit


Dtection de la mmoire, du (des) CPU(s), des interfaces, etc..
Il excute ensuite /sbin/init.
Le processus init est donc le premier cr, et se servira du fichier /etc/inittab.

5
6

Le noyau doit pouvoir trouver la partition sur laquelle se trouve le rpertoire /sbin,
qui repose donc forcment sur / .

Version 2.0 2004


fmicaux@actilis.net

152/270

Linux Administration systme


Installation, Administration, Intgration

Les messages du noyau lors du boot


La commande dmesg , affiche les mmes messages fournis par le noyau lors de sa
vie :
Linux version 2.4.20-8 (bhcompile@porky.devel.redhat.com) (gcc version 3.2.2
20030222 (Red Hat Linux 3.2.2-5)) #1 Thu Mar 13 17:54:28 EST 2003
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 0000000000100000 - 000000001ffe2800 (usable)
BIOS-e820: 000000001ffe2800 - 0000000020000000 (reserved)
BIOS-e820: 00000000feda0000 - 00000000fee00000 (reserved)
BIOS-e820: 00000000ffb80000 - 0000000100000000 (reserved)
0MB HIGHMEM available.
511MB LOWMEM available.
On node 0 totalpages: 131042
zone(0): 4096 pages.
zone(1): 126946 pages.
zone(2): 0 pages.
Kernel command line: ro root=LABEL=/ hdb=ide-scsi
ide_setup: hdb=ide-scsi
Initializing CPU#0
Detected 1994.150 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 3971.48 BogoMIPS
Memory: 511296k/524168k available (1347k kernel code, 10308k reserved, 999k
data, 132k init, 0k highmem)
Dentry cache hash table entries: 65536 (order: 7, 524288 bytes)
Inode cache hash table entries: 32768 (order: 6, 262144 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 32768 (order: 5, 131072 bytes)
Page-cache hash table entries: 131072 (order: 7, 524288 bytes)
CPU: Trace cache: 12K uops, L1 D cache: 8K
CPU: L2 cache: 512K
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.

Version 2.0 2004


fmicaux@actilis.net

153/270

Linux Administration systme


Installation, Administration, Intgration

Le Processus init
Principe
Gre des niveaux de fonctionnement de la machine : les runlevel
Le fichier /etc/inittab lui indique ce qu'il faut lancer (commandes pour chaque niveau)
8

Un seul niveau est actif un instant T.


9

La commande "init runlevel" (ou "telinit runlevel") active ces commandes (par changement de
@

"runlevel"

Init est le premier processus activ par le noyau.


C'est le pre (lanctre) de tous les autres processus
A

A un instant T, la machine est dans un tat que l'on appelle runlevel. Il s'agit d'un niveau de
B

fonctionnement correspondant la plupart du temps une configuration prcise.


C'est le travail d'init de lancer et d'arrter les diffrents processus de chaque runlevel.
C

On connait le runlevel courant grce la commande runlevel .

Version 2.0 2004


fmicaux@actilis.net

154/270

Linux Administration systme


Installation, Administration, Intgration

Les runlevels
Sur RedHat, les runlevels sont dfinis comme ci-dessous.
0 : arrt,
D

1 : single user,
E

2 : multi user (incluant TCP/IP),


F

3 : 2 + RPC
G

4 : un ventuel 3 personnalis,
H

5 : 3 + XDM,
I

6 : 0 + reboot
P

Leur signification peut varier d'un systme l'autre, mais globalement, elle ressemble
fortement celle de RedHat. Les variations se touvent surtout pour les niveaux 2 5.
Dautres existent
7 , 8 , et 9 : libres
Q

a , b , c : libres aussi
R

S et s sont assimils des modes single user.


S

Lors d'un changement de niveau


Terminaison des processus non concerns (sauf a , b , c ), assimils des runlevels pour
T

lancer des services on-demand

Version 2.0 2004


fmicaux@actilis.net

155/270

Linux Administration systme


Installation, Administration, Intgration

Le fichier /etc/inittab
Il est compos de lignes de 4 champs spars par le caractre :
L'identifiant de ligne
U

Les niveaux concerns par la ligne (tous si le champ est vide)


V

Le mode de lancement ou l'action


La ligne de commande concerne

W
X

Extrait de fichier inittab (celui de RedHat)


# Default runlevel. The runlevels used by RHS are:
#
0 - halt (Do NOT set initdefault to this)
#
1 - Single user mode
#
2 - Multiuser, without NFS
#
3 - Full multiuser mode
#
4 - unused
#
5 - X11
#
6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
# Protection contre le "linux init=/bin/sh"
ll:S:wait:/sbin/sulogin
l0:0:wait:/etc/rc.d/rc
l1:1:wait:/etc/rc.d/rc
l2:2:wait:/etc/rc.d/rc
l3:3:wait:/etc/rc.d/rc
l4:4:wait:/etc/rc.d/rc
l5:5:wait:/etc/rc.d/rc
l6:6:wait:/etc/rc.d/rc

Version 2.0 2004


fmicaux@actilis.net

0
1
2
3
4
5
6

156/270

Linux Administration systme


Installation, Administration, Intgration

Lecture du fichier /etc/inittab


Dfinition du runlevel par dfaut
C'est la ligne contenant le mode initdefault qui indique init dans quel runlevel
on doit se positionner.
Ordre dexcution des scripts
Le premier script excut est /etc/rc.d/rc.sysinit (rcS sur Debian)
Dune distribution lautre, des diffrences apparaissent.
Son rle est nanmoins de paramtrer la machine un assez bas niveau :
PATH par dfaut

Y
`

Swap
b

Hostname
c

Vrification de / et /proc
d

Montage des FS
e

Suppression des locks


f

Setserial : paramtrage des ports srie


g

Chargement des modules


Cration de /var/log/dmesg

h
i

Version 2.0 2004


fmicaux@actilis.net

157/270

Linux Administration systme


Installation, Administration, Intgration

Les Scripts /etc/*rc*


Passage en runlevel dfini par la ligne initdefault
Init trouve ensuite une ligne correspondant au runlevel cible.
Exemple pour le runlevel 3 :
l3:3:wait:/etc/rc.d/rc 3

Cette ligne est charge d'excuter /etc/rc.d/rc X, o X est le runlevel cible.


p

Le mode wait dans lequel init lancera cette commande lui indique d'attendre sa fin avant de
q

poursuivre la lecture de /etc/inittab.

Le script rc
Grce au script rc , il y a appel des scripts de dmarrage
Celui-ci peut tre schmatis de la manire suivante
Dans le script ci-dessous : X est le runlevel cible.

r
s

# Commencer par arrter ce qui n'est plus concern


for i in /etc/rc$X.d/K*; do
$i stop
done
# Dmarrer ensuite ce qui devient concern
for i in /etc/rc$X.d/S*; do
$i start
done

Version 2.0 2004


fmicaux@actilis.net

158/270

Linux Administration systme


Installation, Administration, Intgration

Ordre des scripts de dmarrage sur RedHat


Lors du passage en runlevel 3, sur RedHat 9, les actions suivantes sont donc
excutes par rc .
Scripts d'arrt
t

[fmicaux@tetiaroa Modules]$ echo /etc/rc3.d/K*


/etc/rc3.d/K05saslauthd
/etc/rc3.d/K10lircd
/etc/rc3.d/K24irda
/etc/rc3.d/K36lisa
/etc/rc3.d/K95firstboot

/etc/rc3.d/K20nfs
/etc/rc3.d/K74ntpd

Scripts de dmarrage
u

[fmicaux@tetiaroa Modules]$ echo /etc/rc3.d/S*


/etc/rc3.d/S05kudzu
/etc/rc3.d/S08iptables
/etc/rc3.d/S09isdn
/etc/rc3.d/S10network
/etc/rc3.d/S12syslog
/etc/rc3.d/S13portmap
/etc/rc3.d/S14nfslock
/etc/rc3.d/S17keytable
/etc/rc3.d/S20random
/etc/rc3.d/S24pcmcia
/etc/rc3.d/S25netfs
/etc/rc3.d/S26apmd
/etc/rc3.d/S27ypbind
/etc/rc3.d/S28autofs
/etc/rc3.d/S56rawdevices
/etc/rc3.d/S56xinetd
/etc/rc3.d/S80postfix
/etc/rc3.d/S85gpm
/etc/rc3.d/S90crond
/etc/rc3.d/S90cups
/etc/rc3.d/S90xfs
/etc/rc3.d/S95anacron
/etc/rc3.d/S95apache
/etc/rc3.d/S95atd
/etc/rc3.d/S97rhnsd /etc/rc3.d/S99local /etc/rc3.d/S99noip

L'ordre d'excution est forcment celui de l'toile (*) et est donc dfini par affectation
de numros d'ordre chacun des scripts de dmarrage.
Ces fichiers ne sont que des liens symboliques vers les scripts du rpertoire
/etc/init.d.

Version 2.0 2004


fmicaux@actilis.net

159/270

Linux Administration systme


Installation, Administration, Intgration

Pour dclarer un nouveau service


Rdiger un script
Il doit contenir :
des fonctions start et stop au moins,
v

si possible des fonctions query, restart et reload


w

Il doit tre stock dans /etc/rc.d/init.d


Attention : les commentaires sont importants (pour lordonnancement)
En effet, ces derniers sont ignors par le shell et ne gnent donc pas l'excution du script, mais
x

RedHat fournit des outils qui en tiennent compte pour crer les liens symboliques
automatiquement.

Exemple de script de dmarrage :


#! /bin/bash
#
# Apache
Start/Stop Apache
#
# chkconfig: 2345 95 05
# description: Apache Web Server
# processname: httpd
/usr/local/apache/bin/apachectl $1
exit $?

Version 2.0 2004


fmicaux@actilis.net

160/270

Linux Administration systme


Installation, Administration, Intgration

Loutil RedHat chkconfig


Son rle consiste simplifier la gestion des liens symboliques nomms SXXnom ou
KXXnom.
Il permet les actions suivantes :
Inscrire le script dans les runlevels concerns :
y

chkconfig

--add

service

Activer le service dans certains runlevels :

chkconfig

--level XYZ

service

on

Dsactiver dans dautres runlevels :

chkconfig

--level X service off

Lister les services concerns par un runlevel :

chkconfig

--list

Supprimer les liens symboliques concernant un service

chkconfig

Version 2.0 2004


fmicaux@actilis.net

--del

service

161/270

Linux Administration systme


Installation, Administration, Intgration

Loutil RedHat ntsysv


Permet pour un ou n runlevel(s), dactiver ou de dsactiver un service

Exemple :
ntsysv

--level 345

La commande service
Permet de piloter un service (Arrt/Dmarrage) sans saisir le chemin complet d'accs son script.

Exemple :
service httpd restart

Si cette commande n'est pas prsente (propre RedHat/Mandrake), on peut l'crire ce cette

manire :
function service () {
if [ -x /etc/init.d/$1 ]; then
/etc/init.d/$1 $2
else
echo Le service $1 n\'est pas un excutable.
fi
}

Version 2.0 2004


fmicaux@actilis.net

162/270

Linux Administration systme


Installation, Administration, Intgration

Loutil Debian update-rc.d


Debian dispose d'une commande similaire chkconfig.
Cette commande n'est toutefois pas aussi pratique.
Pour activer service dans les runlevels 2,3,4,5 avec une priorit de donne :

update-rc.d service defaults 99

Pour activer service dans le runlevel 2 et dsactiver dans le 0

update-rc.d service start 99 2 . stop 99 0

Version 2.0 2004


fmicaux@actilis.net

163/270

Linux Administration systme


Installation, Administration, Intgration

Le serveur est dmarr : Les Sessions


Connexion une console locale
Un programme est charg de prendre en compte toute connexion
Console virtuelle
getty ou mingetty

Affiche la bannire, et attend que lon saisisse un nom de connexion

Ce programme passe ensuite la main la commande login

Ligne srie (modem)


On utilise mgetty , qui possde les atouts suivants :
Initialise le modem, attend un appel, rpond,

Reconnat les appels Voix, Fax, Data


Lance la commande approprie
En cas d'appel data :
Affiche la bannire, et attend un nom de connexion
Passe la main la commande login

Rseau : lancement par inetd sur sollicitation


Le service telnetd
Lanc ds quun client arrive par le port 23 (par dfaut) si les rgles de scurit lautorisent

Le service rlogind
Lanc ds quun client arrive sur le port 513 (par dfaut) si les rgles de scurit lautorisent
d

Autres : dmon ssh (Secure shell)


Attend les clients sur le port 22.
SSH utilise la couche SSL de cryptage des donnes (cls de cryptage changes).

Version 2.0 2004


fmicaux@actilis.net

164/270

Linux Administration systme


Installation, Administration, Intgration

Dmarrage d'une session


La commande getty (ou telnetd)
Affichage de la bannire de connexion
e

Attente de connexion (saisie dun nom de connexion)


f

Appel de /bin/login avec en paramtre le nom dutilisateur saisi


g

La commande login
Vrification des rgles dauthentification, dont (voir PAM) :
Validit du mot de passe fourni
Rgle implmente par la librairie pam_unix.so.

Vrifie si la connexion est autorise sur le terminal en question


Rgle implmente par la librairie pam_securetty.so.

Si prsence du fichier /etc/nologin : interdiction de se connecter


Rgle implmente par la librairie pam_nologin.so.

Si OK, lancement du Shell


n

En ssh
Le shell est directement lanc aprs vrification des cls ou du mot de passe si les
cls ne sont pas existantes.

Version 2.0 2004


fmicaux@actilis.net

165/270

Linux Administration systme


Installation, Administration, Intgration

Larrt Du Systme : shutdown


Deux syntaxes sont acceptes
Syntaxe BSD : -h , -r , -t
o

Syntaxe AT&T : -g , -i , -y ) accepte


p

Exemple
shutdown h now
shutdown i 0 g 0 y

#(BSD)
#(AT&T)

Sur la plupart des noyaux, le shutdown est termin par un arret lectrique.
Dans le cas contraire (pour Debian notamment)
Editer /etc/lilo.conf et regnrer la MBR par la commande lilo
q

append=apm=on apm=power-off

ou
Editer /etc/modules.conf si le module apm est un module du noyau
r

apm power_off=1

Version 2.0 2004


fmicaux@actilis.net

166/270

Linux Administration systme


Installation, Administration, Intgration

Complments sur la commande shutdown


Actions standard
Les utilisateurs connects sont prvenus (par un wall )
s

Les applications sont arrtes proprement (TERM puis KILL si pas de rponse)
t

Les sessions des utilisateurs sont stoppes (car les processus sont arrts)
u

Lintgrit du FS est assure (sync, umount)


v

En fonction des options : cest dire du runlevel cible, ou de r , de -h .


w

Le systme passe en mode mono-utilisateur


x

Le systme est arrt ou redmarr


y

On peut dclencher un shutdown retardement


shutdown -h +5

On peut annuler une demande de shutdown


shutdown -c

On peut aussi utiliser directement les commandes halt et reboot, qui sont de toute faon appeles
z

par shutdown en fonction du niveau cible.


Si halt ou reboot sont appeles hors du runlevel 0 (ou 6),
alors c'est shutdown -h (ou shutdown -r) qui est appel la place.

Version 2.0 2004


fmicaux@actilis.net

167/270

Linux Administration systme


Installation, Administration, Intgration

Le multi-boot
Pouvoir dmarrer un systme parmi plusieurs installs.
On souhaite se donner les moyens de lancer LILO depuis Windows.
}

Avec NTLOADER
NT crase LILO si on linstalle aprs Linux
~

Copier le bootsector de LILO sur une disquette avant dinstaller NT




dd if=<partition-de-boot-linux> of=<fichier-image> bs=XXX count=1

Transporter ce fichie-image sur le lecteur C: de NT

mcopy fichier-image a:

Linstaller et le rfrencer dans NTLOADER (C:\boot.ini)

C:\<fichier-image>="Linux (enfin, son chargeur)"

Attention : propos de la taille indiquer pour bs=XXX


Si LILO est install sur le boot-sector (sur le MBR), il faut prendre 446 octets.
Si il est sur l'entte d'une partition, il faut alors prendre 512 octets.

Version 2.0 2004


fmicaux@actilis.net

168/270

Linux Administration systme


Installation, Administration, Intgration

LILO
Structure de la configuration
Configur par un fichier texte : /etc/lilo.conf

La configuration de LILO comporte :


des options globales

N entre(s) de type image pour chaque boot Linux

N entre(s) de type other pour tout autre ssytme dexploitation

Appliquer les changements


Excuter /sbin/lilo pour le prendre en compte tout changement

Exemple
# Options globales
boot=/dev/hda
lba32
keytable=/boot/fr-latin1.klt
prompt
timeout=300
default=Linux
# Section Linux
image=/boot/vmlinuz-2.4.10
label=Linux
read-only
root=/dev/hda1
# Section NT
other=/dev/hda2
label=NT

Version 2.0 2004


fmicaux@actilis.net

169/270

Linux Administration systme


Installation, Administration, Intgration

GRUB
Publicit
GRUB est un chargeur plus dynamique que LILO
Il permet notamment de modifier les options passes en ligne de commande au noyau sans avoir

le regnrer.

Installation
En premier lieu, on installe son chargeur minimal

grub-install /dev/hda

Configuration
On utilisera le fichier /boot/grub/menu.lst ou /etc/grub.conf (si le symlink est cr)
# Options globales
boot=/dev/hda
default=1
timeout=10
splashimage=(hd0,6)/boot/grub/splash.xpm.gz
# Section Linux
title Red Hat Linux (2.4.18-14)
root (hd0,6)
kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/
initrd /boot/initrd-2.4.18-14.img
# Section NT
title Windows 2000 Pro
root (hd0,0)
makeactive
chainloader +1

Version 2.0 2004


fmicaux@actilis.net

170/270

Linux Administration systme


Installation, Administration, Intgration

Fabrication dune disquette de sauvetage


But
Disposer dune disquette systme autonome

Permettra de rparer un systme crash

Commande
RedHat/Mandrake:
mkbootdisk $(uname r)

Debian :
mkboot

Personnalisation de la disquette
La disquette boote le systme normalement, (partition root du disque dur).

On peut choisir de booter en mode maintenance, mais pour cela, il faut modifier son

comportement (partition root dans /etc/lilo.conf).


Il faut pour cela monter le filesystem, et crer les fichiers ncessaires sur la disquette (/etc/fstab,

/etc/lilo.conf, etc)

Exemple de montage d'une image de disquette


dd if=/dev/fd0 of=/tmp/my_boot_floppy
mount -o loop /tmp/my_boot_flopp
/mnt/temp
cd /mnt/temp

Version 2.0 2004


fmicaux@actilis.net

171/270

Linux Administration systme


Installation, Administration, Intgration

TP Larrt Et Le Dmarrage
Exercice 1
Lobjet de ce TP est de prparer une configuration LILO qui dmarre
en mode Frame Buffer

en mode sans Frame Buffer

en mode maintenance (Single)

sur Windows (sil a une partition NT)


sur la disquette

Exercice 2
Le mme exercice avec GRUB

Exercice 3
Faire en sorte que les consoles virtuelles des terminaux 3 6 ne soient pas dmarres en runlevel

4 et 5.

Exercice 4
Dans le gestionnaire ntsysv de dmarrage de services, faire en sorte que le service crond

et le service atd ne soient pas dmarrs dans le runlevel 4, mais le soient dans le runlevel 3 et
5.
Tenter de refaire lopration en utilisant loutil chkconfig au lieu de ntsysv .

Execice 5
Ecrire un script de service qui dmarre le RAID chaque dmarrage.

Version 2.0 2004


fmicaux@actilis.net

172/270

Linux Administration systme


Installation, Administration, Intgration

TP avec instructions
Exercice 1
Lobjet de ce TP est de prparer une configuration LILO complte

prompt
timeout=50
default=linux
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/message
lba32
image=/boot/vmlinuz-2.4.18-3
label=linux_FB
initrd=/boot/initrd-2.4.18-3.img
read-only
root=/dev/hda5
image=/boot/vmlinuz-2.4.18-3
label=linux
initrd=/boot/initrd-2.4.18-3.img
read-only
root=/dev/hda5
vga=788
image=/boot/vmlinuz-2.4.18-3
append=single
password=orsys10p
label=linux-single
read-only
root=/dev/hda5
other=/dev/hda2
label=WinNT
other=/dev/fd0
label=Floppy
unsafe

Version 2.0 2004


fmicaux@actilis.net

173/270

Linux Administration systme


Installation, Administration, Intgration

Exercice 2
Le mme exercice avec GRUB

boot=/dev/hda
default=1
timeout=10
splashimage=(hd0,6)/boot/grub/splash.xpm.gz
title Red Hat Linux (2.4.18-14)
root (hd0,6)
kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/
initrd /boot/initrd-2.4.18-14.img
title Red Hat Linux en mode single
root (hd0,6)
password mon_mot_de_passe
lock
kernel /boot/vmlinuz-2.4.18-14 ro single root=LABEL=/
title Red Hat Linux (2.4.18-14) avec FB
root (hd0,6)
kernel /boot/vmlinuz-2.4.18-14 ro vga=788 root=LABEL=/
initrd /boot/initrd-2.4.18-14.img
title Floppy
root (fd0)
chainloader +1

Version 2.0 2004


fmicaux@actilis.net

174/270

Linux Administration systme


Installation, Administration, Intgration

Exercice 3
Faire en sorte que les consoles virtuelles des terminaux 3 6 ne soient pas dmarres en runlevel

4 et 5.
Dans /etc/inittab, dans le second champ, pour les lignes dID de 1 6,
retirer 4 et 5

Exercice 4
Dans le gestionnaire ntsysv de dmarrage de services, faire en sorte que le service crond

et le service atd ne soient pas dmarrs dans le runlevel 4, mais le soient dans le runlevel 3 et
5.
ntsysv level 35 : activer atd
ntsysv level 4 : dsactiver atd

Tenter de refaire lopration en utilisant loutil chkconfig au lieu de ntsysv .

chkconfig level 35 atd on


chkconfig level 4 atd off

Execice 5
Ecrire un script de service qui dmarre le RAID chaque dmarrage.

Sinspirer de /etc/rc.d/init.d/webmin
Crer les liens adquats dans /etc/rc3.d/ et /etc/rc5.d

Version 2.0 2004


fmicaux@actilis.net

175/270

Linux Administration systme


Installation, Administration, Intgration

Les priphriques
Thmes du module
Introduction
Les fichiers spciaux
Les modules
Objectifs
Identifier un priphrique
Charger les bons drivers pour son utilisation

Version 2.0 2004


fmicaux@actilis.net

176/270

Linux Administration systme


Installation, Administration, Intgration

Introduction
Tout est fichier
Les priphriques sont vus comme des fichiers : tout est fichier
Pour y accder
Utilisation dAPIs du noyau (il permet/contrle tout ce qui se passe)
Accs un priphrique (du point de vue programme utilisateur)
Ouverture du fichier spcial concern
Lecture / criture doctets
Fermeture du fichier spcial
Dvelopper un driver
Cest crire un ensemble de fonctions
ralisant des lectures / critures vers le fichier spcial dsignant le priphrique.

Les modules du noyau correspondent des drivers

Ils font linterface entre un nom de fichier spcial et les adresses (IO) et IRQ grce auxquels on

communique avec le priphrique.


Ils implmentent parfois des fonctions spcifiques (initialisation, criture, lecture)

Version 2.0 2004


fmicaux@actilis.net

177/270

Linux Administration systme


Installation, Administration, Intgration

Les fichiers spciaux


Chaque fichier spcial possde les proprits suivantes :
Mode daccs : b (bloc) ou c (caractre)

Majeur : dsigne souvent le pilote et donc le contrleur

Mineur : dsigne le priphrique, sous-ensemble du contrleur

Crer un priphrique
C'est la commande mknod qui permet de crer des fichiers spciaux.
mknod nom Mode Majeur Mineur

La commande /dev/MAKEDEV
Seule commande se trouvant dans /dev
Son rle est de crer, en phase avec les paramtres du noyau, les fichiers priphriques

Quelques remarques
Les interfaces ide possdent chacune leur majeur
Les disques hda et hdb sont respectivement le maitre et l'esclave de l'interface ide0, et possdent

donc le mme (majeur 3, mineur 0), alors que les disques hdc et hdd sont connects sur
l'interface ide1 (majeur 22, mineur de 64).
En IDE, on pourrait donc en thorie disposer de 63 partitions par disque.

Les disques SCSI (sda sdp) connects sur la premire interface SCSI possdent
tous le mme majeur (8).
On note que le second disque SCSI (sdb) possde un mineur de 16, ce qui limite 15 le nombre

de partitions par disque en SCSI.

Version 2.0 2004


fmicaux@actilis.net

178/270

Linux Administration systme


Installation, Administration, Intgration

Les modules
Intrt
Permet dajouter ou de retirer la demande certains pilotes du noyau sans avoir
redmarrer le systme.
Chargement dun module
Par /etc/rc.d/*rc* au dmarrage

Par kmod , le thread ddi du noyau (remplaant de kerneld)

Manuellement par insmod ou modprobe


insmod choue si le module ncessite un module qui nest pas charg
Ncessite aussi de connatre les paramtres du priphrique (IO, IRQ)

La commande modprobe
charge automatiquement les modules ncessaires (rsoud les dpendances).

connat des paramtres usuels pour les priphriques, et les probe donc automatiquement

dans la majorit des cas


Loption -k permet le chargement avec le mode autoclean

Version 2.0 2004


fmicaux@actilis.net

179/270

Linux Administration systme


Installation, Administration, Intgration

Les modules
Liste des modules chargs
Par la commande lsmod
La liste affiche le nombre dutilisations des modules

La liste affiche aussi les dpendances et paramtres du type autoclean

Retrait dun module


Par la commande rmmod
La commande rmmod a dcharge les modules inutiliss chargs en autoclean .

Le fichier /etc/modules.conf
Contient les options de certains modules pour chargement automatique par kmod.
Ce fichier sappelle /etc/conf.modules dans les anciennes distributions (dans les anciennes

versions du noyau)
Cest le cas pour RH < 7, et MDK < 7.2

Version 2.0 2004


fmicaux@actilis.net

180/270

Linux Administration systme


Installation, Administration, Intgration

TP La gestion des priphriques


Exercice 1
Depuis la console tty1, afficher un message sur la console tty2.

Exercice 2
Dfinir pour la configuration des modules le fait que lorsque lon dsigne linterface eth0, le

noyau sache charger le module 3c59x.

Exercice 3
Lister les modules chargs.

Dcharger tous les modules qui ne servent pas en ce moment.

Exercice 4
Dcharger le module.

Charger le module correspondant votre carte rseau par la commande modprobe.


Le recharger, mais avec la commande insmod en spcifiant ces paramtres manuellement

Version 2.0 2004


fmicaux@actilis.net

181/270

Linux Administration systme


Installation, Administration, Intgration

TP avec instructions
Exercice 1
Depuis la console tty1, afficher un message sur la console tty2.

echo message
echo message

>
>

/dev/tty2
/dev/pts/1

Exercice 2
Dfinir pour la configuration des modules le fait que lorsque lon dsigne linterface eth0, le

noyau sache charger le module 3c59x.


Dans

/etc/modules.conf, ajouter

alias eth0 3c59x

Exercice 3
Lister les modules chargs.

lsmod

Dcharger tous les modules qui ne servent pas en ce moment.

rmmod a : pour dcharger ceux non utiliss et ayant le flag autoclean


rmmod nom_module : pour ceux qui sont chargs et sont utiliss 0 fois

Exercice 4
Dcharger le module.

rmmod 3c59x

Charger le module correspondant votre carte rseau par la commande modprobe.

modprobe 3c59x

Le recharger, mais avec la commande insmod en spcifiant ces paramtres manuellement

insmod

3c59x io=0xHHHH irq=N

Version 2.0 2004


fmicaux@actilis.net

182/270

Linux Administration systme


Installation, Administration, Intgration

Le Noyau
Thmes du module
Le rle du noyau
Compiler et installer le noyau et les modules
Obtenir et modifier les informations systme
Objectifs
Eviter les cueils dune recompilation du noyau

Choisir les bonnes options de recompilation

Diagnostiquer et rsoudre les erreurs de la recompilation

Utiliser un nouveau noyau Linux


Apprhender le pseudo-rpertoire /proc

Version 2.0 2004


fmicaux@actilis.net

183/270

Linux Administration systme


Installation, Administration, Intgration

Le rle du noyau : Linux, c'est a !


Le noyau gre
Les processus
Grce lOrdonnanceur :

Allocation du ou des processeurs aux processus

Partage quitable du temps CPU (gestion de priorit)

Ils dialoguent avec le noyau via un ensemble dAPIs : POSIX les dfinit toutes pour Linux

Portabilit des programmes sources

Les priphriques
droits daccs et interface

Les fichiers
laccs aux systmes de fichiers est garanti par le noyau

La mmoire
allocation, nettoyage, paging, swapping

Le noyau utilise des tables mmorisant


Les paramtres de fonctionnement (mmoire)
Les paramtres lis aux processus, aux priphriques

Version 2.0 2004


fmicaux@actilis.net

184/270

Linux Administration systme


Installation, Administration, Intgration

Pourquoi reconstruire le noyau


Le noyau dinstallation est un noyau standard
Les sources fournis avec une distribution peuvent reconstituer ce noyau
Pour cela, il faut utiliser le bon fichier .config , fourni dans /boot.

On peut vouloir optimiser, allger, patcher son noyau, ajouter des composants
Driver, fonctionnalit rseau, etc.

Installer un noyau monolithique ou spcifique


Il s'agit d'un noyau sans module.

Pour les architectures embarques, les stations disk-less

Site de rfrence pour le noyau


http://www.kernel.org

Version 2.0 2004


fmicaux@actilis.net

185/270

Linux Administration systme


Installation, Administration, Intgration

Notion de Noyau monolithique


Cest un noyau sans module
Pour le crer
Configurer le noyau en inhibant dans Loadable Module Support
CONFIG_MODULES : Enable Module Support
CONFIG_MODVERSIONS : Set Version information in Modules symbols
CONFIG_KERNELD : Kernel Module Loader

Choisir les autres options


Seuls y et n sont possibles, plus aucun < > , ni <m>

Dans le premier Makefile (/usr/src/linux/Makefile)


Commenter les ventuelles lignes relatives aux modules

Puis compiler
make dep ; make clean ; make bzImage, lilo, etc

Version 2.0 2004


fmicaux@actilis.net

186/270

Linux Administration systme


Installation, Administration, Intgration

Sauvegardes avant construction d'un noyau


Quelques prcautions utiles
Lorsque l'on recompile une mme version du noyau que celle qui est en
fonctionnement, il faut raliser quelques sauvegardes :
Sauvegarder lancien noyau, dans /boot

cd /boot ; cp vmlinuz-x.y.z vmlinuz-old

Sauvegrader les modules associs

cd /lib/modules ; tar czf modules.tgz `uname -r`

Modification de la configuration du chargeur


Modifier /etc/lilo.conf ou /etc/grub.conf
Pour pouvoir dmarrer le futur nouveau noyau
Et garder la possibilit de booter lancien (celui qui fonctionne)

TESTER le redmarrage

Version 2.0 2004


fmicaux@actilis.net

187/270

Linux Administration systme


Installation, Administration, Intgration

Installation des sources du noyau


Installer le source du nouveau noyau
Utilisation d'un paquetage fourni par la distribution
RedHat : rpm i kernel-source-2.*.rpm

Debian : apt-get install kernel-source


Les sources sont alors installs dans le rpertoire /usr/src/linux-version.

Utilisation des sources standards de www.kernel.org


Il faut rcuprer l'archive au format tar compress (par bzip2 en standard)
On peut la stocker dans /tmp le temps du transfert

Puis l'installer dans /usr/src

cd /usr/src
tar xjf /tmp/linux-2.Y.Z.tar.bz2

On peut immdiatement refaire le lien symbolique linux du rpertoire /usr/src


pour que celui-ci pointe vers la nouvelle version du noyau.
Dans la suite de ce document, nous parlerons de /usr/src/linux comma chemin racine
des sources du noyau.

Version 2.0 2004


fmicaux@actilis.net

188/270

Linux Administration systme


Installation, Administration, Intgration

Construction dun nouveau noyau en 5 tapes


0 - Nettoyer les sources et supprimer le fichier .config
Dans le rpertoire /usr/src/linux, excuter la commande suivante

make mrproper

1 - Configurer la compilation
Il s'agit de dcider de ce que l'on va compiler ou pas (en statique, en module)

Le but est la gnration du fichier .config la racine des sources.

Trois outils de configuration sont possibles :

make config
make menuconfig
make xconfig

: mode texte ligne ligne


: mode menu texte
: mode graphique X11 (ncessitte TCL/Tk)

Cette tape ncessite une bonne connaissance du matriel qui compose le serveur. Nous sommes

en train de dfinir prcisment un noyau adapt au matriel dont nous disposons, et dont nous
seul disposons.
Il n'y a donc pas un .config qui marche pour tout le monde , et il est mme abrant d'en parler.

Version 2.0 2004


fmicaux@actilis.net

189/270

Linux Administration systme


Installation, Administration, Intgration

2 - Prparer la compilation du noyau


Gnrer les dpendances en fonction des choix raliss dans le fichier .config

make dep

Eventuellement nettoyer les anciens objets (si allgement)

make clean

L'tape make dep a disparu dans la compilation du noyau 2.6.


3 - Compiler le noyau
Le but est de gnrer le fichier vmlinux , qui est l'image du noyau.

Linux 2.0 est devenu trop gros pour, on utilise depuis une image compresse.
Historiquement compresse par gzip, elle est devenue trop grosse pour booter.
On est donc pass une image compresse par bzip2.

Les commandes
make
make zImage
make bzImage

: pour construire le noyau


: pour compression par gzip
: pour compression avec bzip2

Le rsultat
Le noyau vmlinux est dans la racine des sources
Les images compresses sont dans /usr/src/linux/arch/i386/boot et s'appellent zImage ou

bzImage

Version 2.0 2004


fmicaux@actilis.net

190/270

Linux Administration systme


Installation, Administration, Intgration

Construction dun nouveau noyau


4 - Compiler et installer les modules si ncessaire
Compiler les modules

make

modules

Installer dans /lib/modules/VERSION les modules

make

modules_install

5 - Installation du nouveau noyau


En automatique
A viter, car on aime comprendre ce que lon fait

Il a t copi dans /boot par un ventuel make install ,

Une configuration LILO a t cre par le make install .

A la main : c'est prfrable


Il est gnr dans /usr/src/linux-x.y.z/arch/i386/boot

Il sappelle : vmlinux, zImage, ou bzImage

Le copier dans /boot sous un nom loquent


vmlinuz-x.y.z est un nom loquent

Une nouvelle entre LILO ou GRUB doit tre cre.


Penser excuter lilo chaque recopie du fichier vmlinuz
Ceci n'est pas ncessaire pour GRUB, plus souple ce niveau.

Version 2.0 2004


fmicaux@actilis.net

191/270

Linux Administration systme


Installation, Administration, Intgration

Un mot sur le kernel 2.6


Mode de compilation
La compilation du noyau a t simplifie avec la version 2.6.
On dispose dsormais d'un target help dans le Makefile principal.

make help

Le nouveau Makefile permet de gagner du temps


La configuration est propose de plusieurs manires diffrentes

make allnoconfig, make allmodconfig, make allyesconfig

Les mthodes traditionnelles sont toujours disponibles

make oldconfig, make menuconfig, make xconfig

Compilation
La compilation se fait dsormais en une seule passe :

make all (bzImage + modules)

Celle-ci est de ce fait beaucoup rapide.

Toutefois, le make all ne fait pas le make modules_install , mais rien


n'empche de modifier le Makefile principal.

Version 2.0 2004


fmicaux@actilis.net

192/270

Linux Administration systme


Installation, Administration, Intgration

Les paramtres de Linux


Le pseudo Filesystem /proc
Il contient les paramtres du noyau Linux, dcrits dans la documentation du noyau :
Voir /usr/src/linux/Documentation/filesystems/proc.txt

Il donne des informations systme


Il contient un rpertoire par processus en cours d'excution

Il contient un ensemble de pseudo de taille nulle grs par le noyau Linux

Ces paramtres du noyau sont consultables comme des fichiers texte


On peut en modifier certains pour de par criture vers les fichiers concerns

Lire la caleur d'un paramtre


cat PARAM

Modifier la valeur d'un paramtre


echo VALEUR > PARAM

Exemples
cat /proc/swaps
cat /proc/cmdline
ls -l /proc/$$
echo 1 >/proc/sys/net/ipv4/ip_forward

Version 2.0 2004


fmicaux@actilis.net

193/270

Linux Administration systme


Installation, Administration, Intgration

Les IPC
Le noyau peut ne pas le supporter (choix lors de la compilation)
General Options / System V IPC

Il sont dsormais (noyaux 2.4 et +) modifiables dynamiquement


echo VALEUR > /proc/sys/kernel/ (msg*, shm*, sem)

Leurs valeurs par dfaut sont codes dans les sources du noyau, et c'est d'ailleurs la
seule manire de les modifier dans les noyaux < 2.4
Dans /usr/src/linux-x.y.z/include/kernel :
Message Queue : msg.h

Shared Memory : shm.h


Semaphores : sem.h




Ncessite de recompiler le noyau aprs modification.


Attention :
Jouer sur ces paramtres nest pas recommand sans connatre le sujet. De plus, les valeurs par


dfaut sont largement dimensionnes


Elles conviennent, par exemple, pour Oracle 8i


Version 2.0 2004


fmicaux@actilis.net

194/270

Linux Administration systme


Installation, Administration, Intgration

Informations complmentaires sur le noyau


Commandes utiles
uname a : nom, version, date de compilation kernel
Voir aussi /proc/version


dmesg : informations du dmarrage


Fichier de trace
/var/log/messages : informations syslog
/var/log/dmesg : informations de dmarrage du noyau
Les priphriques
La commande lspci liste les priphriques vus par le noyau
Les pseudo-fichiers de /proc donnent des informations intressantes
/proc/cpuinfo, /proc/devices, /proc/ioports, /proc/interrupts


Version 2.0 2004


fmicaux@actilis.net

195/270

Linux Administration systme


Installation, Administration, Intgration

TP - Construction du noyau 2.4


TP : compilation et installation du noyau 2.4
Tlcharger le noyau partir de la machine prof


Sauvegarder lancien noyau


Prparer la nouvelle configuration LILO
!

Installer les sources du nouveau noyau


"

Configurer le noyau
#

Compiler le noyau et linstaller


$

Compiler les modules et les installer


%

Vrifier la configuration et excuter LILO


&

Construire une disquette bootable avec le nouveau noyau


'

Redmarrer le systme
Analyser tous messages concernant les priphriques
(

Version 2.0 2004


fmicaux@actilis.net

196/270

Linux Administration systme


Installation, Administration, Intgration

TP avec instructions
Compilation du noyau
Les sources sont fournis dans un fichier nomm linux-2.y.z.tar.gz., qui doit tre tlcharg par les
)

stagiaires et stock dans leur rpertoire /root.

Les tapes rencontres sont les suivantes


Dcompression de larchive dans /usr/src :
0

cd /usr/src; tar xzf /root/linux-2.y.z.tar.gz

Configuration du noyau :
1

cd /usr/src/linux-2.y.z ; make menuconfig

Compilation du noyau :
2

make dep ; make clean ; make bzImage

Installation du noyau compil :


3

cp /usr/src/linux/arch/i386/boot/bzImage

/boot/bzImage

Compilation des modules :


4

make modules

Installation des modules :


5

make modules_install

Vrification de la configuration de LILO ou GRUB pour y rfrencer le


nouveau noyau et reboot.

Version 2.0 2004


fmicaux@actilis.net

197/270

Linux Administration systme


Installation, Administration, Intgration

Les performances
Thmes du module
Les ressources surveiller
Commandes de surveillance
La commande vmstat
Objectifs
A lissue de ce chapitre, le participant saura:
Collecter les informations pour surveiller son systme

Version 2.0 2004


fmicaux@actilis.net

198/270

Linux Administration systme


Installation, Administration, Intgration

Les ressources surveiller


La mmoire utilise par un processus est divise en pages dune taille fixe pouvant
tre swapes sur le disque
Swap : chargement / dchargement des pages utilises par les processus
6

Quelques vidences surveiller


La mmoire : limiter le swap (Swap = croulement des performances)
7

Le processeur : limiter la priorit dun processus gourmand


Multi-processeur : solution efficace en cas de surcharge CPU

Entres / sorties : plusieurs contrleurs aident rpartir la charge I/O


Plusieurs disques aident en limitant les mouvements des bras de chacun

Dans tous les cas


Rpartir le swap sur plusieurs disques diffrents
Attention au RAID logiciel : il double les temps dcriture.

B
C

Version 2.0 2004


fmicaux@actilis.net

199/270

Linux Administration systme


Installation, Administration, Intgration

Les commandes de surveillance


charge CPU, mmoire
ps u : indique la charge processeur et mmoire de chaque processus
D

uptime : statistiques sur la charge CPU


E

free : quantit de mmoire vive et swap


F

time : temps consomm par un processus


G

Processus
ps : Informations sur les processus
H

pstree : arborescence des processus


I

top : uptime, free, ps / ordre de %CPU


P

Rseau
netstat -i : statistiques sur les ressources rseau
Q

Les outils graphiques


Ils sont clairs et permettent une surveillance visuelle, mais ne soulagent pas le CPU, ni la
R

mmoire, et ne permettent pas un audit trac sur une priode donne.

Version 2.0 2004


fmicaux@actilis.net

200/270

Linux Administration systme


Installation, Administration, Intgration

La commande vmstat
Rle
Donner des informations moyennes depuis le dmarrage
S

Permettre laudit au long dune priode de temps donne


T

Affichage format, les rsultats peuvent tre utiliss par un tableur pour gnrer des
U

reprsentations graphiques aidant lanalyse


Charge trs peu la machine
V

Syntaxe
vmstat [-n] [delai] [nbr

Option n : ne pas rafficher les lignes de titre


W

Delai : temps en secondes entre deux affichages


X

Nbr : nombre ditrations


Y

Exemples
600 mesures raison de une par seconde
`

vmstat 1 600

une mesure toutes les 10 secondes indfiniment, sans titre


a

vmstat n 10

Version 2.0 2004


fmicaux@actilis.net

201/270

Linux Administration systme


Installation, Administration, Intgration

La commande vmstat
Informations fournies
Procs : running, sleeping, swapped
b

Memory : mmoire (swap, virtuelle, libre, tampon)


c

Swap : swap in et out (en nombre Ko / seconde)


d

IO : blocs lus et crits par seconde


e

System : interruptions et basculements de contexte du CPU


Cpu : user, kernel, idle

f
g

Exemple

et de

Version 2.0 2004


fmicaux@actilis.net

202/270

Linux Administration systme


Installation, Administration, Intgration

TP - La gestion des performances


TP : mesure de la charge de la machine
Sur la console n1, lancer la commande vmstat pour 600 affichages raison de un toutes les
h

secondes, et en redirigeant la sortie dans un fichier temporaire.


Passer sous X-Window, lancer Netscape, ouvrir plusieurs fentres
i

Constater quels champs de vmstat voluent


p

Arrter les processus Netscape, et lancer plusieurs recherches de fichiers complexes en tche de
q

fond.
Constater quels champs de vmstat voluent
r

Construire un script-shell consommateur de ressources CPU, et lexcuter plusieurs fois en tche


s

de fond
Constater quels champs de vmstat voluent
t

TP : Supervision du rseau
Tlcharger et installer NTOP, l outil de supervision du rseau
u

Version 2.0 2004


fmicaux@actilis.net

203/270

Linux Administration systme


Installation, Administration, Intgration

TP avec instructions
Exercice 1
Sur la console n1, lancer la commande vmstat pour 600 affichages raison de un toutes les
v

secondes, et en redirigeant la sortie dans un fichier temporaire.


vmstat 1 600

Passer sous X-Window, lancer Netscape, ouvrir plusieurs fentres


w

Constater quels champs de vmstat voluent


x

Arrter les processus Netscape, et lancer plusieurs recherches de fichiers complexes en tche de
y

fond.
Constater quels champs de vmstat voluent

IO: find

/ -name * -print | exec grep ^*$

{}

\; > /dev/null &

Construire un script-shell consommateur de ressources CPU, et lexcuter plusieurs fois en tche

de fond
Constater quels champs de vmstat voluent

CPU : (while true; do :;done) &

Version 2.0 2004


fmicaux@actilis.net

204/270

Linux Administration systme


Installation, Administration, Intgration

Gestion des logs


Thmes du module
Acquisition de traces
Mcanismes de rotation
Objectifs
Personnaliser la remonte des traces
Mettre en uvre la rotation des logs

Version 2.0 2004


fmicaux@actilis.net

205/270

Linux Administration systme


Installation, Administration, Intgration

Les fichiers de log


Emplacement
Ils se trouvent gnralement dans le rpertoire /var/log.
Certains sont regroups dans un sous-rpertoire propre un service.
Cest le cas pour des services comme Apache ou Samba, qui grent plusieurs fichiers de log.

Dans le cas d'Apache, si l'on fait de l'hbergement mutualis, on choisira plutt de grer un

fichier de log par site hberg (plus simple pour les statistiques).

Les services grs par xinetd peuvent eux aussi tre paramtrs pour grer leur
propre fichiers de log.
Du point de vue clart et donc scurit, il est intressant de sparer les fichiers de logs de chacun

des service.

On dfinit les lieux de stockage des logs :


Soit la compilation
Soit par configuration lorsque cela est possible

Version 2.0 2004


fmicaux@actilis.net

206/270

Linux Administration systme


Installation, Administration, Intgration

Le service de traage : syslogd


Le dmon syslogd
Son rle est de recevoir des messages et de les aiguiller vers une destination en
fonction de leur provenance et leur niveau de gravit.
Ces messages sont mis par les applications ou le noyau.
Syslogd reoit les messages mis par la fonction syslog() du C.

La commande logger , disponible sur tout Unix, et utilisant fonction syslog(), permet de poster

des messages depuis le shell.


Les messages sont toujours posts en UDP sur le port 514 de localhost.

Syslogd n'est pas forcment utilis par tous les services. Apache par exemple ne
l'utilise pas.
La commande logger
Elle permet de poster des messages au service syslogd local.
On peut prciser un couple de la forme metteur.niveau (-p E.N)

On peut tagger les messages (-t MON-TAG).


Le message poster est le dernier argument de la ligne de commande.

Exemples
logger -p local0.info -t ESSAI 'Message caractre informatif'
logger -p local0.debug -t LOGSTDIN
# Trace l'entre standard

Version 2.0 2004


fmicaux@actilis.net

207/270

Linux Administration systme


Installation, Administration, Intgration

Le fichier de configuration /etc/syslog.conf


Structure
Il peut tre vide : aucun message n'est alors trac
Chaque ligne dfinit une destination pour un ensemble de messages rpondant des critres

metteur / niveau de gravit.


Un mme message peut donc avoir plusieurs destinations.

Format des lignes : deux colonnes spares par au moins un blanc.


La premire sert identifier le message
La seconde dcrit sa destination

Destinations possibles
Codification

Signification

/var/log/messages

Ajout en fin du fichier du fichier

-/var/log/messages

Idem, mais pas de sync chaque criture

usera

write

wall

@servlog.actilis.net
ou @192.168.1.200

Remonte au serveur de log servlog


(vers le port UDP/514 de servlog)

|/tmp/fifo

Vers un Pipe (doit tre cr au pralable)


( mkfifo myfifo ou mknod p myfifo )

Version 2.0 2004


fmicaux@actilis.net

208/270

Linux Administration systme


Installation, Administration, Intgration

Identification des messages


Chaque ligne de /etc/syslog.conf peut tre constitue comme suit :
Codification
Signification
E,N

Provenande=E, niveau >= N

E.=N

Provenance=E, niveau = N

E1,E2.N

Provenance=E1 ou E2, niveau >= N

*.N

Niveau >=N pour toute provenance

E.*

Provenance=E, tout niveau

*.*

Tout message

*.*;E1.none;E2.none

Tout message sauf ceux venant de E1 ou E2

L'metteur (ou sous-systme)


C'est un nom de sous-systme prdfini. Il existe un ensemble de noms prdfinis correspondant
d

aux services usuels du monde Unix.


Les sous systmes suivants sont dfinis :
auth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, syslog, user, uucp, local0

local7

Le niveau de gravit

Version 2.0 2004


fmicaux@actilis.net

209/270

Linux Administration systme


Installation, Administration, Intgration

C'est un nom correspondant globalement un tat dans lequel se trouve le systme (ou le sousg

systme). Par ordre dcroissant de gravit :


EMERG : Systme inutilisable
h

ALERT : Action corrective indispensable rapidement


i

CRIT : Conditions critiques


j

ERR : Des erreurs se produisent


k

WARNING : Avertissement non bloquant


l

NOTICE : Il se passe quelque chose de normal, mais qui doit tre soulign
m

INFO : Information pour qui cela intresserait


DEBUG : Message de dbuggage

n
o

Version 2.0 2004


fmicaux@actilis.net

210/270

Linux Administration systme


Installation, Administration, Intgration

Logrotate : la rotation des logs


Le problme vident
Les fichiers de log ne font que grossir.
Il faut donc un mcanisme pour les purger de temps autre
Le programme logrotate
Fait tourner, compresse, et envoie par mail les logs du systme.
Excute larchivage des fichiers de log en fonctions de directives :
Priodicit de la rotation (jours, semaines, mois)
p

La taille (au dela d'une certaine taille, on archive)


q

La commande est lance priodiquement par le planificateur crond.


Une fois par jour suffit en gnral.
C'est le script /etc/cron.daily/logrotate (rfrenc dans /etc/crontab) qui fait cela :

r
s

[root@firewall /root]# cat /etc/cron.daily/logrotate


#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf

Version 2.0 2004


fmicaux@actilis.net

211/270

Linux Administration systme


Installation, Administration, Intgration

Logrotate : configuration
Configuration
Le fichier de configuration utiliser est spcifi sur la ligne de commande.
/etc/logrotate.conf est sans doute un trs bon nom.
Le programme logrotate accepte d'inclure des sous-fichiers de configuration, La
directive "include" sert inclure un fichier ou un rpertoire.
Le rpertoire /etc/logrotate.d est sans doute un trs bon endroit pour ajouter des
"includes".
Il contient des fichiers dfinissant les rgles de rotation de fichiers de log groups gnralement
t

par domaine fonctionnel ou par service.


Ainsi, pour chaque service, un traitement spcifique peut tre ralis.
Ceci permet aux paquetages d'apporter aussi les directives pour la rotation des traces des services.

u
v

Description d'une rotation


/var/log/mon-fichier-de-log {
Mots-cls valeurs
}

Version 2.0 2004


fmicaux@actilis.net

212/270

Linux Administration systme


Installation, Administration, Intgration

Logrotate : configuration
Quelques mots cls intressants
Dcrire les rotations
Priodicit : daily, weekly, monthly
w

Rotation sur des critres de taille : size XXX ou XXXk ou XXXM


x

Nombre de fichiers historique : rotate X (conserver X historiques)


y

Compression immdiate : compress, ou la fois suivante : delaycompress


z

Cration du nouveau fichier de log vide : create mode owner group


{

Pour les envois par mail


Envoi par mail : mail adresse-mail,
|

pour envoi juste aprs rotation : mailfirst


}

Pour envoi juste avant expiration : maillast


~

Traitement d'erreurs
Avertissement en cas d'erreur : errors adresse-mail
Traitement des erreurs : missingok, nomissingok

Version 2.0 2004


fmicaux@actilis.net

213/270

Linux Administration systme


Installation, Administration, Intgration

Excution de commandes shell :


Avant rotation : prerotate endscript

Aprs rotation : postrotate endscript

Le mot cl sharedscripts permet de nexcuter quune seule fois un traitement de


pr ou post-rotation lorsque l'on dcrit dans le mme bloc la rotation de plusieurs
fichiers :
/var/log/http/access_log /var/log/http/error_log {
rotate 365
compress
sharedscripts
postrotate
killall -HUP httpd
endscript
}

Toute commande est utilisable par prerotate ou postrotate.


On peut imaginer grce aux scripts de fin de traitement que les fichiers de log seraient

automatiquement gravs.
Penser aux PATH et autres variables. L'environnement des scripts que l'on utilise est celui de
CRON, parce que c'est lui qui excute logrotate.

Version 2.0 2004


fmicaux@actilis.net

214/270

Linux Administration systme


Installation, Administration, Intgration

Les interfaces rseau


Thmes du module
Interfaces Rseau
Configuration IP
IP Aliasing
Objectifs
Configurer une carte rseau

Attribuer plusieurs adresses IP une seule carte rseau


Diagnostiquer les problmes rseaux ventuels

Version 2.0 2004


fmicaux@actilis.net

215/270

Linux Administration systme


Installation, Administration, Intgration

Les adresses IP
Principe
Chaque hte d'un rseau IP dispose d'une adresse. Il s'agit de l'adresse IP (de forme
a.b.c.d), qui associe un masque rseau dfinit la porte du rseau : les machines
adressables sur le rseau local.
Classes dadresses
A : Le premier octet est fixe (masque = 255.0.0.0)

B : Les deux premiers octets sont fixes (masque = 255.255.0.0)

C : Les trois premiers octets sont fixes (masque = 255.255.255.0)

Usuellement
Classe A : 1 <= a <= 126 : 126 rseaux de 16 777 214 htes

Classe B : 128 <= a <= 191 : 16 382 rseaux de 65 534 htes

Classe C : 192 <= a <= 223 : 2 097 150 rseaux de 254 htes

La classe D multicast , et la classe E existent mais sont trs peu utilises

Pour communiquer en LAN : il faut appartenir au mme sous-rseau


Nous n'avons pas cit la classe 127.x.y.z, correspondant souvent

l'interface

loopback , d'adresse 127.0.0.1.


Cette adresse de classe A n'est en principe jamais utilise sur un rseau, et tout hte capable de

fonctionnalits IP possde cette adresse, qui n'utilise pas de carte rseau.


Cette pseudo-interface a t prvue historiquement pour permettre l'utilisation de mcanismes

client/serveur sur les machines qui ne disposeraient pas de carte rseau.

Version 2.0 2004


fmicaux@actilis.net

216/270

Linux Administration systme


Installation, Administration, Intgration

Les adresses prives


Sur un rseau local d'entreprise, on utilisera de prfrence des adresses prives.
Ces adresses ne sont ni routes ni utilises sur Internet, et l'on ne risque donc pas de
prendre l'adresse d'un hte existant sur internet.
Le tableau suivant indique par classe les adresses rserves pour les rseaux privs.
Classe
Adresses prives
10.x.y.z

172.16.y.z 172.31.y.z

192.168.y.z

Utiliser au maximum les adresses prives


Utiliser ces adresses dans un rseau d'entreprise ne pose aucun problme pour accder internet,

grce la traduction d'adresses sont sont capables la plupart des firewalls.


Rien n'empche techniquement de router des adresses prives, et on peut dans le cadre d'une

entreprise crer plusieurs rseaux d'adresses prives capables de communiquer ensemble.


De plus, c'est un moyen de lutter contre la pnurie d'adresses IP.

Version 2.0 2004


fmicaux@actilis.net

217/270

Linux Administration systme


Installation, Administration, Intgration

Les interfaces rseau


Nommage des interfaces
Les interfaces ethernet sont nommes par ethX avec pour X le numro dordre de
linterface.
Exemple : eth0, eth1, eth2, etc.
A une interface physique peuvent tre rattaches des interfaces logiques, permettant
de disposer de plusieurs adresses rseau sur une seule carte.
C'est ce que l'on appelle des alias d'adresses IP, ou l'IP Aliasing.

Ces interfaces possdent des noms drivs de l'interface physique :


eth0:0, eth0:1, etc...

Il existe une interface particulire nomme lo (pour loopback), qui fonctionne


sans que lon dispose de carte rseau, en local.
Dautres interfaces, typiquement lors de ltablissement dun lien ppp, existent.
Ainsi, ppp0 est la premire interface, ppp1 la seconde, etc.
Les interfaces lies ISDN sont nommes ippp0, ippp1, etc.

Version 2.0 2004


fmicaux@actilis.net

218/270

Linux Administration systme


Installation, Administration, Intgration

Les pilotes de priphriques


Pour utiliser une interface rseau, il faut charger le pilote d'interface correspondant au
matriel utilis. Celui-ci peut tre dj inclus dans le noyau ou doit tre charg s'il a
t compil en tant que module.
Chargement du pilote de linterface
Il existe de nombreux types dinterfaces rseau, ethernet ou non, qui peuvent tre
charges :
Lorsque lon souhaite charger le module relatif une interface rseau, il faut parfois prciser les

options du priphriques (IRQ, Adresse IO, etc.).


Ceci peut tre fait par un ajout dans le fichier de configuration des modules (/etc/modules.conf).

Par exemple :
alias eth0 8139too

alias eth1 ne
alias eth2 smc-ultra

Les modules doivent tests par la commande modprobe avant d'tre rfrencs dans
/etc/modules.conf.

Version 2.0 2004


fmicaux@actilis.net

219/270

Linux Administration systme


Installation, Administration, Intgration

Les pilotes de priphriques : traces


Les traces : dmesg
Lors du dmarrage du noyau, ou lors du chargement du module par le noyau, il peut
tre ncessaire de valider les options de chargement. Pour sassurer que le
priphrique est bien dtect, on peut utiliser la commande dmesg , qui donne,
entre-autres, les informations suivantes.
Exemple :
eth0: 8139too FastEthernet 0.9.9-2.2 Jeff Garzik <jgarzik@mandrakesoft.com>
eth0: Linux-2.2 bug reports to Jens David <dg1kjd@afthd.tu-darmstadt.de>
eth0: RealTek RTL8139 Fast Ethernet board found at 0xc283a000, IRQ 9
eth0: Chip is 'RTL-8139B' - MAC address '00:c0:0c:72:00:e9'.
ne.c:v1.10 9/23/94 Donald Becker (becker@cesdis.gsfc.nasa.gov)
NE*000 ethercard probe at 0x300: 00 00 b4 65 6b 80
eth1: NE2000 found at 0x300, using IRQ 10.
smc-ultra.c: Presently autoprobing (not recommended) for a single card.
smc-ultra.c:v2.02 2/3/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
eth2: SMC Ultra at 0x220, 00 00 C0 CE 2C BC, IRQ 5 memory 0xe4000-0xe7fff.
eth0: Setting full-duplex based on MII #32 link partner ability of 45e1.

Version 2.0 2004


fmicaux@actilis.net

220/270

Linux Administration systme


Installation, Administration, Intgration

Configuration des interfaces


La commande ifconfig
Lorsque le pilote est charg, il est possible de configurer immdiatement linterface
rseau. Pour cela, on utilise la commande ifconfig . Cette commande est aussi
capable dafficher les interfaces actuellement configures.
Si une interface napparat pas dans la liste, cest quelle est arrte.
On peut dmarrer ou arrter une interface. Ce sont les options up et down quil faut
utiliser pour cela.
De le mme manire, on peut visualiser les informations lies une interface alors
que celle-ci nest pas dmarre. Pour cela, on utilise la commande ifconfig ethX
Pour dmarrer linterface eth1, on utiliserait la commande suivante :
[root@firewall /root]# ifconfig eth1 up

Version 2.0 2004


fmicaux@actilis.net

221/270

Linux Administration systme


Installation, Administration, Intgration

Configuration des interfaces


Pour configurer une interface
Il suffit de connatre ladresse IP que lon doit lui attribuer, et dutiliser la commande
ifconfig, avec comme arguments le nom de linterface et son adresse.
Exemple :
[root@firewall /root]# ifconfig eth1 192.168.1.1
[root@firewall /root]# ifconfig eth1
eth1
Lien encap:Ethernet HWaddr 00:00:B4:65:6B:80
inet adr:192.168.1.1 Bcast:192.168.1.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Paquets Reus:0 erreurs:0 jets:0 dbordements:0 trames:0
Paquets transmis:0 erreurs:44 jets:0 dbordements:0 carrier:44
collisions:748 lg file transmission:100
Interruption:10 Adresse de base:0x300

Linterface est alors reconfigure. Si elle tait arrte, alors elle est dmarre dans la
foule.

Version 2.0 2004


fmicaux@actilis.net

222/270

Linux Administration systme


Installation, Administration, Intgration

Configuration des interfaces


Masque rseau, Adresse Broadcast
Le masque rseau dtermine les adresses que lon sait accder directement, sans
passer par un routeur. Ce sont les adresses de notre LAN.
Les diffrentes classes de rseaux possdent des masques prdfinis, et la commande
ifconfig en tient compte.
Il est toutefois possible, lorsque lon souhaite utiliser un masque plus restrictif que le masque par

dfaut (subnetting) ou un masque plus ouvert (supernetting), doutrepasser les masques par
dfauts attenants aux classes de rseau.
Pour cela, il faut le prciser sur la ligne de commande ifconfig.

Exemple : Nous navons que 8 adresses IP notre disposition


[root@firewall /root]# ifconfig eth1 192.168.1.161 netmask
broadcast 192.168.1.167

255.255.255.248

Ladresse Broadcast est dduite de ladresse IP (et du masque de rseau). On peut l


aussi prciser une autre valeur.
Super-netting et sub-netting
Positionner un masque rseau plus grand que celui de la classe revient faire du
super-netting , et positionner un masque rseau plus petit que celui de la classe
revient faire du sub-netting .

Version 2.0 2004


fmicaux@actilis.net

223/270

Linux Administration systme


Installation, Administration, Intgration

Les fichiers de configuration du rseau


RedHat /Mandrake
/etc/init.d/network
Cest le script charg de dmarrer le service, il est excut par rc .

Ce script en appelle dautres se trouvant dans /etc/sysconfig/network-scripts.

/etc/sysconfig/network
Configuration gnrale de la machine (Nom, Routage, Gateway, etc)

/etc/sysconfig/network-scripts/ifcfg-INTERFACE
Un fichier par interface rseau (Adresse IP, LAN @, Broadcast @, )

/etc/sysconfig/network-scripts/ifcfg-INTERFACE:X
Un fichier par Alias d@ IP (forme identique ifcfg-IFACE)

Debian
/etc/init.d/networking
Cest le script charg de dmarrer le service rseau

/etc/network/interfaces
Le fichier de configuraton des interfaces rseau et des alias d'IP

Version 2.0 2004


fmicaux@actilis.net

224/270

Linux Administration systme


Installation, Administration, Intgration

Scripts de dmarrage : /etc/rc.d/init.d/network


Scripts de dmarrage et darrt
En fonction de la distribution, les scripts ne sont pas forcment conus de la mme
manire. Mais il faut savoir que les scripts de dmarrage des serveurs Linux utilisent
forcment la commande ifconfig pour configurer chacune de nos interfaces rseau.
Cela permet de trouver facilement la faon dont ils sont crits.
Si lon observe les scripts de dmarrage des serveurs RedHat ou Mandrake, on
constate que cest un des scripts excuts pour le passage dans le runlevel cible qui
configure les interfaces rseau.
Ce script est /etc/rc.d/init.d/network.
Il commence par sourcer le fichier /etc/sysconfig/network, dans lequel sont
dcrits les paramtres gnraux de la machine concernant le rseau :
NETWORKING=yes
FORWARD_IPV4=true
HOSTNAME=firewall.actilis.fr
DOMAINNAME=actilis.fr
GATEWAY=10.0.0.1
GATEWAYDEV=eth1

Version 2.0 2004


fmicaux@actilis.net

225/270

Linux Administration systme


Installation, Administration, Intgration

Scripts de dmarrage : listage des interfaces


Ensuite,
Il recense les interfaces principales (toutes sauf loopback et les alias) configurer
dans une variable interface , juste aprs stre positionn dans le rpertoire
/etc/sysconfig/network-scripts :
cd /etc/sysconfig/network-scripts
# find all the interfaces besides loopback.
# ignore aliases, alternative configurations, and editor backup files
interfaces=`ls ifcfg* | egrep -v '(ifcfg-lo|:)' | \
egrep -v 'ifcfg-ippp[0-9]+$' | \
egrep 'ifcfg-[a-z0-9]+$' | \
sed 's/^ifcfg-//g'`

On obtient la liste des interfaces rseaux en recherchant les fichiers ifcfg* prsent
dans ce rpertoire, puis en retirant ifcfg-lo , ifcfg-ippp* , pour ne garder que
les noms du type ifcfg-[a-z0-9] et en remplaant au moyen de la commande sed
la chaine ifcfg- par rien.
Cette variable va servir pour configurer et ventuellement dmarrer chaque interface
lors du boot de la machine.

Version 2.0 2004


fmicaux@actilis.net

226/270

Linux Administration systme


Installation, Administration, Intgration

Scripts de dmarrage : dmarrage des interfaces


Par la suite, dans le script, on peut lire dans la clause start , les lignes suivantes :
for i in $interfaces; do
if egrep -L "^ONBOOT=\"?[Nn][Oo]\"?" ifcfg-$i >/dev/null 2>&1; then
# Probe module to preserve interface ordering
/sbin/ifconfig $i >/dev/null 2>&1
else
action "Bringing up interface $i: " ./ifup $i boot
fi
done

Laction est la suivante :


pour chaque valeur de inferface, faire
Si linterface NE DOIT PAS doit tre dmarre au boot (ONBOOT=NO)
Charger simplement le module de la carte
Sinon excuter le script ifup NOM-INTERFACE boot

Version 2.0 2004


fmicaux@actilis.net

227/270

Linux Administration systme


Installation, Administration, Intgration

Scripts de dmarrage : la commande ipcalc


Le script ifup est charg de dmarrer chaque interface en fonction du mode de
dmarrage paramtr dans chaque fichier ifcfg-ethX.
(Note : dans la clause stop, est appel ifdown).

Ce mode peut tre dynamique (DHCP ou BOOTP) ou statique (paramtres renseigns dans le

fichier ifcfg-ethX).
Plus bas dans le script, on constate, dans le mode statique, que la commande ifconfig est utilise

avec des variables :


Tout dabord, la commande ipcalc est utilise plusieurs fois, dans le cas o NETMASK,

BROADCAST, ou NETWORK ne seraient pas renseignes.


if [
eval
fi
if [
eval
fi
if [
eval
fi

-z "$NETMASK" ]; then
`/bin/ipcalc --netmask ${IPADDR}`
-z "$BROADCAST" ]; then
`/bin/ipcalc --broadcast ${IPADDR} ${NETMASK}`
-z "$NETWORK" ]; then
`/bin/ipcalc --network ${IPADDR} ${NETMASK}`

Ce passage sert valoriser des variables qui ne seraient pas renseignes (NETMASK,
BROADCAST, et NETWORK) dans le fichier ifcfg-ethX, par calcul. Les seules
valeurs renseigner absolument sont donc DEVICE et IPADDR.

Version 2.0 2004


fmicaux@actilis.net

228/270

Linux Administration systme


Installation, Administration, Intgration

Scripts de dmarrage : affectation des adresses


Configuration et dmarrage de linterface
ifconfig ${DEVICE} ${IPADDR}
${ARP:+arp} ${MTU:+mtu $MTU}

netmask

${NETMASK}

broadcast

${BROADCAST}

Les autres variables (ARP, MTU) sont utilises aprs expansion par le shell si elles
sont positionnes seulement.

Version 2.0 2004


fmicaux@actilis.net

229/270

Linux Administration systme


Installation, Administration, Intgration

Configuration des interfaces sur RedHat/Mandrake


Nommage des fichiers
Les fichiers sont dans /etc/sysconfig/network-scripts et sont nomms ifcfginterface.
Configuration dune interface par DHCP
[root@firewall /etc]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=DHCP
ONBOOT=yes

Configuration dune interface manuellement


[root@firewall /etc]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.0.1
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
ONBOOT=yes

Version 2.0 2004


fmicaux@actilis.net

230/270

Linux Administration systme


Installation, Administration, Intgration

Configuration des interfaces sous Debian


Configuration dune interface par DHCP
[root@firewall /etc]# cat /etc/network/interfaces
auto eth0
iface eth0 inet dhcp

Configuration dune interface manuellement


[root@firewall /etc]# cat /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.0.199
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.100.255
gateway 192.168.0.1

Version 2.0 2004


fmicaux@actilis.net

231/270

Linux Administration systme


Installation, Administration, Intgration

Analyse et diagnostic : ping


La commande ping
Elle permet de valider
Quune interface rseau est configure

Quune adresse IP est joignable

On peut aussi sen servir pour surcharger un rseau, pour mesurer des temps daccs vers une

machine distante, etc.


Ping utilise le protocole ICMP, et en particulier des datagrammes ECHO_REQUEST, chargs

de demander lte distant un envoi de datagramme de type ECHO_RESPONSE.

Son usage le plus courant est ping ADRESSE .


Ladresse peut tre un nom de machine ou une adresse IP.

Exemple :
Envoi de 5 datagrammes ECHO_REQUEST

ping c 5 www.actilis.fr

Si lon ne prcise pas loption c X, alors la commande ping tourne indfiniment,


raison dun paquet par seconde.

Version 2.0 2004


fmicaux@actilis.net

232/270

Linux Administration systme


Installation, Administration, Intgration

Analyse et diagnostic : options de ping


Le temps entre deux envois peut tre spcifi, par loption i X. Exemple :
ping i 5 www.actilis.fr

Autre option : le Flood Ping, servant surcharger un rseau, est demand par loption
-f.
Il sert voir combien de paquets sont perdus et donc tester la qualit du rseau.

[root@firewall network-scripts]# ping -f www.actilis.fr


PING web.pro.proxad.net (212.27.35.100): 56 octets data
.............................................................................
.........................................................
--- web.pro.proxad.net ping statistics --432 packets transmitted, 269 packets received, 37% packet loss
round-trip min/avg/max = 44.1/380.9/533.3 ms

On se sert surtout de cette commande pour dterminer si un hte distant est


accessible ou pas. Lorsque cela ne marche pas, laffichage est le suivant :
[root@firewall network-scripts]# ping -c 5 www.pentagon.org
PING www.pentagon.org (208.4.62.5): 56 octets data
--- www.pentagon.org ping statistics --5 packets transmitted, 0 packets received, 100% packet loss

Version 2.0 2004


fmicaux@actilis.net

233/270

Linux Administration systme


Installation, Administration, Intgration

Configuration de la rsolution de noms


Aujourd'hui, sur presque tous les Unix, on utilise une librairie (libnss) pour toutes
les rsolutions de noms (machines ou pas).
Les fonctions gethostbyname() et similaires choisissent les mthodes, en fonction de
ce quon indique dans le fichier /etc/nsswitch.conf.
Extrait de fichier /etc/nsswitch.conf
passwd:
shadow:
group:

files nisplus
files nisplus
files nisplus

#hosts:
hosts:

db files nisplus nis dns


files dns

Service

Mthodes

Quelque
soit le service,
mthode files se rapporte toujours au fichier du nom du service dans /etc.

la

Pour la mthode hosts , c'est le fichier /etc/hosts.


La mthode dns fait appel au resolver DNS,
et donc au fichier /etc/resolv.conf.

Version 2.0 2004


fmicaux@actilis.net

234/270

Linux Administration systme


Installation, Administration, Intgration

Les mthodes de rsolution de noms


Le fichier /etc/nsswitch.conf indique qu'il faut d'abord regarder dans /etc/hosts, puis
ensuite dans le DNS :
Le fichier /etc/hosts associe des adresses des noms de machines
Indiqu par le mot cl hosts

Exemple de fichier /etc/hosts

# File : /etc/hosts
127.0.0.1

-- readable pour tout le monde.


localhost.localdomain localhost

Adresse IP

Nom d'hte

Le
client
sert faire un appel un serveur DNS

Alias

DNS ,

qui

Indiqu par le mot cl bind


Le serveur DNS contacter est dfini dans /etc/resolv.conf
Exemple de fichier /etc/resolv.conf

search actilis.net
nameserver 192.168.0.200

Version 2.0 2004


fmicaux@actilis.net

235/270

Linux Administration systme


Installation, Administration, Intgration

TP Le Rseau
Interface principale
Configurer linterface principale eth0 avec les adresses IP dfinies pendant le cours (en fonction

de la salle)
Il faudra penser diter le fichier /etc/modules.conf pour ajouter les ventuels paramtres lis au

module noyau de la carte rseau.


Tester laccessibilit des machines de vos voisins.

Scripts de dmarrage
Prparer le script ifcfg-eth0 permettant la configuration automatique de linterface au prochain

dmarrage.
Relancer le script de dmarrage relatif la configuration de votre interface rseau.

Version 2.0 2004


fmicaux@actilis.net

236/270

Linux Administration systme


Installation, Administration, Intgration

TP Le rseau
Exercice 1
A laide de la commande ifconfig, effectuez les oprations suivantes :

Arrter linterface rseau eth0.

Configurer linterface pour quelle utilise la nouvelle adresse.

La machine m1 doit avoir l'adresse 192.168.0.10, m2 la .20, etc

Lister les interfaces rseau actives.

Exercice 2
A laide de la commande ping , vrifier que vous pouvez joindre les machines situes votre

gauche et votre droite.


A laide de la commande netstat, afficher les statistiques lies au trafic sur votre interface eth0.

A laide de la commande netstat, lister les ports ouverts et leur programme associ

A laide de la commande netstat, lister les routes tablies

Exercice 3
Le fichier /etc/nsswitch.conf permet entre-autres de dfinir les mcanismes de recherche de

noms dhtes.
Faire en sorte que votre machine utilise en premier lieu le DNS, et en second lieu son fichier

hosts .
En cas dchec de recherche aprs le fichier hosts , la machine doit abandonner.

Exercice 4
Configurer la machine pour quelle puisse aller sur Internet

Version 2.0 2004


fmicaux@actilis.net

237/270

Linux Administration systme


Installation, Administration, Intgration

TP avec instructions
Exercice 1
A laide de la commande ifconfig, effectuez les oprations suivantes :

Arrter linterface rseau eth0.

ifconfig eth0 down

Configurer linterface pour quelle utilise la nouvelle adresse 192.168.100.xxx

La machine m1 doit avoir l'adresse 192.168.100.10, m2 la .20, etc

ifconfig eth0 192.168.100.xxx

Lister les interfaces rseau actives.

ifconfig

Exercice 2
A laide de la commande ping , vrifier que vous pouvez joindre les machines situes votre

gauche et votre droite.


ping 192.68.100.20

A laide de la commande netstat, afficher les statistiques lies au trafic sur votre interface eth0.

netstat -i

A laide de la commande netstat, lister les ports ouverts et leur programme associ

netstat -plnt

A laide de la commande netstat, lister les routes tablies

netstat

-r

Version 2.0 2004


fmicaux@actilis.net

238/270

Linux Administration systme


Installation, Administration, Intgration

Exercice 3
Le fichier /etc/nsswitch.conf permet entre-autres de dfinir les mcanismes de recherche de

noms dhtes.
Faire en sorte que votre machine utilise en premier lieu le DNS, et en second lieu son fichier

hosts .
Dans /etc/nsswitch.conf, la ligne hosts doit tre :

hosts:

dns files

En cas dchec de recherche aprs le fichier hosts , la machine doit abandonner

hosts:

dns files [NOTFOUND=return]

Exercice 4
Configurer la machine pour quelle puisse aller sur Internet

route

add default gw 192.168.0.199

Dans /etc/resolv.conf, insrer :

nameserver 192.168.0.199

Version 2.0 2004


fmicaux@actilis.net

239/270

Linux Administration systme


Installation, Administration, Intgration

Le Firewall Netfilter
Thmes du module
Introduction au Firewall NetFilter

Prsentation des concepts

Mise en oeuvre avec iptables.

Objectifs
Lire un script de firewall (IPCHAINS /IPTABLES)
Mettre en uvre un firewall

Version 2.0 2004


fmicaux@actilis.net

240/270

Linux Administration systme


Installation, Administration, Intgration

Rappels sur la notion de firewall


Qu'est-ce qu'un firewall ?
Il s'agit d'un quipement capable de filtrer du trafic rseau.

Il s'appuie sur les enttes des paquets uniquement, jamais sur le contenu.

On peut reconnatre des paquets par :


l'adresse IP source ou destination

L'adresse MAC source des paquets

le protocole (tcp, udp, icmp)

le port source ou destination (lorsque l'on prcise le protocole tcp ou udp)

Un firewall ne filtre pas sur


les URL,

le contenu des mails,

les metteurs ou destinataires des mails,

les noms de fichiers, ...

Un firewall n'est pas forcment un routeur


Il peut tre implment en pont, donc pas forcment en routeur

Un firewall n'est pas un proxy


Il ne fait qu'acheminer du trafic rseau

Version 2.0 2004


fmicaux@actilis.net

241/270

Linux Administration systme


Installation, Administration, Intgration

Netfilter : Le Firewall intgr dans le noyau Linux


Linux est capable de filtrer le trafic rseau
C'est grce un composant appell Netfilter et son paramtrage a volu au gr des
versions du noyau :
ipfwadm avec les noyaux 2.0,

ipchains avec les noyaux 2.2,

iptables avec les noyaux 2.4

Les 3 commandes ont des syntaxes qui se ressemblent, et il existe des scripts de conversion.
Chacune des versions du firewall de Linux descend de la prcdente, et ipfwadm elle-mme est

une implmentation amliore de ipfw (provenant de BSD).

Version 2.0 2004


fmicaux@actilis.net

242/270

Linux Administration systme


Installation, Administration, Intgration

Le principe de NetFilter
Netfilter peut tre apprhend comme un pipeline compos de 3 sous-ensembles
(input, forward, output), qui pourront tre parcourus successivement par chaque
paquet filtrer.
On appelle ces sous-ensembles des chaines , dont chacune peut tre bloquante. Une chaine

n'est qu'un ensemble de rgles reconnaissant les paquets et prenant une dcision.
Dans les noyaux 2.2, pour qu'un paquet puisse passer, il doit pouvoir traverser les 3 chaines

input, forward, output.


Dans le noyau 2.4, les paquets sont traits de la manire suivante :
Si il est destination de la machine locale : input

Si il vient de la machine locale : output


Si il doit tre rout : forward

Dans chaque chaine, on pourra tout moment prendre une dcision


ACCEPT : le paquet continue son chemin

DROP : le paquet est dtruit


D'autres dcisions sont possibles, nous le verrons plus loin

Version 2.0 2004


fmicaux@actilis.net

243/270

Linux Administration systme


Installation, Administration, Intgration

Hooks / Chaines
Il existe dans NetFilter les chaines standards dj prsentes dans ipchains :
input, output, forward

Dans la version 2.4 du noyau, il existe d'autres chaines (prerouting, postrouting) dont il est

question lors de la traduction d'adresses (table nat).

Soit 5 hooks : prerouting, input, forward, output et postrouting


Les tables
Ce sont des ensembles nomms de chaines que l'on souhaite faire traverser par les
paquets. Les 3 tables
Filter : pour les oprations de filtrage
Hooks : input, forward, output

Nat : pour les oprations de traduction dadresses


Hooks
prerouting et postrouting pour les paquets gnrs non localement
output pour altrer les paquets gnrs localement

SNAT et DNAT : On peut altrer l'adresse source ou l'adresse destination

Mangle : pour laltration des enttes de paquets

Version 2.0 2004


fmicaux@actilis.net

244/270

Linux Administration systme


Installation, Administration, Intgration

Filtrage par le Noyau Linux


Paramtrage du noyau
Noyau 2.0 : support des fonctionnalits IPFWADM
Noyau 2.2 : support des fonctionnalits IPFWADM, ou IPCHAINS
Noyau 2.4 : support des fonctionnalits IPFWADM, IPCHAINS ou IPTABLES
Le slide suivant montre les options slectionner pour un noyau 2.4, pour une
utilisation avec ipfwadm, ipchains ou iptables.
Si les fonctionnalits sont compiles en tant que module (ce qui ne pose aucun
problme), il faudra dans le script de configuration du firewall, penser charger les
modules ncessaires.

Version 2.0 2004


fmicaux@actilis.net

245/270

Linux Administration systme


Installation, Administration, Intgration

Paramtres noyau lis au filtrage IP


Dans la section Networking Options,
activer Network Packet Filtering
puis entrer dans la sous-section IP: Netfilter Configuration

Networking options --->


[*] Network packet filtering (replaces ipchains)
IP: Netfilter Configuration --->
<M> Connection tracking (required for masq/NAT)
<M>
FTP protocol support
< > Userspace queueing via NETLINK (EXPERIMENTAL)
<M> IP tables support (required for filtering/masq/NAT)
< >
limit match support
< >
MAC address match support
< >
netfilter MARK match support
< >
Multiple port match support
< >
TOS match support
< >
tcpmss match support
< >
Connection state match support
< >
Unclean match support (EXPERIMENTAL)
< >
Owner match support (EXPERIMENTAL)
<M>
Packet filtering
< >
Full NAT
< >
Packet mangling
< >
LOG target support
< >
TCPMSS target support
<M> ipchains (2.2-style) support
<M> ipfwadm (2.0-style) support

Version 2.0 2004


fmicaux@actilis.net

246/270

Linux Administration systme


Installation, Administration, Intgration

Complments sur Netfilter


Les modules noyau lis au filtrage sont globalement les suivants :
iptable_filter : module de gestion du filtrage de paquets

ip_tables

: interaction entre le module de filtrage et la commande iptables

ipt_state

: gre la table des tats de connexions

ipt_tcp: gre les connexions TCP

ipt_udp

: gre les connexions UDP

ipt_log: permet la journalisation




ipt_defrag

: permet le r-assemblage des paquets fragments

ip_conntrack : gre la mise en mmoire des demandes de connexions




Netfilter gre l'tat des connexions


On appelle ceci un firewal stateful , c'est dire capable de filtrer non seulement sur les port,


interfaces, adresses, protocoles, mais aussi sur les flags des paquets.
Ainsi, on peut autoriser passer des paquets s'ils sont en relation avec une connexion tablie.


Voir --state ESTABLISHED, RELATED.

Version 2.0 2004


fmicaux@actilis.net

247/270

Linux Administration systme


Installation, Administration, Intgration

Manipulation des "chanes"


Syntaxe de la commande iptables
Pour crer nos propres chanes
iptables N nom_chane

Pour insrer nos rgles dans une chane (obligatoirement existante)


iptables A nom_chane REGLE1

Par dfaut, les rgles sont ajoutes dans la table FILTER.


On prcise par -t table la table dans laquelle on veut les ajouter.




Effacer entirement une chane


iptables -F [nom_chane]

Remettre zero le compteur de paquets dune chane


iptables -Z nom_chane

Dfinir le comportement par dfaut d'une chane


iptables -P chane TARGET

Lister les chanes


iptables -L

Version 2.0 2004


fmicaux@actilis.net

248/270

Linux Administration systme


Installation, Administration, Intgration

tablir des rgles dans des chanes


Pour insrer nos rgles dans une chane (obligatoirement existante)
iptables A nom_chane REGLE -j TARGET

Les rgles
Spcification dune adresse et dun port source (-s)


Spcification dune adresse et dun port destination (-d)




Spcification dun protocole (-p) (tcp, udp, icmp)


Reconnatre les ports (--sport, --dport)
!

Reconnatre l'adresse MAC source : (--mac-source)


Ncessite de prciser -m mac

"

Les TARGETs : (-j TARGET)


ACCEPT (OK, le trafic est accept),
$

REJECT (KO, Retourne Erreur ICMP: Destination Unreachable),


%

DROP (KO, sans avertir lmetteur, cest impoli),


&

MASQUERADE (OK, Masquerading, seulement sur la chaine FORWARD),


'

SNAT, DNAT (OK, r-criture de l'adresse source ou destination)


(

REDIRECT (OK, altration de l'adresse destination : renvoi vers machine locale)


)

MIRROR (exprimental : inversion des adresses source et destination)


0

LOG, (ULOG) : passage en trace syslogd (ou en trace en espace utilisateur)


1

On peut prciser comment on souhaite logguer


--log-level, --log-prefix, --log-tcp-sequence, --log-tcp-options, --log-ip-options

Les Flags
On peut prciser l'tat des connexions
Stafeful : --state INVALID, NEW, ESTABLISHED, RELATED
Ncessite de prciser -m state

5
6

Version 2.0 2004


fmicaux@actilis.net

249/270

Linux Administration systme


Installation, Administration, Intgration

Exemple de firewall
Nous imaginons que nous sommes le Firewall entre deux rseaux
192.168.0.0/24 : notre "LAN"
7

192.168.1.0/24 : notre rseau "client"


8

Le LAN protger des attaques du client est 192.168.0.0/24


Eth0 est l'interface "interne" : 192.168.0.254
9

Eth1 est l'interface "externe" : 192.168.1.254


@

Pour lexemple, on veut seulement autoriser


Le trafic de lintrieur vers lextrieur (routage filtrant)
web , ftp, travers notre proxy Squid (192.168.0.199),

telnet (et ping pour accrditer notre proxy) pour tous,


C

smtp seulement depuis notre serveur SMTP (192.168.0.201)


D

Le trafic de lextrieur vers lintrieur (routage filtrant)


Web, mais seulement vers 192.168.0.200, notre serveur WWW
SMTP, mais seulement vers 192.168.0.201, notre serveur SMTP local

F
G

Version 2.0 2004


fmicaux@actilis.net

250/270

Linux Administration systme


Installation, Administration, Intgration

Rgles de l'exemple : avec iptables


Ceci n'est qu'un exemple et mriterait de devenir un script complet
Ce script pourrait s'appeler /etc/rc.d/rc.firewall, par exemple.
Il devrait :
Charger les modules,

H
I

modprobe iptables

Implanter nos rgles,


Rgles globales dinhibition de trafic

iptables P input
REJECT
iptables P forward ACCEPT
iptables P output ACCEPT

Le routage du trafic de lintrieur vers lextrieur


S

iptables
iptables
iptables
iptables
iptables

A
A
A
A
A

input
input
input
input
input

p
p
p
p
p

tcp
tcp
tcp
tcp
ICMP

s
s
s
s
s

192.168.0.199
192.168.0.199
192.168.0.201
192.168.0.0/24
192.168.0.0/24

d
d
d
d
d

0/0
0/0
0/0
0/0
0/0

--dport
--dport
--dport
--dport

80
21
25
23

j
j
j
j
j

ACCEPT
REJECT
ACCEPT
ACCEPT
ACCEPT

Le routage du trafic de lextrieur vers lintrieur


T

iptables A input p tcp s 0/0 d 192.168.0.200 --dport 80 j ACCEPT


iptables A input p tcp s 0/0 d 192.168.0.201 --dport 25 j DROP
iptables A input p tcp s 0/0 -d 192.168.0.199 --dport 20 j ACCEPT

Activer le routage
U

echo 1 >/proc/sys/net/ipv4/ip_forward

ou
V

sysctl -w net.ipv4.ip_forward

Attention : FTP pose un problme, voir plus loin.

Version 2.0 2004


fmicaux@actilis.net

251/270

Linux Administration systme


Installation, Administration, Intgration

Routage par masquage dadresses


But
Partager une connexion de type monoposte
Se protger des attaques extrieures
W

Ne passe que ce qui est sollicit par lintrieur


X

Principe
Tous les protocoles sont routs de lintrieur vers lextrieur.
Le routeur r-crit les adresses sortantes (remplace celle du demandeur par la sienne) et
Y

affecte un numro de port sortant dynamiquement puis cre une connexion sortante.
Ainsi, lorsque la rponse arrive, il sy retrouve, par le n de port auquel la rponse est expdie,
`

et peut r-acheminer la rponse vers le client.


Vu des distants, tous les paquets viennent du routeur.
a

Cette fonctionnelit s'appelle IP Masquerading, et utilise la table NAT

Version 2.0 2004


fmicaux@actilis.net

252/270

Linux Administration systme


Installation, Administration, Intgration

Mise en oeuvre du masquage d'adresses


Dmarche de mise en oeuvre
Sur les clients
Configurer le routage de manire classique (route par dfaut tablir)
b

Sur le routeur
Configurer le lien dialup (ppp, ADSL, cable ou autre)
c

Scuriser le serveur
On ferme les applications qui ne doivent pas tre accessibles par l'extrieur
d

On tente de ne pas laisser de serveur telnet ou ssh en accs libre...


On filtre les accs extrieurs

On essaye de supprimer le compilateur C, client telnet, ou ssh sur le firewall.


g

Configurer le routeur IP-Masquerade


Charger les modules concerns du noyau
tablir les rgles de filtrage du trafic

h
i

Version 2.0 2004


fmicaux@actilis.net

253/270

Linux Administration systme


Installation, Administration, Intgration

IP Masquerading : mise en place des rgles


Avec ipfwadm (disponible en noyau 2.0, 2.2, et 2.4)
ipfwadm -F -p deny
ipfwadm -F -a accept -m -S 192.168.0.0/24 -D 0.0.0.0/0

Avec ipchains (disponible en noyau 2.2 et 2.4)


ipchains -P forward DENY
ipchains -A forward -s 192.168.0.0/24 -d 0/0 -j MASQ

Avec iptables (disponible en noyau 2.4)


iptables -t nat -P POSTROUTING DROP
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0/0 -j MASQUERADE

Etablissement du routage par le noyau


Dans toutes les versions du noyau
p

echo 1 >/proc/sys/net/ipv4/ip_forward

Si l'adresse IP externe n'est pas fixe, il faut en plus activer ip_dynaddr.


q

echo 1 > /proc/sys/net/ipv4/ip_dynaddr

Version 2.0 2004


fmicaux@actilis.net

254/270

Linux Administration systme


Installation, Administration, Intgration

IP Masquerading : mise en place des rgles


Comportements spcifiques pour certains protocoles
Certains protocoles ncessitent un traitement spcifique, car les paquets de retour
n'arrivent pas forcment par le port par lequel ils sont sortis.
Exemple : FTP
Le client FTP passe par dfaut les commandes au serveur sur le port 21 du serveur et reoit les
r

donnes mises par le port 20 du serveur sur un port local ngoci par le client chaque
transaction. Il pose donc un problme global du point de vue firewall.

Deux solutions :
Utiliser FTP en mode passif (transferts sur le port 21), mais cela ne fonctionne pas toujours sur la
s

version FTP des PC Windows, et n'est donc pas une solution.


Faire faire le travail par le firewall
Des modules noyau sont chargs de grer les protocoles spcifiques
ip_masq_ftp doit tre charg pour grer correctement ce protocole.
En version 2.4, celui-ci s'appelle ip_conntrack_ftp

v
w

De la mme manire, les modules suivants ont un rle jouer :


ip_masq_raudio, ip_masq_irc, ip_masq_quake, ip_masq_cuseeme, ...

Ces modules mettent en jeu la technique Connection tracking et donc le mode


Stateful.

Version 2.0 2004


fmicaux@actilis.net

255/270

Linux Administration systme


Installation, Administration, Intgration

Serveurs Virtuels : LVS et ipvsadm


Prsentation
LVS permet de relayer des connexions de clients vers un autre serveur que celui
dsign dans l'adresse IP cible par le client.
C'est une fonctionnalit que le noyau doit intgrer.

On administre cette fonctionnalit (Linux Virtual Servers) grce la commande ipvsadm.

On utilise LVS pour implmenter un cluster de charge.

Fonctionnalits intressantes
LVS permet de rpartir la charge vers plusieurs serveurs.
Le DNS dsigne une machine, qui grce LVS relaye les requtes (en round-robin, par exemple),

vers N serveurs fonctionnant sur N serveurs cachs derrire le serveur LVS, la tte de cluster.

Translation de port
LVS permet de modifier le port cible
Une connexion arrivant pour le port 80 du routeur LVS peut tre achemine vers le port X de nos

serveurs "internes".

Version 2.0 2004


fmicaux@actilis.net

256/270

Linux Administration systme


Installation, Administration, Intgration

Administration de LVS : la commande ipvsadm


Syntaxe
Elle ressemble celle d'ipchains, mais on ne parle pas de "chaine".
Exemple : connexion vers des serveurs http et smtp internes via LVS
# R-criture des regles IPVSADM (LVS)
ADRIP=`adrip.sh`
ipvsadm -C
ipvsadm -A -t $ADRIP:80 -s rr
ipvsadm -a -t $ADRIP:80 -r 192.168.0.200:80 -m -w 1
ipvsadm -a -t $ADRIP:80 -r 192.168.0.201:80 -m -w 1
ipvsadm -A -t $ADRIP:25 -s rr
ipvsadm -a -t $ADRIP:25 -r 192.168.0.240:25 -m -w 1

Version 2.0 2004


fmicaux@actilis.net

257/270

Linux Administration systme


Installation, Administration, Intgration

TP - Firewall
Exercice 1
Empcher tout le monde sauf votre voisin de venir en SSH chez vous

Tracer

toutes

les

tentatives

de

ping

sur

votre

machine

dans

un

fichier

/var/log/firewall.log
Rediriger le trafic HTTP vers un proxy HTTP local

Exercice 2
Ecrire un petit firewall laissant passer les trafics SSH, DNS, HTTP,POP, SMTP, HTTPS du LAN

vers lextrieur

Version 2.0 2004


fmicaux@actilis.net

258/270

Linux Administration systme


Installation, Administration, Intgration

TP avec instructions
Exercice 1
Empcher tout le monde sauf votre voisin de venir en SSH chez vous

iptables P INPUT REJECT


iptables A INPUT --source 192.168.0.xxx --dport 22 j ACCEPT

Ou

iptables A INPUT m mac --mac-source 15:23:AA:45:56:83 --dport 22 j ACCEPT

Tracer

toutes

les

tentatives

de

ping

sur

votre

machine

dans

un

fichier

/var/log/firewall.log
iptables A INPUT p icmp j LOG

Rediriger le trafic HTTP vers un proxy HTTP local

iptables -t nat A

PREROUTING p tcp --dport 80 j REDIRECT --to-ports 3128

Ou

iptables t nat A PREROUTING p tcp --dport 80 j DNAT --to-destination


127.0.0.1:3128

Version 2.0 2004


fmicaux@actilis.net

259/270

Linux Administration systme


Installation, Administration, Intgration

Annexes
Thmes prsents
Gestion des services avec Xinetd

Objectifs
Configurer les services standard ncessaires l'administration distante

Version 2.0 2004


fmicaux@actilis.net

260/270

Linux Administration systme


Installation, Administration, Intgration

Introduction aux services rseau avec Xinetd


Xinetd
Description
Xinetd signifie eXtented Internet services daemon (on prononce Zi-net-d)

Il fournit une excellente scurit contre les intrusions, et limite certains risques d'attaques par

Deny of Services (DoS).

Sa configuration est "plus lisible" que celle du couple inetd+tcpd.


Comme la paire inetd+tcpd, il permet de fixer des droits d'accs une machine.

Mais ses capacits s'tendent bien au-del :


contrle d'accs pour des services TCP, UDP et RPC,

contrle d'accs fond sur des plages horaires,


d

logging puissant, autant en cas de succs que d'chec de la connexion,


e

prvention efficace contre les attaques de type Deny of Services (DoS) qui bloquent une machine
f

en saturant ses ressources :


limitations du nombre total de serveurs,
g

limitations du nombre de serveurs d'un mme type qui peuvent tourner en mme temps,
limitations sur la taille des fichiers de log,

h
i

Intgration avec GNU/Linux


Xinetd est "connu" et les services qu'il sert sont "grs" par "ntsysv" et "chkconfig", les outils
j

RedHat de pilotage des services de chaque runlevel utiliss par RedHat et Mandrake.

Version 2.0 2004


fmicaux@actilis.net

261/270

Linux Administration systme


Installation, Administration, Intgration

Outils de configuration
Le fichier /etc/xinetd.conf configure, le dmon xinetd (une option de la ligne de
commande permet d'en dsigner un autre).
Si la configuration de xinetd n'est pas trs complique, elle est longue et la syntaxe
diffre de celle employe par son prdcesseur Inetd.
Deux utilitaires (itox et xconv.pl) sont fournis avec xinetd et permettent de convertir
le fichier /etc/inetd.conf en fichier de configuration pour xinetd.
Bien videmment, ceci ne suffit pas dans la mesure o les rgles stipules dans les
fichiers de configuration du wrapper (tcpd) sont ignores.
itox n'volue plus, mme s'il est encore maintenu. xconv.pl offre une meilleure
solution, mme si le rsultat ncessite d'tre modifi, ne serait-ce que parce que
xinetd offre plus de possibilits qu'inetd.
Utilisation de xconv.pl
CHEMIN/xconv.pl < /etc/inetd.conf > /etc/xinetd.conf

Ceci gnre le fichier de configuration xinetd.conf partir de inetd.conf.


Il faut ensuite vrifier et ajutser les paramtres, notamment pour les restrictions d'accs.

k
l

Version 2.0 2004


fmicaux@actilis.net

262/270

Linux Administration systme


Installation, Administration, Intgration

TP : installation de Xinetd
Installer le paquetage "xinetd".
Accepter la conversion de format de "inetd" vers "xinetd" en cas de besoin.
Dsinstaller inetd s'il tait install.

Version 2.0 2004


fmicaux@actilis.net

263/270

Linux Administration systme


Installation, Administration, Intgration

Configuration de Xinetd
Le fichier de configuration commence par une section par dfaut dont les attributs
seront utiliss pour tous les services pris en charge par xinetd.
Suivent alors autant de sections que de services dsirs, chacun pouvant redfinir des
options qui lui seront spcifiques par rapport celles par dfaut.
La section des valeurs par dfaut peut par exemple tre :
defaults
{
instances
only_from
log_type
log_on_success
log_on_failure
}

=
=
=
=
=

60
127.0.0.1
SYSLOG authpriv
HOST PID
HOST RECORD

Ces attributs sont hrits par les services dcrits ensuite.


Il est possible de modifier ces valeurs par dfaut au sein de chaque service.
Pour des raisons de scurit, il faut interdire par dfaut l'accs tout le monde pour
tout service pour ensuite autoriser l'accs chaque service seulement aux htes qui
en ont besoin.

Version 2.0 2004


fmicaux@actilis.net

264/270

Linux Administration systme


Installation, Administration, Intgration

Inclusion de sous-fichier
On peut inclure dans la configuration des sous-fichiers (nomms ou contenus dans un
rpertoire nomm).
On utilise la directive Include pour un fichier ou Includedir pour un rpertoire :
include /root/essais-xinetd.conf
includedir /etc/xinetd.d

Le fichier /root/essais-xinetd.conf (pour des tests ponctuels par exemple) est intgr
dans la configuration.
Tous les fichiers contenus dans /etc/xinetd.d sont aussi intgrs par Xinetd comme
si les services qu'ils dcrivent taient intgrs directement dans le fichier de
configuration principal.

Version 2.0 2004


fmicaux@actilis.net

265/270

Linux Administration systme


Installation, Administration, Intgration

Structure de la dclaration d'un service


La structure de configuration dun service est toujours la mme :
Le mot cl service commence la section, suivi du nom du service.
m

Comme en C, on dcrit le bloc lintrieur de deux accolades.


n

La syntaxe de chaque bloc est dcrite comme le montre lexemple ci-dessous :


o

service <service_name>
{
<attribut> <oprateur> <valeur> <valeur> ...
...
}

TP : configuration de Xinetd
Mettre jour la configuration de Xinetd pour clater le fichier de configuration en plusieurs
p

parties
Le fichier "/etc/xinetd.conf" ne doit contenir que les directives par dfaut.
Chaque service doit donner lieu un sous-fichier contenu dans /etc/xinetd.d

q
r

Version 2.0 2004


fmicaux@actilis.net

266/270

Linux Administration systme


Installation, Administration, Intgration

Les principaux attributs


Les attributs absolument ncessaires pour dcrire un service sont :
socket_type : stream, dgram, raw, seqpacket
s

user (non-internal services only) : doit exister dans /etc/passwd


t

server (non-internal services only) : programme excuter.


u

wait : yes ou no. Si yes, alors le service est en mode "single-user".


v

protocol (RPC and unlisted services only) : doit tre list dans /etc/protocols.
w

rpc_version (RPC services only) : numro de la version de RPC (un nombre ou un intervalle).
x

rpc_number (unlisted RPC services only) : Numro RPC (sauf si service list dans /etc/rpc)
port (unlisted non-RPC services only) : Si prcis pour un service list dans /etc/services, alors il

y
z

doit tre gal ce qui est dit dans /etc/services.

Autres attributs
Il en existe une bonne trentaine documentes dans la page du manuel de xinetd.conf.
Les attributs "disable", "only_from", "instances", "access_times", "log_type",
"log_on_success", "log_on_failure", "bind", "banner", "banner_fail" sont les plus
intressants.

Version 2.0 2004


fmicaux@actilis.net

267/270

Linux Administration systme


Installation, Administration, Intgration

Les oprateurs
Les oprateurs peuvent tre :
= : assignation d'une liste de valeurs un attributs
{

+= : augmentation de la liste de valeurs d'un attribut


|

-= : restriction une liste de valeurs d'un attribut


}

Les attributs spcifiques :


Les attributs suivants supportent tous les oprateurs (=, +=, -=) :
only_from
~

no_access


log_on_success

log_on_failure

passenv
env (ne supporte pas "-=")

Tous les autres ne supportent que le "=".

Version 2.0 2004


fmicaux@actilis.net

268/270

Linux Administration systme


Installation, Administration, Intgration

Exemple : Fichier /etc/xinetd.conf pilotant un simple Telnet :


defaults
{

instances
log_type
log_on_success
log_on_failure

}
service telnet
{
flags
socket_type
wait
user
server
log_on_failure
only_from
}

Version 2.0 2004


fmicaux@actilis.net

=
=
=
=

10
SYSLOG authpriv
HOST PID
HOST RECORD

= REUSE
= stream
= no
= root
= /usr/sbin/in.telnetd
+= USERID
= 192.168.0.0/24

269/270

Linux Administration systme


Installation, Administration, Intgration

TP : Pilotage d'un service par Xinetd.


Le service "telnet" est normalement dmarr sur le port 23.
Crer un service "unlisted" pour que le serveur /usr/sbin/in.telnetd dmarre aussi sur le port

23000.
Configurer Xinetd pour que ce service rponde sur le port 23000 tout client, alors que le vrai

telnet ne doit rpondre que sur "localhost".


Utiliser "banner_success" et rfrencer un fichier dans lequel il y a le nom de votre machine

(/tmp/nom)
Arrter ensuite le service telnet fonctionnant sur le port 23 sans supprimer sa description

Version 2.0 2004


fmicaux@actilis.net

270/270