You are on page 1of 197

Administration de Systmes UNIX

Gal DELBARY
Reprise des cours de Frdric COMBEAU

Administration Unix 11/11/09 1


Qu'est-ce que l'Administration de Systmes ?
Les diffrentes actions d'un administrateur systme
Grer les comptes utilisateurs
Grer les impressions
S'occuper des sauvegardes et des restaurations
Tuner et surveiller les systmes
Assurer la scurit
Mettre jour le systme (patch ?, update ?, upgrade ?)
Installer les produits
Grer l'espace disques
Arrter et redmarrer le systme
Surveiller le rseau (et le rparer ou l'amliorer)
Installer de nouveaux systmes et de nouveaux matriels
Rparer les problmes qui surviennent tout seul
crire des scripts pour automatiser un maximum de choses
Assister des runions
Rpondre aux questions diverses des utilisateurs
...
Dfinitions
Administration Unix 11/11/09 2
Quelques Rappels de Bases

Notion de LOGIN
Identification / Authentification

Le HOME ou le rpertoire utilisateur

Les variables d'environnement


PATH, PWD, USER, HOME, LANG, UID, ...

Les commandes de base et le SHELL


cd,pwd,ls,cp,mv,rm,mkdir,id,man...
sh,csh,ksh,bash,zsh,...

Les briques de bases


La combinaison de commandes (bash)
le || , le && , le &
La re-direction
les < , > , 1> , 2> , 2>&1 , |
Remenber me
Administration Unix 11/11/09 3
Quelques Rappels de Bases
Notion de processus
Excutable en cours d'excution
Trait par le SCHEDULER (mode Kernel vs mode User)
Les segments d'un excutable
CODE : contient le code excutable
DATA : donnes globales initialises
BSS : donnes globales non-initialises
HEAP (ou tas) : donnes dynamiques
STACK (ou pile) : donnes locales, fonctions, paramtres, ...
Excutables statiques versus excutables dynamiques
Notions de librairies, de symboles et de chargement dynamique
Les threads
Cycle de vie d'un processus
Le fameux FORK/EXEC
Les diffrents tats : R (runable), S (sleeping), D (non interruptible), T
(strac), Z (zombie), W (si swapp), N (si nic)

Remenber me
Administration Unix 11/11/09 4
Quelques Rappels de Bases

La gestion de la mmoire et les goulets d'tranglement


Mmoire virtuelle versus mmoire physique
Espace d'adressage
Mmoire partage
Mmoire cache
Buffers

La pagination
Plus petite unit de mmoire gre par le gestionnaire de mmoire
virtuelle : la page
Les processus rclament des pages de mmoires
Peuvent-ils en librer ?

Le swap
Quand il y a pnurie de pages mmoires, un processus entier est
swapp (transfr sur disque dur) pour librer des pages mmoires

Remenber me
Administration Unix 11/11/09 5
PLAN (enfin ...)

Historique des UNIX (pour y voir un peu plus clair)

Concepts de base sur l'administration Unix


L'arborescence UNIX
(ou comment retrouver son chemin ?)
Les partitions
(mount, devices, RAID et LVM, les systmes de fichiers)
Les diffrents types de fichiers
(ou comment dcouvrir le pays des fichiers)
Boot loader et procdure de boot matriel
(ou de la mise sous tension jusqu' l'excution du noyau)
Dmarrage et arrt d'un systme UNIX
(ou de l'excution du noyau jusqu'au prompt login)
Les dmons et le lancement de services
(ou comment lancer des chevaux de Troie)
Les processus, la mmoire virtuelle et les entres/sorties
(ou comment tuner un systme)

Programme
Administration Unix 11/11/09 6
PLAN (enfin ...)

Exploitation d'un systme Unix


Les comptes utilisateurs (ou comment autoriser l'utilisation du systme)
L'authentification (password, groups, shadow et PAM)
Les permissions sur les fichiers, les quotas disque et les ACLs (ou
comment contrler qui accde quoi)
Excution dcale : cron, at et les scripts d'exploitation (ou comment
automatiser son travail)
Le noyau : fonctionnement, modules, configuration et compilation (ou
comment empcher sa station de booter)
X-Window (ou comment profiter d'une interface graphique)
Sauvegardes et restaurations (ou comment prendre une assurance
pour son systme)
Les impressions (ou comment s'amuser de longues heures avec les
imprimantes)
Le rseau (ou comment configurer les services de base pour
communiquer avec le monde entier)
Syslog (ou comment jouer Big Brother)
Programme
Administration Unix 11/11/09 7
Historique des UNIX

Comment y voir un peu plus clair ?

Administration Unix 11/11/09 8


Historique des UNIX

1969 MULTICS
UNIX
AT&T
1971

BSD 1986 SYSTEM III XENIX


SCO & Microsoft
IRIX
SUNOS SGI
BSD 4.1c SUN SYSTEM V SYSTEM V /386
SCO & Microsoft
BSD 4.2 ULTRIX IRIX
DEC SGI SYSTEM V R3
SCO UNIX
SCO
BSD 4.4 SOLARIS
SUN SYSTEM V R4

BSD/OS AIX HP-UX Digital Unix


Wind River IBM HP DEC

OSF/1 MACH
FreeBSD OpenBSD NetBSD Kernel

MAC OS X AIX HP-UX Digital Unix


Apple
IBM HP DEC
LINUX
GNU

INTEL / IBM / SUN / HP /


SGI / DEC / APPLE

2008, ... Il tait une fois ...


Administration Unix 11/11/09 9
Concepts de Base de
l'Administration Systme

Arborescence UNIX

Administration Unix 11/11/09 10


Arborescence Gnrale

Tout systme Unix contient une et une seule arborescence

Ne pas oublier que dans un systme Unix : TOUT EST FICHIER

Cette arborescence contient tout ce dont a besoin un systme UNIX


pour fonctionner
Un noyau et ses modules
Des fichiers pour accder aux devices
Des fichiers de configuration
Des binaires excutables
Des librairies
Des rpertoires pour accueillir des fichiers temporaires
Des fichiers de log
Des rpertoires pour grer les impressions
Des rpertoires pour les utilisateurs
Des produits tiers (binaires, configurations, librairies, ...)

TOUT EST FICHIER.


Administration Unix 11/11/09 11
Arborescence Gnrale

/
boot root
dev export
etc opt
tmp lib
init.d X11 var bin sbin mnt proc usr home user2
adm yp disk bin info user1
cache mail cdrom sbin lib
spool tmp floppy X11R6 include
lock usb local src
etc etc tmp
log doc
run share
man man
Branches et arbres
Administration Unix 11/11/09 12
Arborescence Gnrale

/boot : configuration de boot + noyau


/dev : rpertoire de priphriques
/etc : rpertoire des fichiers de configuration
/tmp : rpertoire de fichiers temporaires
/var : rpertoire de fichiers variables (log, impression, mail)
/bin : excutables communs
/sbin : excutables d'administration
/mnt : rpertoire de montage de priphriques amovibles
/proc : rpertoire d'accs aux donnes noyau
/usr : applications globales au systme
/home : rpertoires des comptes utilisateurs
/lib : rpertoire des librairies de base
/opt : rpertoire d'installation des produits tiers
/export : rpertoire des partages rseau
/root : rpertoire de l'administrateur

lost+found : i-node non recouvrable lors d'un fsck


A quoi a sert ?
Administration Unix 11/11/09 13
Concepts de Base de
l'Administration Systme

Partitions, devices,
RAID et LVM, systmes de fichiers

Administration Unix 11/11/09 14


Arborescence et Partitions

/
boot root
dev export
etc opt
tmp lib
init.d X11 var bin sbin mnt proc usr home user2
adm yp disk bin info user1
cache mail cdrom sbin lib
spool tmp floppy X11R6 include
lock usb local src
etc etc tmp
log doc
run share
man man
Arbres et cltures
Administration Unix 11/11/09 15
Arborescence et Partitions

Les rpertoires pouvant tre mis sur des partitions


/boot : limitation du bios
/tmp : les fichiers temporaires
/var : les fichiers qui changent beaucoup
/usr : tous les utilitaires utilisateurs
/usr/tmp : fichiers temporaires utilisateurs
/usr/local : produits tiers
/home : rpertoires utilisateurs
/opt : produits tiers
/export : rpertoires partags en rseau
/proc : variables noyau + processus

TOUT le reste peut aller dans la partition de /

Sans oublier la partition de swap !

Mais c'est quoi une partition ?


Arbres et cltures
Administration Unix 11/11/09 16
Partitions

C'est une partie d'un priphrique de stockage (disque dur, ...)

Tout priphrique de stockage est dcoup en partition

Il existe deux types de partitionnement

Le partitionnement DOS
Contient un MBR (Master Boot Record)
4 partitions primaires
Toutes les partitions sont squentielles
Notion de partition tendue et partition logique

Le partitionnement BSD
8 ou 16 partitions selon les Unix
Les partitions peuvent se recouvrir
La partition C dfinit la totalit du priphrique

Dcoupons les disques


Administration Unix 11/11/09 17
Partitions

Le partitionnement DOS
Partitions primaires
Partitions 1,2 et 3
Partition tendue
Partition 4
Partitions logiques
Partitions 5 et 6

MBR

Partition 1
Partition 2
Partition 3

Partition 5

Partition 6
Partition 4 Espace libre
PC et Dos
Administration Unix 11/11/09 18
Partitions

Chaque partition DOS

Est soit une partition primaire, une partition tendue ou une partition
logique

A un dbut et une fin, exprims en nombre entier de cylindres

A un identifiant, permettant de reprer le type de systme de fichiers


qu'il contiendra (mais peut tre diffrent)

A un boot flag qui est positionn ou pas (dfini la partition bootable par
dfaut)

PC et Dos
Administration Unix 11/11/09 19
Partitions

Le partitionnement BSD

1 seul A B D
disque E F

G
Partitions BSD
Administration Unix 11/11/09 20
Partitions

Chaque partition BSD

A un dbut et une fin, exprims en nombre entier de cylindres

Peut avoir un type, permettant de reprer le type de systme de


fichiers qu'il contiendra (mais peut tre diffrent)

Peut avoir un label, pour lui donner un nom

Les disques BSD sont partitionns au formatage

Ils sont, donc, dj partitionns lorsqu'on les reoit, mais on peut les
re-partitionner

Pas de notion de MBR

Mais le nombre de partitions est limit par le systme

Partitions BSD
Administration Unix 11/11/09 21
Partitions

Et les systmes BSD sous PC, comme FreeBSD, quel type de partition
utilisent-ils ?

Ils peuvent utiliser un systme de partition la BSD

Mais le disque sera ddi au systme d'exploitation BSD

Mais si on veut pouvoir mixer plusieurs systmes d'exploitation

Par exemple : Windows XP, Linux et OpenBSD

On utilisera un systme de partitionnement mixte

Le disque dur est partitionn au format DOS

Mais une partition DOS sera partitionn au format BSD

PC, DOS et BSD


Administration Unix 11/11/09 22
Partitions

Le partitionnement BSD sur un PC avec plusieurs OS

OpenBSD Windows XP Linux Linux


Partition Etendue Swap
1 2 3 4

A B D E F
/ /usr /usr/local /var /home

C
5 6 7 8 9 10

/ /usr /tmp /usr/local /var /home


La totale
Administration Unix 11/11/09 23
Partitions

Les partitions sont les contenants pour les systmes de fichiers

Aprs le partitionnement, il faudra y crer un systme de fichiers

Mais comment accder ces partitions ?

Grce aux fichiers du rpertoire /dev

Les fichiers prsents dans /dev permettent l'accs aux partitions et


l'ensemble du disque

Pour certains Unix, l'accs aux partitions peut s'effectuer de 2


manires

Par les fichiers en mode bloc (standard)

Par les fichiers en mode caractres (pour les sauvegardes)

Partitions et systmes de fichiers


Administration Unix 11/11/09 24
Partitions

Le nommage des fichiers d'accs aux partitions dpend de l'Unix


utilis

Pour Linux
Disque IDE : hd [a|b|c|...] [1|2|3|4|...]
a : contrleur primaire, disque master
b : contrleur primaire, disque slave
c : contrleur secondaire, disque master
d : contrleur secondaire, disque slave
Chiffre : numro de partition pour un disque donn
Disque SCSI/SATA : sd [a|b|c|...] [1|2|3|4|...]
a : premier device vu sur les bus scsi/sata
b : deuxime device vu les bus scsi/sata
Chiffre : numro de partition pour un disque donn
Exemple :
/dev/hda1 : premire partition du premier disque (master) du
premier contrleur
Partitions et devices
Administration Unix 11/11/09 25
Partitions

Pour Solaris
Disque en mode bloc : /dev/dsk/c[n]t[n]d[n]s[n]
Disque en mode caractre : /dev/rdsk/c[n]t[n]d[n]s[n]
c[n] : numro du contrleur (ide ou scsi)
t[n] : numro du device sur le bus scsi ou ide
d[n] : numro de sous-device scsi (presque toujours 0)
s[n] : numro de partition correspondant un partitionnement BSD
1 : partition a
2 : partition b
3 : partition c ...
Exemples :
c0t0d0s3 : tout le disque d'identifiant scsi 0 sur le contrleur 0
c1t0d0s1 : partition a pour le disque primaire du premier contrleur
ide
c2t1d0s3 : partition c pour le disque secondaire du second
contrleur ide (lecteur CD-ROM)

Partitions et devices
Administration Unix 11/11/09 26
Partitions

Pour OpenBSD
Disque en mode bloc
/dev/wd[n][m] pour IDE
/dev/sd[n][m] pour SCSI
O n reprsente le numro du disque dur avec une partition DOS
OpenBSD valide (slice OpenBSD)
Et m la lettre de la partition BSD dans ce slice OpenBSD
Disque en mode caractre
/dev/rwd[n][m]
/dev/rsd[n][m]
Exemples :
/dev/wd0c : premier disque IDE (master) du premier contrleur
/dev/wd0a : premire partition du premier disque (master) IDE du
premier contrleur
/dev/wd2b : deuxime partition (souvent le swap) du premier disque
(master) IDE du second contrleur
/dev/cd0c : premier lecteur de CD-ROM vu sur la chane IDE
Partitions et devices
Administration Unix 11/11/09 27
RAID

Une partition n'est pas forcment une partie d'un disque dur, ce peut
tre beaucoup plus compliqu que cela
Principalement cause du RAID et des LVMs

Le RAID (Redundant Array of Independent Disks)


Permet de combiner des disques en un seul (ou plusieurs) vu(s) par le
systme d'exploitation
Les disques logiques vus par l'OS peuvent avoir une gestion interne
spcifique
Cette gestion des disques physiques ralise par l'interface peut tre
de diffrents niveaux, dfinis par des nombres
9 niveaux : RAID-0 RAID-7
Seuls les niveaux 0, 1 et 5 sont rellement utiliss
Deux types de RAID peuvent tre utiliss :
RAID matriels
RAID logiciels
Buts du RAID : Assurer l'intgrit et la disponibilit des donnes
Esquisser le RAID
Administration Unix 11/11/09 28
RAID

RAID matriel se compose


D'une carte d'entre/sortie qui comporte un bus (ide ou scsi)
Sur lequel on installe des disques durs
Stocks dans une baie externe

C'est la carte d'entre/sortie qui ralisera les critures/lectures


physiques sur les disques durs
Le systme d'exploitation ne voit que les priphriques logiques
dfinies par la carte d'entre/sortie
Par exemple, le systme d'exploitation ne verra que le device
/dev/sdb (sur lequel, on pourra faire des partitions), alors que 3
disques composent la batterie RAID
Lors d'une reconstruction ou d'un problme sur les disques, c'est la
carte d'entre/sortie qui ferra tout le travail
Rapide et ergonomique mais cher

Esquisser le RAID
Administration Unix 11/11/09 29
RAID

RAID logiciel se compose


De la couche logiciel dans le noyau de l'OS
De disque durs connects au systme (SCSI ou IDE)
On peut trouver des baies SCSI, vu par l'OS, comme autant de disques
durs qu'elles en contiennent

C'est la couche logiciel qui gre tout et qui dfinira un nouveau device
pour accder au regroupement des disques durs
Tout se configure via le systme d'exploitation (et plus par la carte
matriel)
Comme les couches RAID sont gres par l'OS, pour y accder, le
noyau doit tre charg
Lors d'un problme sur la batterie RAID, il peut tre ncessaire
d'intervenir manuellement pour grer les disques RAID
On peut dfinir un niveau de RAID sur des partitions (et pas
seulement sur des disques durs entiers)
Pas cher (car intgr l'OS) mais pas forcment rapide ni
ergonomique
Esquisser le RAID
Administration Unix 11/11/09 30
RAID

Les diffrents niveaux de RAID


Linaire ou JBOD : concatnation de disques (Just a Bunch Of Disks)
N disques sont transforms en un seul par concatnation

Disque vu par l'OS


Disque 1 Disque 2 Disque 3
1 2 5 6 13 14

3 4 7 8 15 16
9 10 17 18

11 12

Linaire
Administration Unix 11/11/09 31
RAID

Les diffrents niveaux de RAID


RAID-0 : Fusion de disques (stripping)
N disques sont transforms en un seul avec rpartition des
critures
Disque vu par l'OS
Disque 1 Disque 2 Disque 3
1 4 2 3

RAID-0
Administration Unix 11/11/09 32
RAID

Les diffrents niveaux de RAID


RAID-1 : Mirroring de disques
2 disques sont rpliqus secteurs secteurs

Disque vu par l'OS


Disque 1 Disque 2
1 2 1 2

3 3

RAID-1
Administration Unix 11/11/09 33
RAID

Les diffrents niveaux de RAID


RAID-0+1 : Stripping+Mirroring de disques
Un nombre pair de disques sont rpliqus 2 2 puis fusionns pair
par pair
Disque 1 Disque 2 Disque 3 Disque 4

1 3 1 3 2 4 2 4

Mirroring 1 Mirroring 2

Stripping

Disque vu par l'OS


RAID-0+1=?
Administration Unix 11/11/09 34
RAID

Les diffrents niveaux de RAID


RAID-4 : Fusion de disques avec disque de parit ddi
Sur 3 disques, 2 disques comportent les donnes avec criture
tournante, le troisime comporte un XOR des 2 premiers disques,
bloc bloc
Disque 1 Disque 2 Disque 3
1E 2L 1L 2E 1P 2P
Disque vu par l'OS

Donnes Donnes Parits


RAID-4
Administration Unix 11/11/09 35
RAID

Les diffrents niveaux de RAID


RAID-5 : Fusion de disques avec donnes de parit tournante
Sur 3 disques, tous les disques comportent des donnes et les
parits sont calcules en tournant

Disque 1 Disque 2 Disque 3


1E 2P 1L 2E 1P 2L
3L 4E 3P 4L 3E 4P
Disque utilis par l'OS

RAID-5
Administration Unix 11/11/09 36
RAID

Les niveaux de RAID peu utiliss


RAID-2
Code de parit sur les bits d'un disque
Code de correction d'erreurs de Hamming
Les disques durs modernes intgrent la correction d'erreurs
RAID-3
Identique au RAID-4 mais sur les octets d'un disque (et non les
blocs)
RAID-4 plus efficace cause de l'effet cache des blocs
RAID-6
Deux disques de parits (P et Q) ncessaires
4 disques durs minimum
Permet la perte de 2 disques sans indisponibilit
RAID-DP
Idem RAID-6, disques de parit fixes
Propritaire NetApp
Performances gales au RAID-0
Les autres RAIDs
Administration Unix 11/11/09 37
RAID

Exemple d'utilisation du RAID avec Linux


Nom des devices crs
/dev/md?
Fichier de configuration
/etc/raidtab
Commandes
mkraid : cration d'un array RAID
raidstart : lancement du device RAID
raidsetfaulty : dfini un composant comme indisponible
raidhotremove : arrt d'un composant d'un array
raidhotadd : ajout d'un composant d'un array
mdadm : couteau suisse de la gestion des devices RAID
Monitoring
dmesg ou /var/log/messages
/proc/mdstat
Attention au boot avec un systme utilisant du RAID logiciel
Pourquoi ? Exemple un peu RAID
Administration Unix 11/11/09 38
LVM

Les LVMs (Logical Volume Management)

Concept difficile apprhender (mieux vaut oublier tout ce que je viens


de dire sur les partitions)
N'existe pas sous tous les OS
Peut tre une option payante dans l'OS
Les diffrentes implmentations peuvent tre trs diffrentes
Peut tre combin du RAID (matriel et/ou logiciel, certaines
implmentations du LVM inclus du RAID logiciel)
Est, essentiellement, logiciel (donc grer par l'OS)
Trs pratique quand on a compris comme a marche

Permet :
De s'affranchir des tailles physiques des disques durs
D'augmenter dynamiquement la taille d'un systme de fichiers
D'ajouter ou enlever un disque dur sans devoir tout re-installer
De crer des snapshots pour assurer des backups cohrents
LVM = compliqu
Administration Unix 11/11/09 39
LVM

Les concepts des LVMs


Tout d'abord, on trouve les disques physiques (ou, pour certaines
implmentations, les partitions disques, comme on vient de les voir)
Un disque physique (ou une partition) doit tre initialis pour dfinir un
volume physique
Un volume physique va constituer un groupe de volumes
Un groupe de volumes regroupe un ou plusieurs volumes physiques
(donc un ou plusieurs disques)
Les partitions d'un groupe de volumes se nomment les volumes
logiques (les volumes logiques vont abriter les systmes de fichiers)
Un groupe de volumes est constitu d'units d'espace allouable
(partitions physiques ou tendues physiques)
Un volume logique est constitu de partitions physiques que l'on peut
allouer dynamiquement
Un systme de fichiers peut, donc, tre augment la vole

Les couches du LVM


Administration Unix 11/11/09 40
LVM

Les concepts des LVMs


Enfin, la cration d'un groupe de volumes, on peut y inclure les
algorithmes logiciels de RAID (notion de partitions logiques composs
de partitions physiques)
En rsum :
Disque dur physique
Partition de disque dur
Volume physique
Groupe de volumes
Disques durs Volume logique avec son systme de fichiers
physiques
A A1
1
Volumes physiques

A2
A3
2
B1

B B2
3
Groupe de Volumes
Volumes Logiques LVM = pas si compliqu
Administration Unix 11/11/09 41
LVM

Exemple d'utilisation de LVM : LVM2 sous Linux


Noms des devices
/dev/groupe_de_volume/volume_logique
Fichier de configuration
Il n'y en a pas
Commandes :
pvcreate, pvremove, pvscan, pvdisplay, pvmove : gestion des
volumes physiques
vgcreate, vgremove, vgscan, vgdisplay, vgextend, vgreduce :
gestion des groupes de volumes
lvcreate, lvremove, lvscan, lvdisplay, lvextend, lvreduce : gestion
des volumes logiques
resize2fs : modification de taille d'un systme de fichiers

Attention au boot de systmes avec du LVM


Pourquoi ?

LVM par l'exemple


Administration Unix 11/11/09 42
Partitions et Arborescence

Maintenant que les partitions sont cres, o dfinit-on les points de


montage ?
Cela dpend des Unix, mais, en rgle gnral, il s'agit d'un fichier
texte sous /etc
Ce fichier dfinit les fichiers device (dans /dev), le point de montage,
les paramtres de montage et les paramtres de sauvegarde (dump)
et de vrification d'intgrit (fsck)

Sous Linux
/etc/fstab
/dev/hda6 / ext3 defaults 1 1
Champs 1 : partition de type bloc
Champs 2 : point de montage
Champs 3 : type de systme de fichiers
Champs 4 : paramtres de montage de la partition
Champs 5 : frquence de sauvegarde par dump
Champs 6 : ordre de vrification d'intgrit au reboot par fsck
fstab
Administration Unix 11/11/09 43
Partitions et Arborescence

Sous Solaris
/etc/vfstab
/dev/dsk/c0t3d0s0 /dev/rdsk/c0t3d0s0 / ufs 1 no rw
Champs 1 : partition de type bloc
Champs 2 : partition de type caractre (pour les sauvegardes)
Champs 3 : point de montage
Champs 4 : type de systme de fichiers
Champs 5 : ordre de vrification d'intgrit par fsck
Champs 6 : est-ce que mountall doit monter cette partition ?
Champs 7 : paramtres de montage de la partition

vfstab
Administration Unix 11/11/09 44
Partitions et Arborescence

Sous OpenBSD
/etc/fstab
/dev/wd0a / ffs rw 1 1
Champs 1 : partition de type bloc
Champs 2 : point de montage
Champs 3 : type de systme de fichiers
Champs 4 : paramtres de montage de la partition
Champs 5 : frquence de sauvegarde par dump
Champs 6 : ordre de vrification d'intgrit (fsck)

fstab
Administration Unix 11/11/09 45
Cration de systmes de fichiers

Une fois les partitions construites, il faut les remplir


Les remplir avec des systmes de fichiers
Un systme de fichiers permet de grer
Une arborescence
Diffrents types de fichiers
Des droits sur ces fichiers
Les propritaires
Les groupes propritaires
L'allocation de nouveaux fichiers ...
Il existe plusieurs types de systmes de fichiers
Spcifiques un type de priphriques
Disquette
CD-ROM
DVD
Bande magntique
Pour un mme priphrique (disque dur)
ext2, ext3, jfs, ufs, ffs, reiserfs, ... Systmes de fichiers
Administration Unix 11/11/09 46
Cration de systmes de fichiers

La cration d'un systme de fichiers s'effectue avec la commande


newfs ou mkfs (dpend de l'OS)
La syntaxe est du type :
mkfs [-t <fstype>] [file_options] device
Elle permet de crer un systme de fichiers de type fstype avec les
options fs_options sur la partition device

Une fois le systme de fichiers cr, on peut monter la partition dans


l'arborescence avec la commande mount
La syntaxe est du type :
mount [-t <fstype>] [-o <options>] device directory
Elle permet de monter la partition device de type fstype avec les
options options dans le rpertoire directory de l'arborescence
Le fichier fstab (ou vfstab), que l'on vient de voir, permet de pr-dfinir
le type de systme de fichiers, les options de montage et la partition
Presque tous les systmes intgrent des volume managers qui
sont capables de monter directement des partitions ou des
priphriques (volmgt, supermount, automounter, ...)
Systmes de fichiers
Administration Unix 11/11/09 47
Cration de systmes de fichiers

Mais certains systmes de fichiers n'ont pas besoin d'tre crer

Lesquels ?

proc N'a pas besoin d'tre cr

swap A besoin d'tre cr

devfs N'a pas besoin d'tre cr

iso9660 A besoin d'tre cr (mais pas avec mkfs)

vfat A besoin d'tre cr (mais pas avec format)

Quizz
Administration Unix 11/11/09 48
Un systme de fichiers, c'est quoi ?

Un systme de fichiers de type UNIX se compose de :


Un bloc de boot
Dbut de la partition : contient le boot loader
Un superbloc
Recopi au sein de la partition pour avoir des copies de secours
Sa corruption interdit l'utilisation du systme de fichiers
Il est compos de :
Taille du systme de fichiers
Nombre et liste de blocs libres ainsi qu'un index sur le prochain
bloc libre
Taille de la liste des i-nodes, nombre d'i-nodes libres ainsi qu'un
index sur la prochaine i-node libre
Verrous pour les listes de blocs libres et d'i-nodes libres
Drapeau de modification du superbloc
inode list data block list
Une liste d'i-nodes
Une liste de blocs de donnes
Boot block Superblock
Superbloc et i-nodes
Administration Unix 11/11/09 49
Un systme de fichiers, c'est quoi ?

Un systme de fichiers de type UNIX se compose de :


Un bloc de boot
Un superbloc
Une liste d'i-nodes
une i-node correspond une entre dans le systme de fichiers
une i-node contient :
propritaires du fichier (utilisateur et groupe)
type de fichier
permissions d'accs
dates d'accs (modificication du fichier, accs au fichier,
modification de l'i-node)
nombre de liens
adresse disque d'un bloc de donnes
taille du fichier
Une liste de blocs de donnes
un bloc de donnes contient les donnes d'un fichier ou une liste
d'adresses disque de blocs de donnes
Superbloc et i-nodes
Administration Unix 11/11/09 50
Un systme de fichiers, c'est quoi ?

i-nodes super bloc

blocs
de
donnes

Superbloc et i-nodes
Administration Unix 11/11/09 51
Garder un systme de fichiers consistant

Un systme de fichiers peut devenir inconsistant Pourquoi ?


Parce que les systmes de fichiers sont asynchrones
Pour des raisons de performances, les modifications du systme de
fichiers sont enregistres dans un cache en mmoire virtuelle et
propages sur le disque priodiquement (flush disque)
c'est ce que fait la commande sync
Comme l'accs au cache est beaucoup plus rapide que celui au
disque, la lenteur d'accs au disque dur est attnue (il n'est pas
ncessaire d'attendre la fin d'une opration d'entre/sortie disque
pour rendre la main au processus demandeur)
Problme : le systme de fichier disque + cache est consistant
mais le systme de fichier disque ne l'est pas forcment un
instant t
Et si cet instant t, le systme crash
Au reboot, le cache est perdu et ne subsiste que le systme de fichier
sur disque qui n'est plus consistant

Mais c'est quoi un systme de fichier inconsistant ?


Pourquoi fsck ?
Administration Unix 11/11/09 52
Garder un systme de fichiers consistant

Mais c'est quoi un systme de fichier inconsistant ?


Exemple de la cration d'un nouveau fichier compos de 3 blocs de
donnes
Aprs la cration du fichier, 5 nouveaux blocs sont dans le cache :
un nouvel i-node (tape I)
un nouveau bloc indirect (tape B)
3 blocs de donnes (tape D)
et 5 blocs ne peuvent tre crits sur le disque en une seule fois (il n'y a
pas d'atomicit)

Un crash aprs une tape, quelle qu'elle soit (I, B ou D), conduit
l'inconsistance du systme de fichiers
De mme, un crash aprs 2 tapes (sur les 3 a ralis) conduit
l'inconsistance du systme de fichiers

En conclusion, un systme de fichiers inconsistant est un systme de


fichiers, dans lequel de l'information a t perdue car la liste chane,
stockant les fichiers, a t rompue
Pourquoi fsck ?
Administration Unix 11/11/09 53
La commande FSCK

La commande FSCK inspecte un systme de fichiers pour trouver et,


le cas chant, essayer de rparer les inconsistances
Qu'essaie de dtecter FSCK :
les blocs appartenant un i-node et nots libres
les blocs qui ne sont pas nots libres et qui n'appartiennent aucune i-
node
les blocs appartenant plusieurs i-nodes
une i-node avec un nombre de liens diffrents de 0 mais n'appartenant
aucun rpertoire
une i-node marque libre mais prsente dans un rpertoire
une i-node corrompue
un nombre de liens d'une i-node diffrent des liens trouvs dans les
rpertoires
le nombre de blocs de donnes libres du disque n'est pas celui trouv
dans le superbloc
le nombre d'i-nodes libre du disque n'est pas celui trouv dans le
superbloc
...
Pourquoi fsck ?
Administration Unix 11/11/09 54
Les autres types de systmes de fichiers

La commande FSCK a un gros inconvnient c'est LENT !!!


Et pendant que la commande FSCK fait son oeuvre, le serveur n'est
pas disponible
Il est dangereux de faire un FSCK sur un systme de fichiers monts
en lecture/criture
Le reboot peut donc, prendre plusieurs heures sur de gros serveurs
Y-a-t-il un solution l'utilisation de la commande FSCK lors du reboot
d'une machine suite un crash?
OUI, mais il faut changer le type de systmes de fichiers afin d'assurer
une certaine consistance n'importe quel instant t
Il existe 3 grands types :
les systmes de fichiers soft updates
plutt orient BSD (extension de FFS)
les systmes de fichiers journaliss (ou loggs)
ext3, reiserfs, xfs
les systmes de fichiers log-structured
Peu utilis (implmentation NETBSD)
Se passer de fsck
Administration Unix 11/11/09 55
Le systme de fichiers avec Soft Updates

Bas sur FFS (Fast FileSystem)


N'empche pas l'utilisation de FSCK, mais cette commande sera
beaucoup plus rapide
Sans Soft Updates, FFS ne peut assurer sa consistance qu'en mode
synchrone (en mode asynchrone, FSCK est obligatoire)

Gestion des mta-data : les donnes de la structure du systme de


fichiers (tout sauf les donnes contenues dans les fichiers)

Principe :
Il faut ordonn les critures sur disque selon les dpendances qui
existent entre les mta-data
Dans le but que les seules inconsistances possibles soient la prsence
de blocs de donnes et d'i-nodes marques alloues alors qu'ils sont
libres
Ce type d'inconsistance n'est pas fatal pour l'utilisation du systme de
fichiers et la correction peut intervenir en tche de fond sur un systme
de fichiers mont en lecture/criture
Il faut trier
Administration Unix 11/11/09 56
Le systme de fichiers avec Soft Updates

Exemple : Cration d'un nouveau fichier


Pour cela, il faut :
Prendre une i-node libre, la renseigner (cration de la liste
chane), crire les blocs de donnes ACTION 1
Allocations de nouveaux blocs (i-node + donnes)
Modifier l'i-node du rpertoire pre pour y intgrer l'i-node du
nouveau fichier frachement cr ACTION 2
MAJ de blocs (i-node + donnes) voire allocation de blocs de
donnes
Si (ACTION 2, ACTION 1) avec CRASH entre les 2 actions,
l'inconsistance ne concerne pas que des blocs allous qui devraient
tre libres (entre d'un rpertoire mettre jour)
Si (ACTION 1, ACTION 2) avec CRASH entre les 2 actions,
l'inconsistance ne concerne que des blocs allous qu'il faut librer
pour avoir un systme de fichiers consistant
Il faut, donc, crer une dpendance entre l'ACTION 1 et l'ACTION 2
pour que la mise jour du disque pour l'ACTION 2 ne se ralise que si
l'ACTION 1 a t ralise sur le disque
Il faut trier
Administration Unix 11/11/09 57
Le systme de fichiers avec Soft Updates

Les dpendances peuvent amener avoir des cycles (A doit tre fait
avant B qui dpend de A)
Utilisation de roll-back au niveau des mta-data pour casser ces
dpendances

Avantages :
Ne modifie pas la structure du systme de fichiers (ajout de fonctions
dans le noyau)
Moins agressif que la journalisation

Inconvnients :
Plus lent lors de l'utilisation (ncessite plus d'critures qu'un systme
de fichiers standard)
Taille disponible peut tre sous-estime
Libration de blocs plus longue

Il faut trier
Administration Unix 11/11/09 58
Le systme de fichiers avec journalisation

Mme principe que les systmes de gestion de bases de donne :


REDO LOG
La commande FSCK n'est plus utile, c'est la couche noyau du
systme de fichiers journalis qui gre les modifications raliser
pour restaurer un systme de fichiers consistant

Gestion des mta-data : les donnes de la structure du systme de


fichiers (tout sauf les donnes contenues dans les fichiers)

Principe :
Pour chaque mise jour, on utilise le principe de la transaction
Dans une transaction :
On dit ce que l'on va faire
On le fait
On dit qu'on l'a fait
Les transactions sont consignes dans un fichier de log, utilis pour
recouvrir (recovery) un systme de fichier inconsistant
Journalisons
Administration Unix 11/11/09 59
Le systme de fichiers avec journalisation

Exemple : Cration d'un fichier


Dans le log, on crit :
Dbut de transaction
Descripteur de transaction
Donnes crire (i-node, donnes, ventuellement les blocs
intermdiaires)
Fin de transaction
On crit les donnes sur le disque (de manire ordonne ou pas)
Les donnes crites, on enlve la transaction du fichier de log

Recovery :
Si l'entre du fichier de log n'est pas complte cette transaction est
ignore et retire
Si une entre du fichier de log est prsente, mais les modifications non
ralises on les ralise
Si les modifications sont prsentes sur le disque, mais que la
transaction n'a pas t retire on la retire et c'est tout
Journalisons
Administration Unix 11/11/09 60
Le systme de fichiers avec journalisation

Diffrents modes de journalisation :


Mode data : toutes les donnes sont journalises
fort impact sur les performances : les donnes sont crites deux
fois (une fois dans les logs et une nouvelle fois sur le disque)
Mode writeback : ne concerne que les mta-data
Mais les blocs de donnes sur le disque peuvent tre crites
n'importe quel moment (seuls les blocs de mta-data sont
journaliss)
Mode ordered : ne concerne que les mta-data
Mais les blocs de donnes sur le disque sont crits de manires
ordonnes par rapport aux donnes de transaction

Le fichier de log (appel write ahead log ou journal) peut tre de


deux types :
un fichier spcial prsent dans le systme de fichiers
une partition spcifiquement utilise pour la journalisation

Journalisons
Administration Unix 11/11/09 61
Le systme de fichiers log-structured

Type de systme de fichiers peu utilis


La commande FSCK ne sert plus rien, de par la structure du FS
Principe :
Le systme de fichiers n'est qu'un norme fichier de log
Toute modification du systme de fichiers (mta-data + donnes) est
logg (toutes les critures sont adjacentes, amliorant les
performances en criture)
Le systme de fichiers est structur en segment
Chaque segment dbute par une entre de log pour assurer la
consistance, l'criture d'un segment n'tant pas une action atomique
(approche journalisation)
A l'intrieure d'un segment, les blocs sont crits de manire ordonne
(approche soft updates)
Des index (en cache) sont crs pour amliorer la lecture des fichiers
De par sa structure, il est simple de revenir un systme de fichiers
consistant en analysant la fin du fichier de log
La fragmentation du systme de fichiers est un problme (rsolu par
une analyse et une mise jour en tche de fond)
Tout n'est que log
Administration Unix 11/11/09 62
Concepts de Base de
l'Administration Systme

Types de Fichiers

Administration Unix 11/11/09 63


Types de fichiers

Sur un systme de fichiers Unix, on peut rencontrer 6 types de


fichiers (ne pas oublier que sous Unix, TOUT EST FICHIER)

Fichiers standards (-)


contient des donnes
Rpertoires (d)
dfinitions de fichiers grant la hirarchie du systme de fichiers
Fichiers ''device'' de /dev
de type bloc (accs direct) (b)
de type caractre (accs squentiel) (c)
Fichiers pipe (p)
FIFO permettant la communication entre processus
Fichiers socket (s)
points d'entre de communications entre processus bas sur les
couches rseau
Liens (l)
pointeurs vers des fichiers, peut tre de type souple ou dur
Les fichiers
Administration Unix 11/11/09 64
Concepts de Base de
l'Administration Systme

Boot Loader et Procdure de Boot Matriel

Administration Unix 11/11/09 65


Boot Loader

Qu'est-ce qu'un boot loader ?


Pour qu'un systme Unix puisse se lancer, il faut que le noyau soit
charg en mmoire et qu'il s'excute
Le but principal d'un boot loader est de charg le noyau en mmoire et
de le lancer
Un boot loader peut permettre, aussi, de
Choisir entre plusieurs noyaux charger
Passer des paramtres au noyau charg
Choisir entre plusieurs OS (sur un systme multi OS)
Le boot loader est obligatoire pour charger le noyau
Le boot loader fait la transition entre le dmarrage matriel de la
machine (mise sous tension) et l'excution du noyau (lancement de
l'OS)
Le boot loader est dpendant de la plate-forme matrielle
2 types de plates-formes pour exemple :
Sun (Solaris)
PC (Linux)
Comment a peut booter ?
Administration Unix 11/11/09 66
Boot Loader

Sur une SUN


La couche entre le matriel et l'OS se nomme l'EEPROM
A la mise sous tension de la station, le mini OS stock dans l'EEPROM
est charg en mmoire et excut
L'EEPROM est programm en forth et donne un shell l'utilisateur
Le prompt de l'EEPROM est >>>
L'EEPROM permet de dfinir des variables (stockes en mmoire non
volatile) pour dfinir la faon dont sera charg le noyau
L'EEPROM permet de lister les priphriques de la station et de tester
les priphriques
L'EEPROM permet de dfinir le comportement par dfaut de la station
sa mise sous tension
L'EEPROM va permettre de dfinir le noyau charger, le priphrique
sur lequel il se trouve et les paramtres lui passer (grce aux
variables)
L'accs l'EEPROM doit tre limit l'administrateur car sinon une
compromission de la station est possible

Boot au soleil
Administration Unix 11/11/09 67
Boot Loader

En rsum, sur une SUN :

Mise sous tension

Chargement de l'EEPROM

Excution de l'EEPROM

Chargement des paramtres Accs interactif

Chargement du noyau Attente de commandes

Excution du noyau

Boot Loader sur SUN


Administration Unix 11/11/09 68
Boot Loader

Sur un PC :
Le BIOS est l'quivalent de l'EEPROM
Le BIOS gre la machine la mise sous tension
Le BIOS rpertorie les priphriques et vrifie qu'ils fonctionnent
correctement
CPU, mmoire, contrleurs IDE, disques, lecteurs de disquettes,
CD-ROM, clavier, souris, priphriques USB, ...
Le BIOS dfinit un priphrique de boot selon sa configuration et les
priphriques dtectes
Le BIOS charge le MBR (512 octets) en mmoire et l'excute
Si le BIOS ne trouve pas de MBR, il cherche une partition avec le flag
bootable et charge les 512 premiers octets de cette partition dans la
mmoire et l'excute
Le MBR est un boot loader, mais 512 octets ne sont pas suffisants
pour charger un noyau
Ces 512 octets ne constituent que le stage 1 du boot loader
A partir du stage 1, le boot loader va charger le stage 2 (plus gros) en
mmoire et l'excuter
Boot Loader et BIOS
Administration Unix 11/11/09 69
Boot Loader

Sur un PC :
Le stage 2 va charger le noyau en mmoire et l'excuter

Sous Linux, on trouve 2 boot loaders


LILO
Premier boot loader de Linux
Trs flexible
Permet de booter autre chose que Linux (Windows, BSD, ...)
Ne contient pas de gestion interactive
GRUB
Boot loader GNU
Trs flexible
Permet de booter autre chose que Linux
Possde une gestion interactive
Permet la lecture des systmes de fichiers
Pour ces 2 boot loaders, on retrouve les 2 stages qui sont chargs
l'un aprs l'autre
Boot Loader et BIOS
Administration Unix 11/11/09 70
Boot Loader

Sur un PC :
Principes de fonctionnement de LILO

Table de Boot
Stage 1 partitions Noyau Stage 2 Loader Noyau

MBR Inutilis Ensemble des partitions du disque dur

A l'installation de LILO :
le stage 2 est cr avec les rfrences statiques aux noyaux
pour lesquels il est configur, ainsi que d'autres boot loaders
vers lesquels il peut pointer (/etc/lilo.conf)
le stage 1 est cr avec les rfrences statiques au stage 2
Si l'emplacement du stage 2 est modifi, LILO ne fonctionne plus
Si un des emplacements des noyaux est modifi, celui-ci ne peut
plus tre charg en mmoire par LILO
Donc, pour toute modification (noyau, fichier de configuration) :
LILO doit tre r-install (stage 2 modifier, qui implique la
modification du stage 1)
Boot Loader et BIOS
Administration Unix 11/11/09 71
Boot Loader

Sur un PC :
Principes de fonctionnement de Grub Boot Loader

Stage 2 Noyau
Table de Noyau
Stage 1 Stage 1.5
partitions Conf. Grub

MBR Utilis par Ensemble des partitions du disque dur


Grub
A l'installation de Grub, les stages 1, 1.5 et 2 sont copis
Le stage 1 est install pour charger le stage 1.5
Le stage 1.5 permet de lire un systme de fichiers spcifique et
charge le stage 2 qui est vu comme un fichier
Le stage 2 permet de lire le fichier de configuration Grub (/boot/
grub/menu.lst)
Les noyaux charger en mmoire sont vus comme des fichiers, en
cas de modification, pas besoin de r-installer Grub
Idem pour les boot loaders qui sont vu comme des partitions
Idem pour le fichier de configuration de Grub
Alors, dans quel(s) cas faut-il r-installer Grub ? Boot Loader et BIOS
Administration Unix 11/11/09 72
Boot Loader

Sur un PC :
Sous OpenBSD, le boot loader est stock sur la partition DOS, dans
les 512 premiers octets
Ces 512 premiers octets composent le stage 1
Le stage 1, comme pour Linux, charge le stage 2 qui se trouve sur le
disque, dans la partition racine
Le stage 2 permet un accs interactif au boot loader la manire de
l'EEPROM de SUN
Cet accs interactif permet de choisir le noyau, de pr-configurer le
noyau et de passer des paramtres aux noyau (single user, par
exemple)
Le principe reste le mme : charger le noyau et l'excuter

Boot Loader et BSD


Administration Unix 11/11/09 73
Boot Loader

En rsum sur un PC

Mise sous tension

Excution du BIOS

Vrification du BIOS

Choix du priphrique de boot Chargement stage1

Choix de l'utilisateur Chargement stage 2

Chargement du noyau Excution du noyau

Boot Loader sur PC


Administration Unix 11/11/09 74
Boot Loader

Sur SUN et sur PC, il existe d'autres mthodes de boot


Par le rseau
Sur CD-ROM
Sur bandes de types DAT ou DDS

Pour le rseau, comment a marche ?


Sur SUN
Toutes les machines SUN sont capables de booter par le rseau
Au boot, la carte rseau envoie un broadcast bootp
Un serveur DHCP renvoie la configuration IP de la machine et une
rfrence un fichier de boot (adresse IP d'un serveur TFTP et un
nom de fichier)
Une fois que la carte rseau a une adresse IP, elle contacte le
serveur TFTP et tlcharge le fichier de boot
Ce fichier est charg en mmoire et excut, il s'agit du noyau
Cette mthode est trs utilise pour l'installation de stations
travers le rseau en s'appuyant sur des systmes de fichiers
rseau de type NFS Boot Loader et rseau
Administration Unix 11/11/09 75
Boot Loader

Pour le rseau, comment a marche ?


Sur PC
Seuls les PCs possdant une carte rseau compatible PXE sont
capables de booter par le rseau
Une carte rseau PXE est slectionnable par le BIOS comme
priphrique de boot
Le principe de fonctionnement est le mme que pour les SUNs

Requte bootp
Serveur
Config IP + IP tftp + nom fichier DHCP
Requte tlchargement TFTP
Client
Fichier TFTP boot loader stage 2 Serveur
TFTP
Tlchargement noyau

Boot Loader et PXE


Administration Unix 11/11/09 76
Boot Loader

Le boot sur CD-ROM


La norme des systmes de fichiers sur CD-ROM est ISO9660
Cette norme comporte plusieurs extensions
Joliet : Noms longs type FAT
Rock-ridge : Extensions type Unix (protections, propritaire, ...)
El-Torito : CD-ROM bootable

Pour les stations SUN


Les CD-ROM bootables sont vus comme des disques multi-partitions
de type BSD
Le boot sur un CD-ROM est trs similaires au boot sur un disque dur

Pour les Pcs


Le CD-ROM El-Torito est obligatoire
Un CD-ROM El-Torito simule une disquette
Le CD-ROM contient un fichier qui est l'image d'une disquette bit bit
C'est cette image qui est utilise pour booter
Boot Loader et CD-ROM
Administration Unix 11/11/09 77
Boot Loader

Le boot sur CD-ROM est trs important pour plusieurs raisons

Permet l'installation de l'OS

Permet le boot sans utiliser le disque dur


Pour rparer un systme endommag
Pour sauvegarder un systme
Pour upgrader un systme
ATTENTION : permet, aussi, de pirater le systme

Permet l'utilisation de systmes scuriss


Le systme de fichiers est en mmoire RAM et/ou sur le CD-ROM,
sans modification possible

Le boot sur bandes est possibles sur des matriels spcifiques (HP,
par exemple)
Cela permet, aprs cration de bandes spcifiques, de pouvoir booter
en single user, pour sauvegarder, rparer ou upgrader
Boot Loader et CD-ROM
Administration Unix 11/11/09 78
Concepts de Base de
l'Administration Systme

Dmarrage et Arrt des Systmes Unix

Administration Unix 11/11/09 79


Dmarrage des Systmes Unix

Nous venons de voir ce qui se passe de la mise sous tension


l'excution du noyau
Mais que se passe-t-il aprs ? C'est ce que nous allons voir

Le noyau s'excute et commence par dtecter tous les priphriques


de la machine
En dtectant les priphriques, il charge les diffrents drivers (pilotes)
Ceci fait, il monte la partition root (pass en paramtre du noyau ou
dfinit en dur dans celui-ci) en lecture seule
S'il ne peut pas monter de partition root, il lancera son fameux cri du
kernel panic
Lorsque la partition root est monte, il cherche l'excutable
/sbin/init et l'excute
C'est init qui terminera la procdure de dmarrage
Init sera toujours prsent sur le systme en tant que processus,
puisqu'il est le processus pre de tous les autres processus du
systme

Aprs le noyau ...


Administration Unix 11/11/09 80
Dmarrage des Systmes Unix

Init terminera la procdure de dmarrage selon qu'il est BSD ou SYSV

Pour les BSD


init cherche le script /etc/rc et l'excute
Le script /etc/rc va excuter d'autres scripts dans /etc et commenant
par rc (rc.boot, rc.local, rc.net, ...)
Le script /etc/rc et les scripts lancs utilise le fichier /etc/rc.conf qui
regroupe les variables dfinissant le comportement des scripts
Exemple :
La variable SMTP dfinira le lancement d'un MTA
Si cette variable est YES
Si cette variable n'est pas YES,
le MTA ne sera pas lanc
Le comportement du dmarrage est totalement paramtrable grce au
fichier /etc/rc.conf
Les diffrents scripts rc.* ralisent des actions de base ncessaires au
dmarrage

Facile sous BSD


Administration Unix 11/11/09 81
Dmarrage des Systmes Unix

Pour les BSD


Les diffrentes actions des scripts rc.* sont :
Vrifier les systmes de fichiers
Monter les systmes de fichiers
Lancer les diffrents dmons et services
Lancer les bannires de connexion
Configurer le rseau
Lancer l'interface graphique, ...
Les systmes BSD possdent deux niveaux de fonctionnement :
Single user et multi-user
Le niveau multi-user est le mode de fonctionnement normal tel que
dfini plus haut
Le niveau single user est choisi par l'utilisateur lors du boot (option -s)
Cette option est passe par le noyau init qui lance un shell au lieu
de /etc/rc
A la sortie de ce shell, init lancera /etc/rc et le systme dmarrera en
mode multi-user
Facile sous BSD
Administration Unix 11/11/09 82
Dmarrage des Systmes Unix

Pour les BSD


Le mode single user permet de booter sur un systme minimal (sans
scripts de dmarrage)
Pour rparer un systme
Pour sauvegarder un systme
Pour mettre jour un systme

En rsum

Excution Recherche des Montage Si single user


du noyau priphriques de /

Lecture de Lancement Excution


/etc/rc.conf de /sbin/init d'un shell

Lancement Lancement
de /etc/rc.* de /etc/rc
BSD
Administration Unix 11/11/09 83
Dmarrage des Systmes Unix

Pour les SYSV


C'est la fois plus simple et plus compliqu
Comme pour BSD, le noyau lance /sbin/init aprs avoir mont /
Mais, la diffrence de BSD, init lit un fichier de configuration :
/etc/inittab
Ce fichier de configuration dfinit des niveaux d'excution (run-levels)
Les niveaux d'excution sont :
0 : Pour arrter le systme
1 ou s : Pour passer en mode single user
2 : Mode multi-utilisateurs (exemple : sans rseau)
3 : Mode multi-utilisateurs (exemple : avec rseau)
4 : Mode multi-utilisateurs (exemple : avec NIS)
5 : Mode multi-utilisateurs (exemple : avec X11)
6 : Pour rebooter le systme
Le fichier inittab dfinit le run-level par dfaut utiliser au boot
Le fichier inittab a une syntaxe assez simple : pour un run-level, on
dfinit les scripts excuter
Compliqu sous SYSV
Administration Unix 11/11/09 84
Dmarrage des Systmes Unix

Pour les SYSV


Le plus souvent, quelque soit le run-level, inittab lance le mme script
avec, en paramtre, le numro du run-level (ou le script rcn)
Ce script est /etc/init.d/rc
Ce script va excuter les scripts prsents dans /etc/rcn.d o n est le
run-level
Le rpertoire /etc/rcn.d contient deux types de fichiers (liens)
Knn* : scripts d'arrt (Kill)
Snn* : scripts de dmarrage (Start)
Le nombre nn permet d'ordonner le squencement de ce qui sera
lanc
Les scripts Knn* et Snn* sont des liens (souples ou durs selon les
Unix) vers les vrais scripts dans /etc/init.d
Ceci permet, en supprimant le lien, de ne plus lancer le script pour le
run-level donn, mais de ne pas effacer le script (idem pour rajouter un
nouveau script, il suffit de crer un lien)
Un script Knn* est lanc par le script rc avec le paramtre stop
Pour Snn*, le script rc utilise le paramtre start
Usine gaz
Administration Unix 11/11/09 85
Dmarrage des Systmes Unix

Pour les SYSV


Un seul script est prsent dans /etc/init.d, la fois pour le dmarrage et
l'arrt d'un service, mais il doit prendre en argument start ou stop
Selon les Unix, l'ordre entre K et S est diffrent, il faut le vrifier dans
les scripts
Exemple : On passe du run-level 3 vers le run-level 5
rc excute les Knn* dans /etc/rc3.d
Puis rc excute les Snn* dans /etc/rc5.d
Sur d'autres systmes, rc excute les Knn* dans /etc/rc5.d puis les
Snn* dans /etc/rc5.d
Souvent, on trouve un script rc.boot ou un rpertoire /etc/rcS.d, qui
permet l'excution des scripts spcifiques du boot de la machine
(remontage de / en lecture/criture, vrification des systmes de
fichiers, montage des partitions de swap, ...)
Ce script est excut dans un run-level spcifique de inittab,
dfinissant le boot de la machine

Usine gaz
Administration Unix 11/11/09 86
Dmarrage des Systmes Unix

Pour les SYSV


En rsum
script1

init.d script2
script3
script4
script5
script6

inittab script7
/etc
rc S01script5
S10script4
rcS.d
S20script7
K05script6
K15script3

rc3.d S15script2
S55script1
Des liens partout
Administration Unix 11/11/09 87
Dmarrage des Systmes Unix

Pour les SYSV

Certains systmes SYSV combinent les deux mthodes (SYSV et


BSD)

Comment ?

Ils sont SYSV, donc, ils utilisent les run-levels et /etc/inittab

Mais pour chaque run-level, un script seul est excut, sans utilisation
du mcanisme de rpertoire /etc/rcn.d et les liens vers
/etc/init.d

Exemples :
Linux Slackware
Linux SuSE (avec /etc/rc.conf)
Mais Linux/Debian est totalement SYSV

Et si on mlangeait
Administration Unix 11/11/09 88
Dmarrage des Systmes Unix

D'autres systmes de dmarrage sont en train de voir le jour


Bass sur les daemontools de D.J. Bernstein
Permet de grer les services Unix (daemon)
Chaque service Unix lancer est supervis par un processus des
daemontools
Si le service s'arrte, le superviseur le relancera
Une commande permet de vrifier que les superviseurs sont OK
Ne remplace pas init qui devra lancer les daemontools au
dmarrage

Mais les choses voluent


Administration Unix 11/11/09 89
Dmarrage des Systmes Unix

D'autres systmes de dmarrage sont en train de voir le jour


Upstart d'Ubuntu
Remplace purement et simplement init
Intgre la notion de dpendance
Orient vnements
Un job de upstart peut muler le fonctionnement SYSV (ou BSD)
pour migrer progressivement

Mais les choses voluent


Administration Unix 11/11/09 90
Arrt des Systmes Unix

Pourquoi faut-il arrter un systme Unix proprement ?

Pour 2 raisons principales :


Pour arrter les processus qui fonctionnent et librer les diffrentes
ressources utilises
Mmoire
Connexions rseau
Fichiers disques ouverts
Mais, surtout, pour viter la corruption des systmes de fichiers
Unix utilise la mthode asynchrone d'criture sur disque
Donc, lorsqu'un fichier est modifi, cette modification ne sera
effective sur le disque qu'au bout d'un certain temps
Si le systme de fichiers n'est pas synchronis (sync) avant l'arrt,
le systme de fichiers peut tre corrompu
Il devra tre vrifi et rpar (fsck) au redmarrage, lors du
montage du systme de fichiers, ce qui peut prendre beaucoup de
temps
Sans compter la perte possible d'informations !!!
Arrter tout
Administration Unix 11/11/09 91
Arrt des Systmes Unix

Comment arrter un systme Unix ?


Pour SYSV, en utilisant les run-levels 0 ou 6
Pour BSD, en utilisant les commandes qui vont permettre l'excution
du script /etc/rc.shutdown par init et permettre le reboot ou l'arrt

Plusieurs commandes sont disponibles

Shutdown (commande prfrer)


Permet de changer le run-level vers 0, 1 ou 6, en demandant ce
changement de run-level init (SYSV)
Demande init d'excuter /etc/rc.shutdown, puis reboot
ou arrte la station (BSD)

Halt
Arrte le systme en urgence (sans passer par init) en
synchronisant les systmes de fichiers et en arrtant la station

Arrter tout
Administration Unix 11/11/09 92
Arrt des Systmes Unix

Plusieurs commandes sont disponibles

Reboot
Arrte le systme en urgence (sans passer par init) en
synchronisant les systmes de fichiers et en rebootant la station
Certaines implmentations permettent de force le reboot en single
user

Telinit
Permet d'envoyer un message init pour modifier le run-level et
excuter les scripts correspondants
Permet, par exemple, de passer en single user sans rebooter la
station

Arrter tout
Administration Unix 11/11/09 93
Concepts de Base de
l'Administration Systme

Dmons et Lancement de Services

Administration Unix 11/11/09 94


Dmons et Lancement de Services

Nous venons de voir comment les systmes Unix bootent et


dmarrent
Lors de ce dmarrage, ils excutent des scripts qui configurent la
machine et lancent des dmons
Mais que sont les dmons ?

Le mot dmon vient de daemon qui, en anglais, dsigne une


divinit immortelle (et non un dmon au sens devil )
Un dmon est un processus qui ne meurt jamais, qui ne s'arrte
jamais
Les dmons sont les services qui sont toujours prsents dans la liste
des processus (ps)

On trouve deux types de dmons :


Les dmons de type rseau (les plus nombreux) : apache, portmapper,
sshd, inetd, ...
Les dmons non rseau : cron, at, syslog, lpd, apm, cardmgr, ...

Les Dmons sont parmi nous


Administration Unix 11/11/09 95
Dmons et Lancement de Services

Le principe de fonctionnement des dmons rseau est souvent le


mme
Un processus fonctionne et coute un port rseau
Lorsque une connexion rseau arrive, le processus pre cre un
processus fils qui s'occupera de cette connexion jusqu' ce qu'elle se
termine
A la fin de la connexion, le processus fils meurt
Grce cette faon de fonctionner, il existe toujours un processus (le
processus pre) pour grer une nouvelle connexion entrante

Connexion entrante Processus


pre
Connexion accepte Processus
fils

Connexion

Fin de connexion

Comment a marche ?
Administration Unix 11/11/09 96
Dmons et Lancement de Services

Comment sont lancs ces services ?

Grce aux scripts de dmarrage


Ces scripts sont dans /etc/init.d (SYSV)
Ou dans /etc intgrs au scripts globaux rc.* (BSD)

Grce au super dmon inetd ou xinetd


Qu'est-ce que inetd (et xinetd, son successeur) ?
C'est un processus pour les services rseau
Il coute plusieurs ports et lance les diffrents serveurs associs ces
ports
Intrts
Seuls les processus rellement ncessaires sont prsents
Permet d'ajouter des paramtres spcifiques pour certains
serveurs
Permet d'insrer un TCP-Wrapper pour filtrer par adresses IP
Mais certains services ne peuvent tre grs par inetd (apache, sshd,
portmap, named, yp, ...) Inetd et xinetd
Administration Unix 11/11/09 97
Dmons et Lancement de Services

Qu'apporte xinetd par rapport inetd ?


Des nouvelles fonctionnalits
TCP-Wrapper intgr
Gestion du chroot
Limitation du nombre de serveurs lancs par service
Une configuration par rpertoires et fichier

Comment voir les services lancs ?


Un service est un processus, c'est, donc, avec ps que l'on verra les
processus du systme
Pour un service rseau, on pourra utiliser netstat pour vrifier les
connexions rseau ouvertes, ainsi que les ports ouverts

Comment arrter les services ?


En utilisant les scripts d'arrt
En utilisant la commande kill pour arrter un processus

Grer les Dmons


Administration Unix 11/11/09 98
Concepts de Base de
l'Administration Systme

Processus,
Mmoire Virtuelle et
Entres/Sorties

Administration Unix 11/11/09 99


Introduction au Tuning

Qu'est-ce que le tuning ?


C'est, le plus souvent, pouvoir rpondre la question :
Pourquoi le systme est-il si lent ?
En fait, c'est tudier l'affectation des ressources d'un systme ...
... dans le but, de l'optimiser

Le tuning consiste, donc, paramtrer au mieux un systme pour


pouvoir l'utiliser au mieux de ses performances
Un autre aspect du tuning est l'achat de matriels ou la mise niveau
matriel pour amliorer les performances

Les performances du systme dpendent de l'affectation des


ressources
Les ressources intervenant dans les performances :
CPU
Mmoire
Entres/Sorties Disques
Rseau et Priphriques Trouver la bonne frquence
Administration Unix 11/11/09 100
Introduction au Tuning

Problme de performance = insuffisance de ressources


Une insuffisance de ressources ne peut se rgler que de 2 faons :
Ajouter des ressources (achat ou MAJ de matriels)
Rationner les ressources (tuner le systme)
Les mcanismes de contrles des ressources systme
CPU
Gestion des priorits
Traitement par lot et files d'attente
Ordonnancement des processus
Mmoire
Architecture du swap
Limitation des ressources utilises
Paramtres de la gestion de la mmoire
Entres/Sorties Disques
Architecture du systme de fichiers (disques, contrleurs, ...)
Placement des fichiers sur les disques
Paramtres des Entres/Sorties Trouver la bonne frquence
Administration Unix 11/11/09 101
Introduction au Tuning

Une bonne approche pour grer des problmes de performances :


Poser le problme de manire la plus dtaille
Dterminer la ou les causes du problme
Formuler les amliorations des performances atteindre
Concevoir et implmenter les modifications au niveau du systme et
des applications
Surveiller le systme pour vrifier si les modifications ont fonctionn
Et recommencer

Dans tout problme de performances


Il faut savoir ce qu'il se passe sur son systme, en temps normal
Ncessite de surveiller le systme ...
... et de savoir quand le systme dvie ou se comporte anormalement
Permet, galement, d'avoir un historique du comportement du systme

Pour chaque ressource, voyons comment la surveiller

Trouver la bonne frquence


Administration Unix 11/11/09 102
Introduction au Tuning

Surveiller le CPU
C'est, en fait, surveiller les processus
uptime donne des valeurs moyennes de charge
Charge : nombre moyen de processus actifs
Si > 3, souvent problmatique sur un systme interactif
ps donne la liste des processus du systme et le pourcentage de CPU
qu'ils prennent
top permet d'avoir la liste des processus en temps rel, ainsi que des
informations importantes sur la charge du systme
pstree permet de crer l'arborescence des processus (en intgrant les
liens de parents)
vmstat donne des informations sur l'utilisation CPU (mode utilisateur,
mode noyau et idle)
ps peut montrer les threads noyau, qu'il ne faut pas confondre avec
des processus
Sur les systmes multi-threads, il ne faut pas confondre processus et
threads (un thread est un composant d'un processus et le scheduler
systme ne voit que les processus)
CPU overclocking
Administration Unix 11/11/09 103
Introduction au Tuning

Surveiller le CPU
Surveiller les entres/sorties des processus
Quels sont les fichiers ouverts par les processus ?
rpertoires, fichiers, fichiers temporaires, excutables, librairies,
devices, sockets rseau, pipes, ...
lsof ou fuser sont des commandes Linux permettant de voir quels
fichiers sont ouverts par un processus
fstat est l'quivalent sous FreeBSD et OpenBSD

Surveiller les appels systme d'un processus


Permet une surveillance trs fine (trop fine !)
Une bonne connaissance du fonctionnement de l'OS est
indispensable pour interprter les informations recueillies
Trs utile pour dboguer dans, presque, toutes les situations
strace est la commande Linux et FreeBSD de visualisation des
appels systme
ktrace est l'quivalent pour OpenBSD
CPU overclocking
Administration Unix 11/11/09 104
Introduction au Tuning

Surveiller le CPU

On peut limiter les ressources d'un processus


Temps CPU utilis
Taille maximale du segment de donnes
Taille maximale de segment de pile
Taille maximale du fichier core
Quantit de mmoire virtuelle utilise

Toutes ces limitations peuvent tre dfinies par les commandes limit ou
ulimit

Mais ces limitations ne s'appliquent qu'aux processus


Pas de notion d'une connexion utilisateurs
Pas de notion de limitations par utilisateur
Donc peu utilisable

CPU overclocking
Administration Unix 11/11/09 105
Introduction au Tuning

Lors de problmes de performance CPU, 3 solutions peuvent tre


utilises :

Grer les priorits des processus

Chaque processus possde deux priorits


Priorit de base (dfinie la cration du processus)
Priorit courante (calcule pour allouer le CPU)
Commandes nice ou renice (modifier la priorit de base)
Un processus peut tre arrt ou suspendu en lui envoyant un
signal : commandes kill et killall
Certains processus ont du mal mourir
Zombis
Attente de ressources rseau (type NFS)
Attente de ressources E/S (disque ou bandes)

CPU overclocking
Administration Unix 11/11/09 106
Introduction au Tuning

Lors de problmes de performance CPU, 3 solutions peuvent tre


utilises :

Dplacer les tches consommatrices de CPU vers d'autres systmes


ou les excuter lorsque le systme est moins charge (batch)
Utilisation de cron (excution priodique)
Utilisation de at ou batch (excution diffre)

Modifier les paramtres d'ordonnancement pour privilgier certains


processus
Trs compliqu
Et surtout trs risqu pour la stabilit du systme
A faire, si l'on sait EXACTEMENT ce que l'on fait

CPU overclocking
Administration Unix 11/11/09 107
Introduction au Tuning

Surveiller la mmoire
Les Unix utilisent des mcanismes de pagination (gestion de l'espace
mmoire d'un processus)
Ne pas confondre :
Pagination (allocation d'une unit de mmoire virtuelle)
Swap (transfert d'un processus entier de/vers la zone de stockage
secondaire)
Trashing (systme ne possdant plus assez de mmoire virtuelle
pour fonctionner)
vmstat permet de surveiller l'utilisation de la mmoire
ps donne la liste des processus avec le pourcentage de mmoire
utilise
top donne la liste des processus en temps rel avec le pourcentage de
mmoire utilise
free (sous linux) donne un bon aperu de l'utilisation globale de la
mmoire

J'ai la mmoire qui flanche


Administration Unix 11/11/09 108
Introduction au Tuning

Surveiller la mmoire
L'espace de pagination (swap) est important
Dterminer la taille adquate pour le swap
Difficile
Dpend de ce que fait le systme
Dpend de la configuration globale matrielle du systme
L'espace de pagination peut tre
Une partition ddie ( prfrer pour de meilleure performance)
Un fichier
Penser bien architecturer l'espace de pagination
Rpartir sur plusieurs disques
Ne pas crer de goulots d'tranglement

J'ai la mmoire qui flanche


Administration Unix 11/11/09 109
Introduction au Tuning

Architecture des E/S disques


Pour optimiser les E/S, utiliser l'arborescence UNIX
/ et /usr sont utiliss en parallle
Il est judicieux de placer les deux partitions sur deux disques
diffrents sur des contrleurs diffrents
/var est plutt utilis la fois en lecture et en criture
Dans le cas d'un serveur, on pourra placer /var sur un disque
ddi
L'utilisation de RAID (mme logiciel) peut amliorer les performances
La fragmentation des fichiers diminue les performances
L'utilisation de types de systmes de fichiers peut amliorer les
performances
Ext2 est trs rapide mais peu robuste en cas de crash
Ext3 est trs robuste mais moins rapide que ext2
Reiserfs est moins rapide que ext3
Le paramtrage du systme de fichiers peut avoir un impact (taille
des clusters, taille rserve root)
J'ai mes entres ...
Administration Unix 11/11/09 110
Introduction au Tuning

Grer l'espace disque


Les commandes du et df permettent de surveiller l'espace disque
utilis
df donne des informations sur les systmes de fichiers
du donne la taille d'un rpertoire sur disque
quot permet d'avoir la consommation d'espace disque par
utilisateur
Dfinir les fichiers inutiles (scripts automatiques)
Dfinir une politique pour les fichiers inutiles
Compresser les fichiers peut utiliss
Convaincre les utilisateurs de faire le mnage
Proposer des outils d'archivage de fichiers transparents pour
l'utilisateur
Dfinir une politique pour les fichiers non accds depuis un certain
temps :
Archivage (disque, CD-ROM, bandes)
Rcupration (transparente si possible)
Ne pas saturer un disque
Administration Unix 11/11/09 111
Introduction au Tuning

Grer l'espace disque

Limiter la taille des fichiers de log


Utilisation de logrotate
Limitation des fichiers core
Surveiller /var et le purger le cas chant

L'utilisation des quotas


Permet de limiter l'espace utilis pour un utilisateur
Permet de limiter l'espace utilis pour un groupe d'utilisateur

Ne pas saturer un disque


Administration Unix 11/11/09 112
Exploitation d'un systme Unix

Seconde Partie du Cours

Administration Unix 11/11/09 113


PLAN (rappel)

Exploitation d'un systme Unix


Les comptes utilisateurs (ou comment autoriser l'utilisation du systme)
L'authentification (password, groups, shadow et PAM)
Les permissions sur les fichiers, les quotas disque et les ACLs (ou
comment contrler qui accde quoi)
Excution dcale : cron, at et les scripts d'exploitation (ou comment
automatiser son travail)
Le noyau : fonctionnement, modules, configuration et compilation (ou
comment empcher sa station de booter)
X-Window (ou comment profiter d'une interface graphique)
Sauvegardes et restaurations (ou comment prendre une assurance
pour son systme)
Les impressions (ou comment s'amuser de longues heures avec les
imprimantes)
Le rseau (ou comment configurer les services de base pour
communiquer avec le monde entier)
Syslog et Accounting (ou comment jouer Big Brother)
Programme
Administration Unix 11/11/09 114
Exploitation d'un systme Unix

Gestion des Comptes Utilisateur,


Authentification, PAM, SU et SUDO

Administration Unix 11/11/09 115


Identification et Authentification

Identification
Savoir qui est qui, pour dterminer les accs autoriss
Notion de login ou username

Authentification
Prouver qui on prtend tre
Notion de secret partag ou password

J'crois qu'j'ai mon compte


Administration Unix 11/11/09 116
UID et GID

UID : User IDentifier


Identifie de manire unique un utilisateur sur le systme
Nous sommes tous des numros
UIDs spcifiques
0 : ROOT
Notions d'utilisateurs spcifiques pour grer la sparation des
privilges des daemons (lp, mail, sshd, ...)

GID : Group IDentifier


Notion de groupes d'utilisateurs
Tout utilisateur appartient au moins un groupe
Un utilisateur peut appartenir plusieurs groupes
Un groupe est aussi un numro
GID spcifiques
Privilges pour accder des ressources spcifiques (audio,
floppy, ...)

J'crois qu'j'ai mon compte


Administration Unix 11/11/09 117
Hashage et Signature Numrique

Famille des algorithmes de chiffrement


Appels, aussi, algorithmes de chiffrement sans cl
Transforme un message (chane de caractre, fichier) en une
empreinte numrique de taille fixe (un grand entier de 128 bits ou
plus)

Transformation non rversible (fonction sens unique)


Impossible de retrouver le message d'origine

Problme des collisions


Diffrents messages peuvent avoir une empreinte identique
S'il est possible de gnrer deux messages ayant la mme empreinte,
alors l'algorithme est cass

Exemple : md5sum
md5sum /bin/bash (fichier de 511 Ko) :
603492287ea2f26b9fb9266c961d5b0c /bin/bash

J'crois qu'j'ai mon compte


Administration Unix 11/11/09 118
Fichiers de Gestion de Compte

/etc/passwd (lisible par tout le monde)

fred:x:1000:100:F. Combeau:/home/fred:/bin/bash

Champ 1 : nom de login


Champ 2 : mot de passe hash ou x si mot de passe dans shadow
* permet d'invalider un compte
Champ 3 : UID
Champ 4 : GID
Champ 5 : champs GECOS, informatif (suivant l'OS)
Champ 6 : rpertoire d'accueil
Champ 7 : excutable du shell de commande
Si prsent dans /etc/shells, l'utilisateur peut le changer
Si shell spcifique, l'utilisateur ne peut pas le changer

J'crois qu'j'ai mon compte


Administration Unix 11/11/09 119
Fichiers de Gestion de Compte

/etc/group (lisible par tout le monde)

users:x:100:fred

Champ 1 : nom du groupe


Champ 2 : mot de passe du groupe (x si mot de passe dans gshadow)
Champ 3 : GID
Champ 4 : liste de noms de login qui appartiennent au groupe

J'crois qu'j'ai mon compte


Administration Unix 11/11/09 120
Fichiers de Gestion de Compte

/etc/shadow (lisible uniquement par le systme)

fred:<password hash>:12129:0:99999:7:::

Champ 1 : nom de login


Champ 2 : mot de passe hash (* : invalider un compte)
Champ 3 : dernier changement
Champ 4 : autorisation de changement de mot de passe
Champ 5 : mot de passe doit tre chang
Champ 6 : avertissement utilisateur mot de passe changer
Champ 7 : compte invalid aprs expiration
Champ 8 : compte expir
Champ 9 : rserv
Les champs 3 8 sont rservs l'expiration des comptes
Commandes : passwd et chage

J'crois qu'j'ai mon compte


Administration Unix 11/11/09 121
Fichiers de Gestion de Compte

/etc/gshadow (lisible uniquement par le systme)

users:*::

Champs 1 : nom de groupe


Champs 2 : mot de passe hash
Champs 3 : administrateurs du groupe
Champs 4 : membres du groupe

J'crois qu'j'ai mon compte


Administration Unix 11/11/09 122
Synoptique d'Authentification

Identifiant Identifiant
+ +
Authentifiant Hashage Authentifiant
(crypt, md5, ...)
en clair hash

Fichier d'authentifiants
(passwd ou shadow)

gal Diffrent

Les mots de passe sont hashs


dans le fichier Accs Accs
Il est trs difficile de retrouver autoris non autoris
le mot de passe en clair partir
de la version hashe.

J'crois qu'j'ai mon compte


Administration Unix 11/11/09 123
Autres Fichiers Intervenant dans l'Authentification

/etc/securetty
Points de connexion autoriss pour root (console, port srie, tty...)

/etc/shells
Shells autoriss (chemins complets)

/etc/login.defs (Linux)

/etc/login.conf (BSD)
Configuration des excutables de la suite login

/etc/nologin
La prsence de ce fichier interdit la connexion des utilisateurs autres
que root

J'crois qu'j'ai mon compte


Administration Unix 11/11/09 124
PAM : Plugable Authentication Modules

Mcanisme d'authentification centralis


Les applications PAMifies dlguent leur authentification
Les librairies PAM contrlent cette authentification
La configuration des librairies PAM est effectue et contrle par
l'administrateur pour chaque application
Deux types de configuration :
/etc/pam.conf (fichier unique)
Plusieurs lignes par application
/etc/pam.d (dossier)
Un fichier de configuration par application utilisant les PAM

Intgration des PAM suivant la distribution


Support des PAM
Redhat, Mandriva, Debian, FreeBSD, Solaris
Pas de support des PAM
Slackware, OpenBSD

J'crois qu'j'ai mon compte


Administration Unix 11/11/09 125
PAM

4 catgories gres
Authentification : vrification de l'identit (couple
identifiant/authentifiant)
Compte : vrification des informations de compte (mot de passe
expir, appartenance un groupe)
Mot de passe : mis jour du mot de passe (obliger l'utilisateur
changer de mot de passe aprs expiration)
Session : prparation de l'utilisation du compte (tracer la connexion,
monter des rpertoires utilisateurs)

4 contrles de russite
requisite : tous ces modules DOIVENT russir (en cas de non succs
d'un module, le traitement de la pile s'arrte et renvoie le non succs)
required : Idem requisite, mais le traitement ira jusqu' la fin de la pile
sufficient : la russite de ce module suffit valider la pile de modules
rsultat ignor si module required a chou avant
optional : rsultat considr seulement si aucun autre module n'a
russi ou chou
J'crois qu'j'ai mon compte
Administration Unix 11/11/09 126
PAM

Modules PAM : /lib/security


pam_unix.so, pam_nologin.so, pam_rootok.so...

Configuration des modules : /etc/security


group.conf, limits.conf, pam_env.conf, time.conf...

Exemple : slackware dropline


% ls /etc/pam.d
dropline-installer halt poweroff system-auth xserver
gdm login reboot time-admin
gdm-autologin other samba useradd
gdmsetup passwd shadow xdm
gnome-system-log pkgtool su xscreensaver

J'crois qu'j'ai mon compte


Administration Unix 11/11/09 127
PAM

Exemple : login
auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_stack.so service=system-auth
auth required /lib/security/pam_env.so
auth sufficient /lib/security/pam_unix.so likeauth nullok
auth required /lib/security/pam_deny.so
auth required /lib/security/pam_nologin.so

account required /lib/security/pam_stack.so service=system-auth


account required /lib/security/pam_unix.so

password required /lib/security/pam_stack.so service=system-auth


password required /lib/security/pam_cracklib.so retry=3
password sufficient /lib/security/pam_unix.so nullok md5 shadow use_authtok
password required /lib/security/pam_deny.so

session required /lib/security/pam_stack.so service=system-auth


session required /lib/security/pam_limits.so
session required /lib/security/pam_unix.so
session optional /lib/security/pam_console.so

J'crois qu'j'ai mon compte


Administration Unix 11/11/09 128
Exemples de Modules PAM

pam_unix
Reproduit l'authentification Unix classique
auth
Compare le hash du mdp fourni avec passwd ou shadow
nullok : mdp vide accept
nodelay : supprime le dlai en cas d'chec
account
Vrifie le statut du compte de l'utilisateur dans shadow
password
Met jour le mot de passe de l'utilisateur
md5 : utiliser le hash MD5 du mdp
shadow : utiliser le fichier shadow
nullok : permet de modifier le mdp vide (sinon impossible)
session
Enregistre les vnements de connexion

J'crois qu'j'ai mon compte


Administration Unix 11/11/09 129
Exemples de Modules PAM

pam_cracklib
password
Vrifie la robustesse du mot de passe
retry : nombre d'essais en cas de mdp faible
difok : nombre minimal de caractres diffrents
minlen : taille minimale du mdp
pam_env
auth
Configuration des variables d'environnement
pam_limits
session
Configure les limites sur l'utilisation des ressources
pam_stack
account, auth, password, session
Appelle la configuration PAM d'un autre service
service : service dont la configuration est utilise
J'crois qu'j'ai mon compte
Administration Unix 11/11/09 130
Les Mots de Passe Usage Unique (OTP)

Le mcanisme OPIE (One-time Passwords In Everything) est inclus


dans FreeBSD et OpenBSD
Il est support par login, ftpd et su
Un module PAM le prend galement en charge

Lalgorithme S/KEY est utilis pour gnrer les mots de passe usage
unique
Lors de la phase de login, lutilisateur reoit un challenge
Il doit recopier ce challenge dans une calculatrice
Celle-ci fournit la rponse au challenge
Lutilisateur peut sauthentifier avec cette rponse

J'crois qu'j'ai mon compte


Administration Unix 11/11/09 131
SU et SUDO

SU
Permet de changer le compte sous lequel on est connect (change
UID et GID)
Configuration classique :
root peut prendre n'importe quelle identit sans mot de passe
Tout autre utilisateur peut prendre une autre identit en fournissant
le bon mot de passe
La configuration de SU se fait par les PAM
Il est facile de changer la configuration par dfaut
Exemple : restriction de SU un groupe particulier

Lanc sans nom d'utilisateur, demande le passage sous root


Avec -, demande la cration de l'environnement de l'utilisateur dont on
demande l'identit
% su -
Passage sous le compte root avec l'environnement de root

J'crois qu'j'ai mon compte


Administration Unix 11/11/09 132
SU et SUDO

SUDO
Permet d'excuter une commande sous l'identit d'un autre utilisateur
Permet en particulier l'utilisation de commandes spcifiques sous le
compte root

Configuration par le fichier /etc/sudoers


utilisateur1 hte = commande [utilisateur2]
Permet l'utilisateur1 sur la machine hte d'excuter la commande
commande en tant qu'utilisateur utilisateur2
Par dfaut, utilisateur2 est root

Exemple : fred ALL=/sbin/shutdown -h now

Toute action effectue l'aide de la commande SUDO est enregistre

J'crois qu'j'ai mon compte


Administration Unix 11/11/09 133
Exploitation d'un systme Unix

Gestion des fichiers

Permissions, ACL et Quotas

Administration Unix 11/11/09 134


Permissions

A chaque fichier, sont associs un utilisateur propritaire (UID) et un


groupe propritaire (GID)

A chaque fichier, sont associs des permissions

3 types de permissions :
Lecture : R
criture : W
Excution : X

UMASK permet de dfinir les droits hrits par dfaut la cration des
fichiers

Permission denied
Administration Unix 11/11/09 135
Permissions

3 groupes de droits qui s'appliquent :


Au propritaire du fichier
Au groupe propritaire du fichier
Au reste du monde
-rw-r-xr-- 1 fred users 51991 Mar 20 20:42 admin_unix.sxi

Droits additionels :
Set UID : s la place de x pour le propritaire
Set GID : s la place de x pour le groupe propritaire
Sticky Bit : t la place de x pour le reste du monde
-rwSr-sr-- 1 fred users 51991 Mar 20 20:42 libre_en_fete.sxi

Permission denied
Administration Unix 11/11/09 136
Permissions

Interprtation des permissions pour les fichiers


Lecture : permet de lire le contenu du fichier

criture : permet d'crire dans le fichier

Excution : permet d'excuter le fichier sous son identifiant

Set UID : permet d'excuter le fichier sous l'identifiant du propritaire


du fichier

Set GID : permet d'excuter le fichier sous l'identifiant de groupe du


groupe propritaire du fichier

SUID et SGID sont viter car peuvent engendrer des problmes de


scurit

Permission denied
Administration Unix 11/11/09 137
Permissions

Interprtation des permissions pour les dossiers


Lecture : permet de lire le nom des fichiers composant un rpertoire

criture : permet de crer et d'effacer des fichiers dans un rpertoire

Excution : permet d'accder aux informations des fichiers composant


un rpertoire et de s'y arrter

Set GID : permet de crer des fichiers dont le groupe propritaire est
celui du rpertoire

Sticky Bit : permet d'effacer uniquement les fichiers dont on est


propritaire

Permission denied
Administration Unix 11/11/09 138
Permissions

Les commandes importantes


chown : change le propritaire d'un fichier (ainsi que le groupe)
chown toto /home/toto
chown toto:users fichier

chgrp : change le groupe du fichier

chmod : modifie les permissions sur un fichier


deux faons de procder
spcifier les permissions
chmod g+rx,o-rwx fichier
utiliser le masque
chmod 755 fichier

Permission denied
Administration Unix 11/11/09 139
Attributs

Attributs de fichiers
dpendent du systme de fichiers
meta-info influenant le comportement du systme
ext2/3 : lsattr/chattr

Dtails des attributs (Linux) [ASacDdIijsTtu]


A
Access Time pas mis jour (gain de performance)
a (root only)
Append only : fichier ouvrable seulement en APPEND
i (root only)
Immutable : fichier ne peut tre modifi, supprim, hard-link, ...
S
Sync : comme le sync du mount(), mais pour des fichiers
u
Undelete : sauvegarde du fichier pour rcupration
Permission denied
Administration Unix 11/11/09 140
ACLs tendues

Les ACL permettent d'tendre le modle des permissions


Il est possible de dfinir des listes d'accs, accordant des droits
particuliers certains groupes ou utilisateurs
Toutefois, cela complique l'administration
Tout utilisateur peut dfinir des ACL sur ses fichiers
Disponible sous Linux (noyau recompiler)
Commandes:
getfacl
setfacl

Exemple
%setfacl -m u:titi:rwx fichier
%ls -l fichier
-r-xr-xr-x+ 1 toto users 216112 Jan 27 09:54 fichier
%getfacl fichier
user::r-x
user:titi:rwx
group::r-x
mask:rwx
other:r-x

Permission denied
Administration Unix 11/11/09 141
Quotas

Les quotas permettent de limiter l'utilisation des systmes de fichier


par les utilisateurs
Limites sur inodes et sur blocs
Deux types de limites :
Soft limit
Limite souple : permet d'accorder une priode (grace period)
pendant laquelle l'utilisateur peut dpasser la limite
Hard limit
Limite dure : l'utilisateur ne peut dpasser cette limite, le
systme refusera d'accorder les inodes ou blocs

Quotas par utilisateur ou par groupe

Les systmes de fichier doivent tre monts avec l'option quota (ou
plus spcifiques usrquota et grpquota)

Les quotas doivent tre grs par le systme de fichier


ext(2|3) et reiserfs sous Linux
Permission denied
Administration Unix 11/11/09 142
Quotas

Commandes
quotacheck : met jour les quotas, utiliser au dmarrage du
systme, puis priodiquement (toutes les semaines)

quotaon : active les quotas pour un systme de fichier donn


quotaon -a (active les quotas suivant fstab)

quotaoff : dsactive les quotas

edquota : permet de dfinir les quotas par utilisateur (lance l'diteur


sur le fichier de quota)
edquota -u toto (dfinition du quota de l'utilisateur toto)
edquota -g users (quota pour le groupe users)
edquota -t (configuration de grace period)

repquota : rapport sur les quotas

Permission denied
Administration Unix 11/11/09 143
Exploitation d'un systme Unix

Planification de Tches

CRON, AT et Scripts d'Exploitation

Administration Unix 11/11/09 144


CRON

cron est un dmon permettant la programmation de tches excutes


priodiquement
cron est lanc au dmarrage du systme

cron peut tre configur pour lancer des travaux chaque jour, chaque
semaine, chaque mois

La configuration est faite par des fichiers crontab


Configuration globale : /etc/crontab
Parfois la crontab de root est utilise

Chaque utilisateur peut dfinir des tches priodiques


Emplacement des fichiers crontab :
Sous Linux : /var/spool/cron/<user>
Sous BSD : /var/cron/tabs/<user>

L'utilisateur utilis pour lancer les commandes est le propritaire du


fichier, sauf pour la crontab globale Excution dcale
Administration Unix 11/11/09 145
CRON

Structure du fichier crontab :


Commentaires avec #
Liste de variables d'environnement
SHELL=<commande shell utiliser>
HOME=<dossier d'excution par dfaut>
MAILTO=<adresse d'envoi du rapport>
Lignes de tches
<minutes> <heures> <jours-du-mois> <mois> <jours-de-la-semaine> <tche>
Dans /etc/crontab, l'utilisateur utilis pour lancer la tche est
spcifi avant la tche elle-mme

Exemples de tches programmes :


* * * * 1 quotacheck (quotacheck tous les lundis)
* * 1 * * updatedb (mise jour de la base locate le 1 du mois)

noter : il existe des alias @daily, @weekly, @monthly, @yearly

Excution dcale
Administration Unix 11/11/09 146
CRON

Commandes

crond
C'est le dmon lui-mme, il est lanc par l'un des scripts de
dmarrage, sans option

crontab
C'est le programme de manipulation des crontab, qui modifie la
crontab de l'utilisateur courant

crontab -l : affiche la crontab


crontab -r : efface la crontab
crontab -e : lance l'diteur sur la crontab et valide le contenu en
sortie

Excution dcale
Administration Unix 11/11/09 147
AT

at permet de lancer ponctuellement des commandes, une date et


une heure donnes

Le dmon atd est lanc par les scripts de dmarrage

La commande at permet de programmer le lancement d'une tche


(une seule fois, pas de priodicit)

Utilisation : at HEURE
at midnight, at noon, at 4pm
at + 5 minutes, at + 2 days
puis saisir la liste des commandes effectuer

atq affiche la liste des tches programmes

at -c <numro de tche> affiche le contenu d'une tche

Excution dcale
Administration Unix 11/11/09 148
Scripts d'Exploitation

L'ensemble des tches d'exploitation du systme peut tre effectu


par des scripts
Les scripts peuvent tre programms dans tout langage
Par exemple : Shell, Perl, Python, ...
Le lancement des scripts peut tre automatis par cron et at.

Exemples
Vrification des comptes sans mot de passe
Utilisation du disque
Sauvegardes du systme

Les scripts doivent tre tests le plus possible avant d'tre dploys
Test sur des copies des vrais fichiers, dans une arborescence
part, tester les limites, ...

Les scripts ne peuvent pas tout faire, il faut parfois revenir un


langage de programmation (bien que le cas se prsente rarement)
Excution dcale
Administration Unix 11/11/09 149
Exploitation d'un systme Unix

Le Noyau

Fonctionnement, Modules,
Configuration et Compilation

Administration Unix 11/11/09 150


Le Noyau

Le noyau est le coeur du systme d'exploitation


Il est charg au dmarrage de la machine (cf. Boot)
Il fournit les interfaces de communication avec les priphriques
matriels
Il peut tre monolithique (un seul bloc) ou modulaire
Emplacement
Sous Linux : /boot/vmlinuz (compress)
Sous BSD : /boot/kernel/kernel (non compress)
Chargement
Lilo
image = /boot/vmlinuz
root = /dev/hda7
label = Linux
read-only
vga = 834
initrd = /boot/initrd
Grub
title Linux
kernel (hd0,6)/boot/vmlinuz root=/dev/hda7 ro vga=834
initrd (hd0,6)/boot/initrd

Everything about kernel


Administration Unix 11/11/09 151
Le Noyau

Linux : le boot loader (lilo, grub) peut passer des paramtres de


dmarrage au noyau (ligne de commande du noyau)
single : dmarrage en mode single user (runlevel 1)
emergency : un shell est lanc la place d'init
ro : systme de fichier racine mont en lecture seule (recommand)
vga=xxx : choix du mode graphique (normal pour le mode texte)
initrd : chargement d'un systme de fichier en mmoire avant le
lancement du noyau

Everything about kernel


Administration Unix 11/11/09 152
Le Noyau

La commande sysctl permet de modifier les paramtres du noyau


pendant le fonctionnement du systme
Initialisation selon le fichier /etc/sysctl.conf
sysctl <variable> affiche la valeur d'une variable
sysctl -a pour voir toutes les variables (combiner avec grep)
Pour modifier une valeur :
sysctl -w variable=valeur sous Linux
sysctl variable=valeur sous *BSD

/proc contient des informations sur les processus en cours


d'excution
Particularit de Linux : les paramtres du systme peuvent tre
configurs par des entres dans /proc
Exemples
/proc/sys/net, /proc/modules, /proc/meminfo

Everything about kernel


Administration Unix 11/11/09 153
Le Noyau

Si le noyau n'a pas t compil de faon monolithique, il est possible


de charger des modules pour tendre les fonctionnalits du noyau
aprs le dmarrage du systme
Exemple : les pilotes de priphriques

Commandes :
Sous Linux
lsmod (affiche la liste des modules chargs)
insmod (charge un module)
modprobe (charge un module avec les modules pr-requis)
rmmod (retire un module condition qu'il ne soit plus utilis)
/lib/modules/<version du noyau> (contient les
modules)
Sous *BSD
kldstat, kldload, kldunload
/boot/kernel contient les modules

Chargement automatique possible Everything about kernel


Administration Unix 11/11/09 154
Le Noyau

Le code source du noyau de Solaris n'est pas fournit, cependant des


modules peuvent tre insrs

Il est impossible de recompiler le noyau Solaris

Ce noyau fournit des interfaces pour le chargement de modules, il est


donc possible de charger de nouveaux pilotes

Les modules ne sont chargs que lors du dmarrage, il faut donc


spcifier dans le fichier de configuration /etc/system le nouveau
module charger puis relancer la machine

Le noyau et les modules sont dans /kernel, le noyau est


/kernel/unix

Everything about kernel


Administration Unix 11/11/09 155
Utiliser un Noyau Modifi

Requis dans certains cas


Besoin d'une fonctionnalit d'une nouvelle version
Application d'un patch
Correction d'un problme de scurit
Pas de mise jour constructeur
Optimisation pour une architecture
Prcautions prendre
Conserver un ancien noyau fonctionnel
pas toujours possible
sauvegarder la configuration de l'ancien noyau
Sauvegarde ventuelle des partitions
en cas de corruption du systme de fichiers
Opration longue
Nombre d'options actives
Nombre de processeurs (make -j N)
Dossier Documentation
Everything about kernel
Administration Unix 11/11/09 156
Configuration d'un Noyau

Avant la configuration
Enumration des priphriques matriels
lspci
dmesg
Choix des systmes de fichiers
Dterminer les protocoles rseau ncessaires
Installer les sources du noyau
Appliquer les patches

Configuration
Copier le fichier de configuration choisi en .config
make menuconfig
Modulaire / Monolithique
Important
Pilotes pour le disque dur et le systme de fichier racine
ou utiliser un initrd
CONFIG_HIGHMEM4G si 1Go de RAM ou plus
Everything about kernel
Administration Unix 11/11/09 157
Compilation d'un Noyau

Avant la compilation
Vrifier l'espace libre : ~ 200 Mo ncessaires
diter Makefile pour certaines options spcifiques
Suffixe de version du noyau

Compilation
Noyau 2.6.xx : make
bzImage modules
compilation du noyau compress
compilation des diffrents modules slectionns
make O=<dir> : fichiers produits dans dir
Noyau 2.4.xx
make bzImage
make modules
Trs verbeux

Everything about kernel


Administration Unix 11/11/09 158
Installation d'un Noyau

Avant l'installation
Monter ventuellement la partition /boot
Vrifier si lilo ou grub est utilis

Installation
Automatique : make install
excute /sbin/installkernel
Comportement suivant la distribution (peut tre dangereux)

A la main
copier le noyau : arch/<arch>/boot/bzImage
/boot/vmlinuz-<version>
copier System.map
/boot/System.map-<version>
copier .config
/boot/config-<version>
Everything about kernel
Administration Unix 11/11/09 159
Tester le Nouveau Noyau

Mettre jour le bootloader

Ajouter le nouveau noyau

Prserver les anciennes entres

Relancer l'installation du bootloader (s'il s'agit de lilo)

Redmarrer la machine

Slectionner le nouveau noyau

Diagnostiquer les erreurs ...

Everything about kernel


Administration Unix 11/11/09 160
Exploitation d'un systme Unix

X-Window System

Architecture, Modules et Configuration

Administration Unix 11/11/09 161


Architecture de X-Window

X11 est X Window System version 11

X-Window est une architecture client-serveur, destine la gestion


des environnements graphiques
Le serveur X effectue le rendu graphique sur une machine donne, en
utilisant le matriel (carte graphique, cran, clavier, souris...)
Les clients X (gestionnaires de fentres, terminaux X...) se connectent
au serveur X pour leur affichage
La communication se fait localement par un socket UNIX, mais peut
aussi tre faite par TCP/IP pour un serveur distant (ports TCP 6000 et
suivants)
La variable d'environnement qui dsigne le serveur X est DISPLAY (sur
une machine autonome, DISPLAY=:0)

Implmentations libres actuelles (toujours X11R6)


XFree86 (version 4.4)
X.org (version 7.4)

X-files
Administration Unix 11/11/09 162
Architecture Client/Serveur

Station de travail Serveur


Affichage des applications
excutes sur le serveur

Serveur X Clients X
Display 0 TCP/6000 Display station:0

X-files
Administration Unix 11/11/09 163
Architecture Client/Serveur + Tunnel SSH

Station de travail Serveur


Affichage des applications
excutes sur le serveur
avec ssh et X11-forward

Client SSH Serveur SSH

Tunnel SSH

Serveur X Clients X
Display 0 Display station:10

X-files
Administration Unix 11/11/09 164
Contrle d'Accs des Clients

Si l'accs est autoris, un client un accs TOTAL au serveur X (et


aux autres clients connects ce serveur)
Politique du TOUT ou RIEN
Problme potentiel de scurit

Contrle par adresse IP


La commande xhost permet d'accorder l'accs par adresse IP
xhost + : toutes les machines ont accs
xhost - : aucune machine n'a accs
xhost + toto : ajout de la machine toto en accs

Contrle par un secret partag


L'utilisateur obtient un cookie auprs du serveur (gnr au lancement
de celui-ci), qui lui permet de s'y connecter
Les cookies sont stocks dans ~/.Xauthority
La commande xauth permet de grer les cookies

X-files
Administration Unix 11/11/09 165
Modules d'un Serveur X

Le serveur X a une architecture modulaire

Les diffrents pilotes utiliss par le serveur X sont des modules

Diffrents types de modules


Cartes graphiques
Priphriques d'entre (clavier, souris, ...)
Extensions (freetype, GLX, ...)

Situs dans /usr/X11R6/lib/modules/

Les modules sont chargs au dmarrage du serveur X suivant la


configuration

L'chec du chargement d'un module n'est pas forcment fatal, mais


entrane le non-fonctionnement du priphrique associ
Fatal s'il s'agit d'un module de carte graphique

X-files
Administration Unix 11/11/09 166
Configuration d'un Serveur X

La configuration du serveur X se fait par un fichier

Pour Xorg

/etc/X11/xorg.conf

Pour XFree

/etc/X11/XF86Config[-4]

X-files
Administration Unix 11/11/09 167
Configuration d'un Serveur X

Le fichier se compose de sections

Section Files
Dfinition des ressources rgb, polices

Section Module
Extensions charger (GLX, extmod)

Sections InputDevice
Dfinition des priphriques d'entre et de leurs pilotes (souris,
clavier, autres)

Sections Monitor
Dfinition des crans et de leurs modes de fonctionnement

X-files
Administration Unix 11/11/09 168
Configuration d'un Serveur X

Le fichier se compose de sections

Sections Device
Dfinition des cartes graphiques et pilotes

Sections Screen
Associe cartes et crans des rsolutions de fonctionnement

Sections ServerLayout
Associe une section Screen des priphriques d'entre,
constitue le point d'entre pour le dmarrage du serveur X

On peut spcifier le layout sur la ligne de commande


X -layout <layout>

X-files
Administration Unix 11/11/09 169
Exploitation d'un systme Unix

Sauvegarde et Restauration

Politiques et Commandes

Administration Unix 11/11/09 170


Politiques de Sauvegarde

Pourquoi sauvegarder?
Parce que le matriel tombera en panne (disque dur dfectueux, panne
gnrale d'un systme)
Parce que les utilisateurs ne sont pas infaillibles (ils effacent des
fichiers par erreur)

Quand sauvegarder?
Il faut adapter la politique de sauvegarde l'importance des donnes
(station de travail, serveur de calcul, base de donnes)
Il faut autant que possible sauvegarder pendant les heures creuses
(nuit, week-end)
Bien utiliser les diffrents types de sauvegardes
Aucune politique n'est applicable partout, il faut toujours s'adapter la
situation

Fil conducteur
Envisager la perte de tous les disques durs pendant que vous
n'tes pas connect sur le systme
Il faut sauvegarder
Administration Unix 11/11/09 171
Politiques de Sauvegarde

Les diffrents types de sauvegardes

Sauvegarde totale
Tous les fichiers sont sauvegards
Pour une restauration, il suffira de tout redescendre
Sauvegarde longue et ncessitant beaucoup de ressources
(bandes)
Restauration facile et rapide

Sauvegarde incrmentale
Seuls les fichiers qui ont t modifis depuis la dernire
sauvegarde totale, sont sauvegards
Pour une restauration, il faut faire une restauration totale + une
restauration incrmentale, partir de la restauration totale
Sauvegarde courte et ncessitant peu de ressources
Restauration complexe et pouvant tre longue

Il faut sauvegarder
Administration Unix 11/11/09 172
Politiques de Sauvegarde

Les diffrents types de sauvegardes

Sauvegarde diffrentielle
Seuls les fichiers qui ont t modifis depuis la dernire
sauvegarde incrmentale, sont sauvegards
Pour une restauration, il faut faire une restauration totale + une
restauration incrmentale + une restauration diffrentielle
Sauvegarde trs courte et ncessitant trs peu de ressources
Restauration trs complexe et pouvant tre trs longue

Il faut sauvegarder
Administration Unix 11/11/09 173
Politiques de Sauvegarde

Les diffrents types de sauvegardes

Sauvegarde systme
Consiste sauvegarder un systme complet dont l'OS
Ncessite le plus souvent de passer en single user

Sauvegarde de donnes
Les homes utilisateurs, des applications tierces, archivage

Sauvegarde applicative
SGBD, serveur Web
Ncessite une procdure spcifique pour sauvegarder au niveau
de l'application, sinon l'application devra tre arrte avec un script
adapte

Il faut sauvegarder
Administration Unix 11/11/09 174
Politiques de Sauvegarde

Questions importantes
Quels fichiers doivent tre sauvegards ?
Quelle est la taille d'une sauvegarde totale, incrmentale ou
diffrentielle ?
O sont ces fichiers ?
Qui sauvegarde les fichiers ?
O sont faites les sauvegardes ?
Quelle est la frquence de modification des fichiers sauvegarder?
Quel est le dlai de restauration tenir ?
O les sauvegardes sont-elles stockes ?
Combien me faut-il de bandes (DVD, CD-RW, ...) ?
Combien de temps dure une sauvegarde totale ?

Stratgies de haute disponibilit


La restauration du systme doit respecter des dlais trs courts en cas
de panne
Il faut sauvegarder
Administration Unix 11/11/09 175
Politiques de Sauvegarde - Exemple

Sauvegarder un serveur NFS exportant les homes utilisateurs


Configuration
Linux Redhat 5 U4, install avec KickStart
1 lecteur de bandes DLT 700 Go
1 DD de 136 Go pour le systme
3 DD de 300 Go en RAID-5 matriel pour le /export/home

Sauvegarde des homes utilisateurs


Sauvegarde totale le 1er WE du mois
1 bande/mois
Sauvegarde incrmentale les 3 (ou 4) autres WE du mois
3 bandes/mois
Sauvegarde diffrentielle tous les soirs de la semaine
4 bandes/semaine soit 16 bandes/mois
TOTAL 16+3+1 = 20 bandes/mois

Il faut sauvegarder
Administration Unix 11/11/09 176
Politiques de Sauvegarde - Exemple

Sauvegarder un serveur NFS exportant les homes utilisateurs


Configuration
Linux Redhat 5 U4, install avec KickStart
1 lecteur de bandes DLT 700 Go
1 DD de 136 Go pour le systme
3 DD de 300 Go en RAID-5 matriel pour le /export/home

Sauvegarde systme
L'installation par KickStart permet une restauration plus rapide du
systme
Sauvegarde des fichiers spcifiques au serveur (/etc) et du fichier
KickStart d'installation
En cas de crash du disque dur systme
R-installation du serveur via KickStart
Rcupration des fichiers spcifiques

Il faut sauvegarder
Administration Unix 11/11/09 177
DUMP

dump est un outil permettant de sauvegarder des systmes de fichier


entier
Le programme dump doit tre adapt au systme de fichier
sauvegarder
Exemple : dump sous Linux ne sauvegarde que ext2/3
Il permet des sauvegardes incrmentales
dump -0 : garantit une sauvegarde complte
dump -1 : sauvegarde les fichiers modifis depuis la dernire
sauvegarde de niveau 0
Attention : le niveau par dfaut est 9
Le fichier /etc/dumpdates contient les dates et niveaux des
dernires sauvegardes
dump -W : informations sur les sauvegardes faire
dump -u : met jour dumpdates si la sauvegarde russit
Dump sous Linux peut galement sauvegarder des fichiers ou dossiers
particuliers, mais seulement de niveau 0 et sans mettre d'entre dans
dumpdates (prfrer tar/cpio)
Il faut sauvegarder
Administration Unix 11/11/09 178
RESTORE

restore est le pendant de dump, il permet la restauration des fichiers


sauvegards avec dump
-C : compare les fichiers sauvegards et les fichiers actuels
-r : restaure le systme de fichier entier (format au pralable)
-i : restauration interactive
-x : restauration de certains fichiers (prfrer tar ou cpio)
-f : spcifie le fichier

Il faut sauvegarder
Administration Unix 11/11/09 179
TAR

tar (tape archiver) est un outil de cration d'archives adapt la


sauvegarde d'arborescences de fichiers
A l'origine, tar est fait pour copier des arborescences de fichier sur un
lecteur de bande
Sous Linux et *BSD, tar est aujourd'hui un utilitaire d'archivage trs
souple, avec possibilit de compression
options:
c : cration d'archive
x : extraction d'archive
f : spcification du fichier
v : mode verbeux
z : compression gzip
j : compression bzip2 (plus lent mais plus efficace)

Anecdotique :
tar c : criture type BSD
tar -c : criture type GNU
Il faut sauvegarder
Administration Unix 11/11/09 180
TAR

Exemples
tar c /home
Simple sauvegarde de /home sur le priphrique de bande par
dfaut (/dev/rmt0)
tar czf projet.tar.gz projet
Sauvegarde le dossier projet dans le fichier projet.tar.gz
(compress au format gzip)
tar xvjf linux-2.6.24.tar.bz2 -C /usr/src
Extraction des fichiers de l'archive linux-2.6.24 (compresse bzip2)
dans le dossier /usr/src, en mode verbeux (les fichiers extraits sont
crits au fur et mesure sur le terminal)
tar xj -p -f sauvegarde.tar.bz2
Extraction de l'archive sauvegarde avec restauration des
permissions
tar x <fichier restaurer>
Restauration d'un fichier prcis partir de la bande

Il faut sauvegarder
Administration Unix 11/11/09 181
CPIO

cpio est comparable tar, mais il est conu pour sauvegarder des
listes de fichiers plutt que des arborescences

cpio est habituellement combin avec find


Exemple : find /chemin | cpio

cpio peut utiliser de nombreux formats d'archive, dont tar


cpio ne gre pas les formats compresss, mais il peut tre combin
avec zcat ou bzcat

Options :
cpio -o : cration d'archive
cpio -i : restauration
-F : spcification de l'archive
-H : format d'archive (tar par dfaut)

Il faut sauvegarder
Administration Unix 11/11/09 182
DD

dd est un outil de copie de bas niveau, il copie des blocs de donnes


Abrviation de Disc Dump

On utilise dd pour faire des copie bas niveau de systme de fichiers


dd if=/dev/hda of=fichier_de_sauvegarde
Cette commande extrait l'image brute du disque hda (bloc par bloc)
vers un fichier de sauvegarde

Il faut sauvegarder
Administration Unix 11/11/09 183
Exploitation d'un systme Unix

Gestion des Impressions

LPD et CUPS

Administration Unix 11/11/09 184


Principes Gnraux d'un Serveur d'Impression

Fichiers de
Configuration
Scheduler
d'Impression

API du Files d'Attente


Scheduler des Imprimantes

Commandes Filtres Filtres


d'Impression Textes Images

Accs Imprimantes

Faisons une bonne impression


Administration Unix 11/11/09 185
LPD

lpd est le systme d'impression *BSD


Il repose sur le dmon d'impression lpd, et le fichier de configuration
/etc/printcap

Le fichier /etc/printcap dfinit pour chaque imprimante comment


on y accde (port parallle, rseau...), les filtres appliquer pour les
travaux d'impression

Le dmon lpd est responsable du spooling et de l'envoi des travaux


l'imprimante

Les commandes accessibles aux utilisateurs :


lpr : envoie un travail d'impression au dmon
lpq : affiche la file d'attente des travaux d'impression
lprm : permet d'annuler un travail

Faisons une bonne impression


Administration Unix 11/11/09 186
CUPS

Cups hrite du systme d'impression de System V

cups dfinit des classes d'imprimantes

Ensuite, on peut attacher des imprimantes des classes, avec un


emplacement prcis (port parallle, rseau...)

Les fichiers de configuration sont dans /etc/cups


Le fichier printers.conf contient la dfinition des imprimantes
avec leur emplacement
Le fichier classes.conf contient la dfinition des classes avec
les imprimantes qui appartiennent ces classes

Commandes utilisateur :
lp : envoie un travail d'impression
lpstat : informations sur les files d'attente des imprimantes
cancel : annule un travail d'impression
Faisons une bonne impression
Administration Unix 11/11/09 187
Exploitation d'un systme Unix

Configuration du Rseau

Administration Unix 11/11/09 188


TCP/IP

Configuration des interfaces TCP/IP


ifconfig <interface> <adresse IP> netmask <masque rseau>
La passerelle par dfaut est configure par les commande de routage
Linux : route add default gw <adresse IP>

La station peut tre cliente DHCP


Une requte DHCP devra tre envoye par la station pour
rcuprer sa configuration rseau (commande dhclient) via un
serveur DHCP

Listing des services rseau


netstat
-a : liste les sockets non connects (en coute)
-t : TCP
-u : UDP
-p : donne le PID associ au socket
Il nous faut le Net
Administration Unix 11/11/09 189
DNS

La configuration DNS est importante pour le bon fonctionnement d'un


systme UNIX (peut tre fourni par le serveur DHCP)
Fichier /etc/host.conf
dfinit l'ordre de recherche des noms DNS
order hosts, bind
signifie que l'on regarde d'abord dans le fichier /etc/hosts puis
ensuite on interroge le serveur DNS

Fichier /etc/nsswitch.conf
Peut, galement, dfinir l'ordre de recherches des noms DNS
hosts:filesdns

Fichier /etc/resolv.conf
Spcifie l'adresse IP des serveurs DNS
nameserver <adresse IP>
Spcifie les domaines de recherche de noms DNS
search <domaine>
Il nous faut le Net
Administration Unix 11/11/09 190
Exploitation d'un systme Unix

Les Journaux d'Evnements Systme

Syslog, Logrotate et Accounting

Administration Unix 11/11/09 191


SYSLOG

syslog reoit l'ensemble des logs du systme et les rpartit dans


diffrents fichiers suivant sa configuration

Le dmon syslogd est lanc au dmarrage

Deux faons de recevoir les logs :


/dev/log : socket unix
Socket UDP port 514 : pour le rseau

Chaque message possde une facility et une priority :


facility indique le type de log (kernel, daemon, ...)
priority indique la gravit du message (debug, emerg, ...)

Le fichier /etc/syslog.conf dfinit la configuration de syslog


Par facility et/ou par priority
Possibilit de diriger les logs dans des fichiers ou de les
transmettre d'autres programmes
I'm watching you
Administration Unix 11/11/09 192
LOGROTATE

Logrotate contrle la taille des fichiers de log et les sauvegardes au


besoin
Lancement priodique par cron
Dans la crontab de root
40 4 * * * /usr/bin/run-parts /etc/cron.daily 1> /dev/null
Dans le fichier /etc/cron.daily/logrotate
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf

Configuration de logrotate : /etc/logrotate.conf

I'm watching you


Administration Unix 11/11/09 193
Accounting

Les systme de comptabilit (ou accounting) permettent de surveiller


l'utilisation des ressources par les utilisateurs des fins de
statistiques ou de facturation (parfois le temps CPU n'est pas donn)

La comptabilit classique stocke ses informations dans


/var/adm (pour les *BSD)
/var/log/*acct (pour Linux)

Les commandes permettant l'extraction des informations :


accton : activer ou dsactiver l'accounting
sa : informations sur l'utilisation CPU et mmoire
ac : temps de connexion des utilisateurs
lastcomm : dernires commandes lances
acctail : surveillance interactive de l'accounting

Linux : options CONFIG_BSD_PROCESS_ACCT et


CONFIG_BSD_PROCESS_ACCT_V3
I'm watching you
Administration Unix 11/11/09 194
BIBLIOGRAPHIE

Ouf, c'est enfin termin


Administration Unix 11/11/09 195
Bibliographie

Les deux Bibles :


Les bases de l'administration systme, 3me Edition
leen Frich O'Reilly 2841772225
Unix System Administration Handbook, 3rd Edition
Evi Nemeth, Scott Seebass, Garth Snynder
Prentice Hall PTR 0130206016

Le systme Linux :
Le systme Linux, 4me Edition
Matt Welsh, Matthias Kalle Dalheimer, Terry Dawson et Lar
Kaufman
O'Reilly 2-84177-241-1
Administration rseau sous Linux, 2me Edition
Olaf Kirch et Terry Dawson O'Reilly 2-84177-125-3
Linux Administration Handbook
Evi Nemeth, Garth Snyder, Adam Boggs
Prentice Hall 0130084662
J'aime lire
Administration Unix 11/11/09 196
Bibliographie

Les BSDs :
Absolute Openbsd: Unix for the Practical Paranoid
Michael W. Lucas - No Starch Press 1886411999
Freebsd Unleashed
Michael Urban, Brian Tiemann - Sams Publishing 0672322064

Les Basics :
Conception du systme Unix
Maurice J. Bach - Dunod 2225815968
Conception et implmentation du systme 4.4 BSD
Stephen L. Nelson Addison Wesley - 284180142X

Rfrences Internet :
www.ugu.com : Unix Guru Universe (infos pour l'administration)
www.sun.com/bigadmin/docs : Docs online sur l'administration Solaris
www.sysadminmag.com : Articles sur l'administration Unix
www.tldp.org : Linux Documentation Project
J'aime lire
Administration Unix 11/11/09 197

You might also like