You are on page 1of 46

Administration Systme Linux

Mohammed Lahmer mohamedlahmer@yahoo.fr

Plan de la formation
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Prsentation du Systme Linux Systme de fichier (organisation et administration) Technologie LVM Technologie RAID Processus dinit et darrt Gestion des processus Installation Gestion des utilisateurs et des groupes sauvegarde et restitution Gestion des paquetages Planification des tches Gestion des log

Architecture du noyau

Structure dun disque physique

Structure logique dun disque


A linstallation, un disque physiques peut tre dcoup en plusieurs partitions. Chacune de ces partition peut supporter ou non un systme de fichiers. Certains partitions sont utiliss comme extension de la mmoire principale (zone de swap).
Secteur 1 Secteur 2 Secteur n

Partition 0 Disque Partition 1 Partition n

Groupe 0

Cylindre 0

Groupe 1 Groupe n

Cylindre 1

Cylindre n

Systme de fichiers ext2 organisation


Un systme de fichiers est une faon d'organiser et de stocker une arborescence sur un support (disque, disquette, cd ...). Linux possde son systme appel ext2 mais peut en grer d'autres vfat, nfs Organisation dune partition ext2 simplifie:

boot bloc est rserv pour contenir le programme damorage utilis au dmarrage du systme. Le super bloc dcrit ltat du systme de fichiers, le nombre de fichiers quil peut stocker, les endroits (blocs libres) o trouver de lespace libre sur le systme de fichiers, la taille des blocs et dautres informations. Liste des i-nuds : contient la dfinition des fichiers. linod 2 reprsente le sommet de larborescence contenu dans le disque. Blocs de donnes: contiennent les donnes des fichiers et les blocs libres. Un bloc de donnes allou peut appartenir un et un seul fichier du systme de fichiers.

Systme de fichiers ext2 organisation


Un i-node est associ chaque fichier ; chaque i-nud contient les in formations suivantes :
Type de fichier : -,d, l, c, b,p. Droits d'accs : par exemple : rwxr-x--Nombre de liens (physiques) : correspond au nombre De rfrences c'est dire au nombre de noms. UID : effectif du processus crateur ou affect par chown. GID: effectif du processus crateur. Taille du fichier. atime :date de la dernire lecture. mtime :date de la dernire modification. ctime :date du dernier changement. 13 numros dadresses de blocs de donnes du fichier

Un rpertoire est un fichier dont les donnes sont une suite dlments qui comprennent chacun un numro di-noeud et le nom dun fichier contenu dans ce rpertoire

Les rpertoires

donnent au systme de fichiers sa structure arborescente et jouent un rle important dans la conversion dun nom de fichier en numro di-noeud. Un rpertoire est un fichier dont les donnes sont une suite dlments qui comprennent chacun un numro di-noeud et le nom dun fichier contenu dans ce rpertoire UNIX Systme V restreint les noms des composants 14 caractres ; le numro di-noeud tant contenu dans deux octets, la taille dun lment dun rpertoire est de 16 octets.

Exemple

Systme de fichiers : structure i-node


Structure commune des fichiers dans /usr/include/sys/stat.h struct stat { dev_t st_dev; identif disque logique ino_t st_ino; nfichier sur disque mode_t st_mode; type du fichier et droits accs nlink_t st_nlink; nb liens physiques uid_t st_uid; propritaire gid_t st_gid; groupe dev_t st_rde; identif disque logique (bloc/car) off_t st_size; taille en octets time_t st_atime; date dernier accs time_t st_mtime; date dernire modif time_t st_ctime; date dern modif i-nud int st_blocks; blocs allous pour le fichier }

Exemple sur i-nuds


#include <stdio.h> #include <sys/types.h> #include <sys/stat.h> main() { struct stat b; char nom[60]; scanf("%s",nom); printf("fichier etudie: %s\n", nom); if (stat(nom,&b)==-1) {printf("probleme de fichier\n"); exit(); } printf("user: %d\n",b.st_uid); printf("date de dernier acces: %ld\n", b.st_atime); printf("date de derniere modification: %ld\n", b.st_mtime); printf("date de dernier modification des caracteristiques: %ld\n", b.st_ctime);

Systme de fichiers ext2 organisation

Les fichiers conservent lensemble de leurs blocs suivant deux mthodes la liste chane (Fat MSDOS) la table dindex (Linux) La taille maximale thorique dun fichier dcrit par un i-noeud est de (10x1k) + (256x1k) + (256^2x1k) + (256^3x1k) > 16 Go Comme le champ taille du fichier dans un i-noeud est cod sur 32 bits,la taille maximale effective pour un fichier est de 4 Go (232).

Systme de fichiers : Liste chane


Le systme MS-DOS utilise des listes chanes. Il conserve le premier bloc de chacun des fichiers dans son rpertoire. Il optimise ensuite laccs des blocs suivants en gardant leurs rfrences dans une Table dAllocation de Fichiers (FAT). Chaque disque dispose dune FAT et cette dernire possde autant dentres quil y a de blocs sur le disque. Chaque entre de FAT contient le numro du bloc suivant.

XX -> la taille du disque, L -> un bloc libre et BE -> un bloc endommag. Le fichier commenant au bloc 6, sera constitu des blocs : 6 - 8 - 4 - 2.

Systme de fichiers ext3 = ext2 + journal


Lors doprations modifiant la structure du Systme de Fichiers Approche traditionnelle (ext2) = Travailler sans filet, en cas de panne brutale il faut vrifier e2fsck Approche Journalise = Procder en 2 temps :
Ecrire ce qui va tre fait (journal) Faire ce qui est dans le journal En cas de panne brutale : cohrence maintenue et vrification rapide

Ext3 devient le standard prconis par Redhat, Mandrake, etc La conversion de ext2 en ext3 est assure par la commande tune2fs j /dev/hda3 (hda3 contient une partition ext3) Les commandes dadministration du systme de fichier
mkfs :cration dun systme de fichier (vfat, nfs,.) mke2fs : cration du SF ext2 (formatage) e2fsck : vrification et correction tune2fs : rglage, configuration dumpe2fs : affiche des information sur le systme de fichier

Crer, monter et dmonter


Opration de montage consiste mettre en relation : un fichier de priphrique situ dans /dev avec un noeud d'insertion dans l'arborescence, appel son point de montage Syntaxe gnrale : mount -t <type > -o options /dev/rep-spcial /mnt/repmontage Si cette description est prsente dans le fichier /etc/fstab, la commande peut tre simplifie mount /dev/rep-spcial ou mount /mnt/rep-montage la liste des types des systmes de fichiers reconnus par Linux est donnes dans le fichier /proc/filesystems Exemples mount liste tous les systmes de fichiers actuellement monts mount -t vfat -o uid=5001,gid=5000,umask=022 /dev/hda1 /mnt/disk-c umount /mnt/floppy dmonte le systme de fichiers disquette

Systme de fichiers : fstab


Le fichier /etc/fstab contient la liste lensemble des partitions ou priphriques qui doivent ou peuvent tre monts Sur chaque ligne on trouve la description du montage d'un systme, avec 6 champs : /dev/hdb1 /mnt/disk_d vfat user, auto nom du fichier spcial (ou du systme distant) nom du point de montage, habituellement un sous-rep (ventuellement crer) de /mnt le type de fichiers : ext2 (Linux), msdos, vfat (Win9x), ntfs (NT), iso9660 (Cd-rom), nfs liste d'options de montage, spars par des virgules les options par dfaut sont rw,suid, exec, auto, nouser auto/noauto , pour demander/empcher un montage automatique au dmarrage user/nouser, pour autoriser/interdire un user qq (pas le "root") effectuer le montage paramtre pour dump (commande de sauvegarde) une valeur 0 signifie que le systme de fichiers ne sera pas sauvegard lors d'un dump paramtre pour indiquer l'ordre dans lequel fsck devra vrifier les fichiers, 1 en priorit (c'est normalement la partition racine /, 2 sinon, et 0 pour ne pas demander de vrification.

A Logical Volume Manager for Linux LVM

Objectifs

Problmatique
Partition statique :
Une fois formate, on ne peut pas modifier

Solutions tiers :
Partition magic Fips

Solution intgre LVM


Ajouter une couche logiciel( disques et partition virtuels) Online : Allocation et rallocation despace disque Online :extension et rduction despace disque

Concept 1

Concept 2
Un disque virtuel peut tre dispers sur plusieurs disques physiques, tout comme les partitions virtuelles. Un volume physique (PV) correspond un disque ou une partition. (PV=PE) 65535 blocs physiques (PE) maximum Un volume logique(LV) correspondant une partition il est compos dun ensemble de LE Mapping entre Les LEs du LV et les PEs du PV Un groupe de volume (VG) est constitu par un ensemble de LV. Cest lquivalent dun disque

10

Concept 3
Striping Concatnation

Les commandes (PV et VG)


Les commandes PVs
pvcreate - initializes VGDA pvdisplay - shows PV attributes pvscan - scans periphery for PVs

Les commandes VGs


vgcfgbackup vgcfgrestore vgchange vgcreate vgdisplay Vgextend vgreduce vgremove vgrename vgscan creates a backup restores changes attributes create a new VG shows VG attributes extends by new PV(s) reduces by empty PV(s) removes an empty VG renames an inactive VG scans periphery for VG

11

Les commandes LV lvchange lvcreate lvdisplay lvextend lvreduce lvremove lvrename lvscan changes attributes creates a new LV shows LV attributes extends LV in size (online!) reduces LV in size (online!) removes an inactive LV renames an inactive LV scans periphery for LVs

Cration dun vg
[root@lvm]# pvcreate /dev/hdb1
pvcreate -- physical volume "/dev/hdb1" successfully created

[root@lvm]# vgcreate vg2 /dev/hdb1


vgcreate - vgcreate -Gigabyte vgcreate - vgcreate -activated INFO: using default physical extent size 4 MB INFO: maximum logical volume size is 255.99 doing automatic backup of volume group "vg2" volume group "vg2" successfully created and

Utiliser loption s ou --physicalextentsize pour prciser la taille du PE, le minimum est de 1 kb Utiliser loption l ou --maxlogicalvolumes pour fixer le nombre max. de LV

12

Cration dun LVM


[root@lvm]# lvcreate -L 500M -n exemple vg2
lvcreate -- doing automatic backup of "vg2" lvcreate -- logical volume "/dev/vg2/exemple" successfully created

[root@lvm]# lvdisplay /dev/vg2/exemple


--- Logical volume --LV Name /dev/vg2/exemple VG Name vg2 LV Write Access read/write LV Status available LV # 1 # open 0 LV Size 200 MB Current LE 50 Allocated LE 50 Allocation next free

[root@lvm]# mke2fs /dev/vg2/exemple [root@lvm]# mount /dev/vg2/exemple /mnt/exemple -t ext2

Exemples 3
Crer un nouveau pv sur hdb2 [root@core lvm]# pvcreate /dev/hdb2 Etendre vg2 pour contenir hdb2 [root@lvm]# vgextend vg2 /dev/hdb2 dplacer tous les blocs physiques de la partition /dev/hdb2 vers les autres volumes phyisques du groupe de volumes [root@lvm]# pvmove /dev/hdb1 Dtacher /dev/hdb1 de vg2 [root@lvm]# vgreduce vg2 /dev/hdb1 Etendre un volume logique
[root@lvm]# lvextend -L +100M /dev/vg2/exemple

13

Snapshots
Permettent d'effectuer une sauvegarde dun volume logique du mme groupe de volumes Image statique d'un volume logique un instant prcis Toute modification du lv source sera enregistre dans le snapshot
Mais sans les donnes

Syntaxe de cration du snapshot


lvcreate -L 100M -s -n backup /dev/vg2/lv

La taille du snapshot est importante

Mtrique logiciel 300 heures pour la conception et le developpement 24500 LOC (lines of code) incluant les sources, headers, commentaires, les pages de manuel , scripts, makefiles, README, ... peut prs 21000 LOC sources et headers module/driver source+headers 2600 LOC 150 library functions dans 83 modules 28 utilitaires

14

Redundant Array of Inexpansive Disk RAID

Redundant Array of Inexpansive (indepandant) Disk

vitesse fiabilit cot volume 126 937 670


Fonction de cots

RAID
level
RAID permet de grer un ensemble de disque (array) en une seule entit visible par le systme (un disque logique) Il existe 6 niveaux officiels de RAID.

15

RAID Level 0

Les informations crire sont rparties sur lensemble des disques.

Mode stripping cration d une grappe de disques vue comme un seul Ecriture en parallle sur les disques : augmente la bande passante Points forts : vitesse maximale volume maximal Point faible pas de redondance : en cas de panne d un disque, toutes les donnes de la grappe sont perdues.

RAID Level 1
Mode Mirroir l information est duplique sur un deuxime disque redondant. Points forts : la plus rapide avec tolrance de panne et plus petite rduction de performance lors de dfaillance de disque seuls deux disques suffisent taux de duplication maximum Hot-Swap & Hot-Spare possible Point faible espace disque divis par deux. accs en criture non acclrs

Les informations crire sont dupliques sur un disque mirroir.

16

RAID Level 3 et 4
Lecture haute performance stripping pour rpartir les donnes sur plusieurs disques utilise un disque de parit RAID3 (Bloc fixe). RAID4 (Bloc variable) Points forts : Hot-Swap & Hot-Spare possibles Points faibles le disque de parit devient rapidement un goulot d tranglement.

Les informations crire sont rparties sur les disques. Un disque est rserv aux calculs de parits.

parit

RAID Level 5

parit parit

Les informations crire sont rparties sur les disques. Les calculs de parits sont galement rpartis sur lensemble des disques.

Le plus populaire ressemble RAID4, mais rpartit le contrle de parit sur tous les disques Points forts : performant pour la lecture de larges fichiers et correct pour la lecture de petits fichiers en mode criture Points faibles reconstruction pnalisante. rapport criture/lecture doit tre faible

17

Autres niveaux de RAID


Il existe d autres niveaux RAID, mais non officiels RAID6 idem RAID5 avec tolrance de deux disques en panne en simultan. L criture est complexe RAID7 Transferts asynchrones optimiss pour des dbits de donnes importants niveaux combines Il est possible de combiner plusieurs niveaux de RAID. Exemples : RAID 5+1 RAID 1+0 RAID 3+0

Quelle solution choisir ?

Type d application RAID5 RAID3

Quel niveau de redondance ? nul ? On choisi RAID0 faible ? RAID3/5 haut ? RAID1+0 Hot-Swap & Hot-Spare ? RAID1/3/5 budget ?

Transactionnel Base de Donnes

Scientifique Image, flux

18

RAID logiciel Support des niveaux RAID 0,1,4,5 ainsi que le mode linaire et Multipath Utilisation automatique dun disque de spare (1,4 et 5). En cas de panne un disque en attente peut tre immdiatement intgr En cas de perte dun disque, les messages derreurs sont automatiquement remonts syslog Possibilit dajouter et de supprimer un disque chaud Le RAID dcoupe Les donnes en segments virtuels contigu : chunck size (64 Ko par dfaut) Un stripe correspond aux segments de donnes prsents sur le mme niveau des disques RAID Dans le cas du RAID 5, plusieurs algorithmes sont envisageable :
leftsymmetric, left-asymmetric, right-symmetric, right-assymetric

RAID logiciel
Utilitaire MDADM (Multiple Devices Admin) permet limplmentation du RAID

19

NFS (Network File System) Le protocole NFS (Network file system) ft mis en place par Sun Microsystems en 1984
NFS v1, , NFS v4 (2000)

Il permet de monter et de dmonter des volumes en rseaux NFS utilise la mthode de connexion RPC (Remote procedure call) en TCP/IP Deux serveur disponibles rpcbind et portmap qui coute sur le port 111 Le fichier de configuration du NFS est /etc/exports dont la syntaxe est : rpertoire_Partage host1(options) hostN(options) Exemple : /cours *(ro)

NFS (Procdures)

Proc 0: NULL - Do nothing Proc 1: GETATTR - Get file attributes Proc 2: SETATTR - Set file attributes Proc 3: LOOKUP - Lookup filename Proc 4: ACCESS - Check Access Permission Proc 5: READLINK - Read from symbolic link Proc 6: READ - Read From file Proc 7: WRITE - Write to file Proc 8: CREATE - Create a file Proc 9: MKDIR - Create a directory Proc 10: SYMLINK - Create a symbolic link

Proc 11: MKNOD - Create a special device Proc 12: REMOVE - Remove a File Proc 13: RMDIR - Remove a Directory Proc 14: RENAME - Rename a File or Directory Proc 15: LINK - Create Link to an object Proc 16: READDIR - Read From Directory Proc 17: READDIRPLUS - Extended read from directory Proc 18: FSSTAT - Get dynamic file system information Proc 19: FSINFO - Get static file system Information Proc 20: PATHCONF - Retrieve POSIX information Proc 21: COMMIT - Commit cached data on a server to stable storage

20

Options

Option rw ro async sync anonuid anongid all_squash no_all_squash root_squash

Effet le client a les droits d'criture le client a seulement les droits de lecture active le mode asyncrone active le mode syncrone (par dfaut) spcifie l'UID des utilisateurs anonymes specifie le GID des utilisateurs anonymes tous les utilisateurs (sauf root) rcuprent l'UID anonyme Les utilisateurs gardent leur UID (par dfaut) l'utilisateur root rcupre l'UID anonyme (par dfaut)

no_root_squash l'utilisateur root garde son UID

La commande exportfs exportfs permet de dsactiver, activer, modifier et ajouter des partages.

option effet -a -u -ua -o exporte tous les partages contenus dans /etc/exports dsactive un partage dsactive tous les partages contenus dans /etc/exports permet de spcifier des options

Exemple exportfs -o option1,option2 host:/rpertoire

21

Client NFS

Pour utiliser un rpertoire distant, le client utilise la commande mount


mount -t nfs -o options serveur:/partage /point_de_montage Option Effet
rw ro suid monte le partage en read/write (par dfaut) monte le partage en read only (lecture seule) autorise l'utilisation de programmes suid (par dfaut)

nosuid interdit l'xcution de programmes suid hard soft En cas d'chec, recommence l'opration jusqu' sa russite (par dfaut) abandonne l'opration en cas d'chec

FUSE : Filesystem in Userspace

22

Arborescence Normalise FHS la racine


La structure dun systme de fichier Linux est dfinie par la Norme FHS (Filesystem Hierarchy Standard) http://www.pathname.com/fhs
Description
contient des entres de systme de fichiers reprsentant des priphriques connects au systme fichiers de configuration locaux sur votre ordinateur les bibliothques ncessaires l'excution de fichiers binaires dans /bin et /sbin se rfre aux systmes de fichiers monts de faon temporaire, tels que les CD-ROM et les disquettes. endroit pour stocker des paquetages de logiciels d'applications de grande taille (Oracle). un systme de fichiers virtuels permettant laccs aux variables du noyau les fichiers excutables qui ne sont utiliss que par les utilisateurs racine. Fichiers (commandes, man,librairies) pouvant tre partageable les fichiers de donnes variables (spool,logs )

Rpertoire
/dev /etc /lib /mnt /opt /proc /sbin /usr /var

Systme de fichier /dev


Rpertoire
/home /boot /root /tmp

Description
la base des rpertoires utilisateurs le noyau et les fichiers de dmarrage (utilis par lilo) Rpertoire personnel du super utilisateur Les fichiers temporaires

Rpertoire /dev
/dev/hd* /dev/sd* /dev/fd* /dev/tty* /dev/lp* /dev/ttys* /dev/mem /dev/st* /dev/null

Description
Partitions et disques IDE : Partitions et disques IDE : hd hd + lettre + chiffre Idem pour disques scsi /dev/scd* pour cdrom scsi Lecteurs de disquettes : fd + chiffre + lettre + nombre (fd0H1440) Terminaux virtuels de 0 63 Liaison // ports imprimantes lp0, lp1, lp2 Ports sries Mmoire physique /dev/kmem mmoire du noyau Lecteur de bande magntique Vide (corbeille)

23

Systme de fichier usr et var


Rpertoire
./X11R6 ./bin ./sbin ./share ./src ./local ./etc

usr

Description
la hirarchie des fichiers Xwindow (version 11 rvision 6) Les commandes utilisateurs les commandes dadministration non ncessaires au dmarrage Donnes indpendante dune architecture de machine (doc,man,..) Code source du systme et des applications (noyau /usr/src/linux) La hirarchie propre linstallation normalement vide juste aprs installation la configuration des commandes utilisateurs

Rpertoire
./spool ./log ./run ./www ./mail

var

Description
Files dattentes & tampons (impression, mail, Fichiers de traces Donnes concernant les processus en cours dexcution( pid) Serveur web par dfaut appache Fichiers mail utilisateurs

Systme de fichier etc


Rpertoire ./X11 ./rc.d ./crn ./skel ./sysconfig ./xinited.d ./init.d Description Les fichiers de configuration de Xwindow (version 11 rvision 6) Les scripts de dmarrage les tches effectuer la periodicit les fichiers recopier dans le rpertoire dun nouvel utilisateur les fichiers de configuration des priphriques y compris la carte rseau Configuration des services Internet Les services actifs

24

Processus de dmarrage init et arrt


Ci-dessous les tapes de base du processus de dmarrage d'un systme x86 1. Le BIOS du systme vrifie le systme et lance le chargeur de dmarrage LILO ou GRUB sur le bloc de dmarrage matre (MBR) du disque dur principal. 2. Le chargeur de dmarrage de l'tape 1, se charge en mmoire et lance et charge le noyau en mmoire , qui son tour, charge tout module ncessaire et monte la partition root en lecture seulement. 3. Le noyau passe le contrle du processus de dmarrage au programme /sbin/init. 4. Le programme /sbin/init charge tous les services et les outils de l'espace utilisateur(excute les scripts rc (run control), et monte toutes les partitions rpertories dans /etc/fstab. 5. L'utilisateur voit alors un invite de connexion pour le systme Linux venant d'tre dmarr.

Les chargeurs de dmarrage Lilo et GRUB


Historiquement, deux chargeurs disponibles: GRUB ou LILO. de dmarrage sont

GRUB(GRand Unified Bootloader) est le chargeur de dmarrage par dfaut GRUB est le chargeur de dmarrage le plus rcent qui a l'avantage de pouvoir lire les partitions ext2 et ext3 et de charger son fichier de configuration /boot/grub/grub.conf au moment du dmarrage Avec LILO, le chargeur de dmarrage utilise des informations sur le MBR pour dterminer les options de dmarrage dont dispose l'utilisateur Vous devez excuter la commande /sbin/lilo -v pour crire les informations appropries sur le MBR

25

Les chargeurs de dmarrage Lilo et GRUB


Une fois que le chargeur de dmarrage a dtermin le noyau dmarrer, il localise le binaire de noyau correspondant dans le rpertoire /boot/ Le binaire du noyau est baptis d'aprs le format fichier /boot/vmlinuz-<version-noyau> (o <version-noyau> correspond la version du noyau spcifie dans les paramtres du chargeur de dmarrage). Pour obtenir la version du noyau utiliser la commande uname -r

Les chargeurs de dmarrage LiLo


Le fichier de configuration de LILO est /etc/lilo.conf. Les commandes /sbin/lilo utilisent ce fichier afin de dterminer ce qui devra tre crit sur le MBR Exemple du fichier /etc/lilo.conf
#indique LILO de s'installer sur le premier disque dur du premier # contrleur IDE. boot=/dev/hda #indique LILO d'installer le fichier spcifi comme nouveau secteur # de dmarrage install=/boot/boot.b #indique LILO de vous montrer ce qui est rfrenc la ligne message prompt #tablit la dure pendant laquelle LILO attendra une saisie de #l'utilisateur avant de passer au dmarrage de l'entre spcifie la #ligne default timeout=50

26

Les chargeurs de dmarrage LiLo


message=/boot/message lba32 #dcrit la gomtrie du disque dur LILO #Le nom linux renvoie la ligne label en dessous dans #chacune des options dedmarrage. default=linux image=/boot/vmlinuz-2.4.0-0.43.6 label=linux initrd=/boot/initrd-2.4.0-0.43.6.img #contient les pilotes de priphriques read-only root=/dev/hda5 #indique LILO quelle partition de disque utiliser comme # partition root other=/dev/hda1 label=dos

Les chargeurs de dmarrage Grub


Diffrences avec LILO interface de commande interactive Inutile de valider les modifications comme avec lilo Identifiant des disques et partitions Identifiant des disques et partitions disque : hd hdn avec avec n = 0, 1, 2 numrotation unique pour IDE et SCSI partition : (hdn ,x) avec x = 0, 1, 2, partitions primaires : 0 3

27

Les chargeurs de dmarrage Grub


Le fichier de configuration (/boot/grub/grub.conf) default=0 timeout=10 # section to load linux title Red Hat Linux (2.4.18-5.47) root (hd0,0) kernel /vmlinuz-2.4.18-5.47 ro root=/dev/sda2 initrd /initrd-2.4.18-5.47.img # section to load Windows 2000 title windows Root noverify (hd0,0) chainloader +1

Le processus init
Le programme /sbin/init (aussi appel init) coordonne le reste du processus de dmarrage et configure l'environnement de l'utilisateur La commande init excute le script /etc/rc.d/rc.sysinit initialise le path, dmarre swap, vrifie les systmes de fichiers, dtection du matriel et chargement des pilotes des priphriques La commande init excute ensuite le script /etc/inittab, qui dcrit comment le systme doit tre configur dans chaque niveau d'excution SysV init 6 niveaux sont dcrits au dbut du fichier /etc/inittab 0 : provoque un arrt (shutdown) de la machine 1 : pour rentrer en mode mono-utilisateur, rserv root 2 : mode multi-utilisateurs, sans NFS 3 : mode multi-utilisateurs avec tous les services rseaux 4 : non utilis 5 : dmarrage du serveur graphique X11 en plus 6 : redmarrage de la machine (la commande reboot lance le niveau 6).

28

Le processus init
On peut toujours spcifier un niveau de dmarrage par dfaut En dmarrant au niveau d'excution 5, le programme init examine le rpertoire /etc/rc.d/rc5.d/ afin de dterminer les processus arrter et dmarrer Les scripts contenu dans un rpertoire rcn.d sont de la forme : SXXyyyyy : correspond aux processus dmarrer dans ce niveau KXXyyyyy : correspond des processus arrts ce niveau Une des dernires choses que le programme init excute est le fichier /etc/rc.d/rc.local Ce dernier est utilis pour les scripts personnaliss

Le fichier /etc/inittab
Ce fichier contient des lignes respectant le format suivant : code:niveau:action:commande Le champ code contient une squence de un quatre caractres (deux pour compatibilit) unique pour identifier la ligne dans le fichier. Le champ niveau (0-6) donne le niveau dexcution pour lequel cette ligne doit tre prise en compte. respawn relance la commande lorsquelle se termine wait attend la fin de la commande avant de continuer once la commande est excute une fois boot la commande est excute au dmarrage du systme (le champ niveau est ignor) bootwait comme ci-dessus avec attente off ne rien faire initdefault permet de spcifier le niveau dexcution par dfaut sysinit la commande est excute au dmarrage avant celles des directives boot et bootwait Ctrlaltdel la commande est excute lorsque lutilisateur tape les trois caractres <CTRL>-<ALT>-<SUPPR> sur le clavier powerfail la commande est excute lorsque le processus init reoit le signal SIGPWR (dfaut dalimentation)

29

Arrt du systme
Mode single Le mode Single User est un mode particulier de fonctionnement du systme correspondant au niveau dexcution 1 (runlevel 1) dans lequel seuls les services minimum sont lancs Dans ce runlevel, un shell root est lanc automatiquement au dmarrage, et il nest possible de travailler que depuis la console Pour dmarrer en mode Single User Lilo : linux single Si vous utilisez GRUB comme chargeur de dmarrage, suivez les tapes suivantes: l'cran de chargeur de dmarrage graphique GRUB, slectionnez le label de dmarrage Red Hat Linux et appuyez sur [e] pour l'diter. l'aide de la flche bas, aller jusqu' la ligne de noyau et appuyez sur [e] pour l'diter. l'invite, tapez le numro du niveau d'excution souhait (de 1 5) ou les mots single ou emergency et appuyez sur [Entre]. Appuyez sur la touche [b] pour dmarrer le systme. Arrt du systme les deux options les plus courantes sont les suivantes: /sbin/shutdown-h now shutdown -r [<nb mn> | now] ou reboot ou ctrl-alt-del

Gestion des paquetages RPM


Les packages logiciels sur les distributions Redhat et drives sont au format RPM (Redhat Package Manager). La gestion de ces packages logiciels seffectue en ligne de commande en utilisant la commande RPM, mais dautres outils, dont certains graphiques, sont disponibles (yum, smart,yumex, kyum,) rpm est Un moyen simple dinstaller ou de mettre jour des paquetages avec une grande scurit (md5, GPG, SHA) Gestion des dpendances entre paquetages vrifie si dautres paquetages ne sont pas requis par celui que lon installe Facilite la maintenance: Mises jour (relativement) simples Vrifie quune suppression ne va pas dysfonctionnement dun autre paquetage. Permet de retrouver des fichiers facilement.

entraner

un

30

Gestion des paquetages commandes


Format dun paquetage RPM : tootuxbase-2.3-3tux.i686.rpm Le nom du programme (tootuxbase) La version (2.3) version du RPM (3tux) Larchitecture normalise (i686) Lextension (rpm). Installation dun nouveau paquetage : rpm -i toto-1.9 1.9-3tux.alpha.rpm (-hiv permet davoir plus dinfos) Installation multiple (en cas de dpendances circulaires) rpm -hiv gnome-*. *.rpm Mise jour rpm -hUv toto-2.0 2.0-1tux.alpha.rpm Pour forcer une installation (fortement dconseille) Utiliser les options --nodeps et --force

Gestion des paquetages RPM commandes


Retirer des paquetages rpm -e tootuxbase-3.2 3.2-2tux Recherche des paquetages djas installs rpm qi tootuxbase (affiche les informations sur tootuxbase.) rpm qa (liste tous les paquetages installs) Information additionnelle -l : liste les fichiers fournis -provides: liste des dpendances quil fournit -requires : liste des fichiers dont il a besoin pour sinstaller rpm -q --whatprovides toto :Liste les paquetages fournissant toto rpm -q --whatrequires toto :Liste les paquetages ayant besoin de toto pour sinstaller Vrification de lauthenticit dun paquetage rpm -K toto.rpm (-Kv indique le nom de la personne ayant signe le rpm)

31

Gestion des paquetages yum de Fedora


yum est une surcouche rpm facilitant normment de tches : Tlchargement de paquets depuis des dpts logiciels
un fichier nomdepot.repo avec le contenu adquat pour chaque dpt dans le dossier /etc/yum.repos.d Dpt livna : indispensable pour les pilotes matriels et le multimdia rpm -ivh http://rpm.livna.org/livna-release-8.rpm Dpt jpackage : pour les applications Java Dpt adobe : pour Macromedia Flash Player Dpt remi : dpt spcialis Lamp (Linux Apache Mysql PHP)

Recherche et installe les dpendances automatiquement

Architecture de yum

32

MetaData yum
repomd.xml
c'est le fichier qui dcrit les autres fichiers de mtadonnes. Il contient l'horodatage et le check-sum des autres fichiers.

primary.xml.gz
stocke des informations sur les mtadonnes
name, date, version, release, architecture file size, file location, description, summary, format, checksums header dpendances, provides, conflits, obsoltes, suggestions, recommendations

filelists.xml.gz
Il stocke le fichier complet et les listes de rpertoires pour les paquetages. Le paquetage est identifi par: nom, date, version, la distribution, l'architecture et le paquet de contrle id.

Commandes yum
Principales commandes yum update yum list <nom du paquet> yum list <pseudo nom[* ?]> yum install <nom du paquet> yum remove <nom du paquet> yum --exclude=<nom du paquet> update yum --disablerepo=<nom du dpt> update Le cas du noyau (kernel) est gr de faon particulire. yum nefface jamais une version du noyau sans que vous le demandiez explicitement. Lors dune nouvelle version du noyau, il installera celle-ci et modifiera automatiquement votre fichier /boot/grub/grub.conf Mise niveau dune version antrieure yum clean all rpm Uhv ftp://download.fedora.redhat.com/pub/fedora/linux/releases/<Releas eNumber>/Fedora/<Arch>/os/Packagfedora-release-*.noarch.rpm yum upgrade

33

Gestion des utilisateurs et groupes sous Linux


Le contrle des utilisateurs et groupes est au coeur de l'administration de systme Linux. Les utilisateurs peuvent tre aussi bien des personnes, que des comptes existant pour une utilisation par des applications spcifiques Les groupes sont des expressions logiques d'une socit, regroupant des utilisateurs pour un but commun. Les utilisateurs appartenant un groupe donn peuvent lire, crire ou excuter des fichiers appartenant ce groupe. Chaque utilisateur et chaque groupe se voit attribuer un numro identificateur numrique unique appel respectivement un userid (UID) et un groupid (GID). La bonne gestion des utilisateurs et groupes d'une part, et celle des permissions de fichiers d'autre part, font partie des tches les plus importantes qu'un administrateur de systme doive effectuer

Quelque utilisateurs et groupes standards


Utilisateurs: /etc/passwd
Utilisateur root bin dmon adm lp sync arrt halt UID 0 1 2 3 4 5 6 7 GID 0 1 2 4 7 0 0 0 Rpertoirepersonnel /root /bin /sbin /var/adm /var/spool/lpd /sbin /sbin /sbin Shell /bin/bash /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /bin/sync /sbin/shutdown /sbin/halt

Groupes : /etc/group
Groupe root bin dmon sys GID 0 1 2 3 Membres root root, bin, dmon root, bin, dmon root, bin, adm

34

Cration dun compte utilisateur


Les principales commandes useradd, usermod, userdel groupadd, groupmod, groupdel pwck, grpck Passwd,chage chfn, id, groups, finger

gestion des comptes utilisateur gestion des groupes vrification des fichiers changer le mot de passe d'un utilisateur utilitaires divers

Pour crer l'utilisateur stagex : useradd [option] stagex Pour lui attribuer le mot de passe : passwd stagex Modifier le compte de l'utilisateur stagex : usermod [options] stagex usermod -G stagiaire,prof stagex ajoute stagex dans les 2 groupes stagiaire et profs Supprimer le compte d'un utilisateur (non connect), userdel [-r] totox L'option -r supprime aussi le rp. personnel et les fichiers de l'utilisateur

Complment sur useradd


Pour examiner les valeurs par dfaut appliques par useradd : commande useradd -D ou diter /etc/default/useradd

-u UID -g groupe primaire -m -s shell -c commentaire -d rp personnel -e date expiration -k rep skel par dfaut dans le rpertoire /home fixe la date d'expiration du compte (format MM/JJ/AA) recopie le contenu de rep-skel dans le rp. personnel, par dfaut /etc/skel Cration du groupe (Nom ou GID) Cration Rpertoire personnel par dfaut, attribution du shell par dfaut bash

35

Le systme shadow passwd


Amlioration de la scurit du systme en dplaant les hachages de mots de passe crypts d'un fichier /etc/passwd lisible par quiconque un fichier /etc/shadow, seulement lisible par le super-utilisateur Possibilit d'utiliser le fichier /etc/login.defs pour mettre en oeuvre les politiques de scurit. Stockage d'informations sur l'expiration de mots de passe Format dune entre du fichier /etc/shadow login:passwd:lastchg:min:max:avis:inactif:expire:drapeau lastchg : date dernier changement min, max: nb jours minimum et maximum entre 2 changements avis : nb jours en dessous duquel il faut avertir lutilisateur quil doit changer de mdp inactif : nb de jours dinactivit autoriss Expire : date dexpiration du mot de pass

La commande chage
Options
-m jours -M jours -d jours -I jours -E date -W jours

Signification
Prcise la priode, en jours, pendant laquelle l'utilisateur doit changer son mot de passe . Prcise la dure maximale, en jours, pendant laquelle le mot de passe est valide. Prcise le nombre de jours couls entre le 1er janvier 1970 et le jour o le mot de passe a t chang. Spcifie le nombre de jours inactifs aprs l'expiration du mot de passe, avant que le compte ne soit verrouill. Spcifie la date laquelle le compte sera verrouill, selon le format AAAA-MM-JJ Spcifie le nombre de jours devant s'couler avant la date d'expiration du mot de passe

36

Les ACLs

Consultation des droits ACL


getfacl fichier

Mise jours et suppression des droits


Ajouter des droits un utilisateur
setfacl -m u:lahmer:r fichier

Suppression des droits de tous les utilisateurs et les groupes


setfacl -m m::rx file setfacl -x g:groupe fichier getfacl file1 | setfacl --set-file=- file2

Supprimer les droits ACls pour un groupe donne


Copier les ACLs dun fichier vers un autre

Gestion des quotas


Il s'agit de limiter l'espace disque et/ou le nombre de fichiers allous aux utilisateur ou aux groupes, sur un systme de fichiers dsign, donc sur une partition. Le but recherch est le plus souvent de contraindre une meilleure gestion des rp.personnels. Quand un utilisateur dpasse la taille maximale fixe, il est averti et dispose d'un dlai pour faire le mnage les limites : "soft" : il s'agit d'une tolrance, cette limite peut tre franchie (pendant 7 jours par dfaut) "hard" : franchie par un utilisateur ou un groupe, celui-ci ne peut plus crire sur le disque, tant qu'elle est dpasse

37

Gestion des quotas


Mise en oeuvre Vrifier d'abord que le paquetage est bien install : rpm -q quota Activer la prise en charge des quotas pour un systme de fichiers, en ajoutant sur la ligne adquate de /etc/fstab, le mot-cl usrquota (ou grpquota pour les groupes)dans la liste des options /dev/hda6 /home ext2 defaults,usrquota 1 2 Initialiser les tables de quotas # quotacheck /dev/hda6 On peut vrifier que le fichier aquota.user a t cr dans /home. Il renferme la table des quotas Et permet gnrer un rapport de surveillance par repquota -a

Gestion des quotas


Attribuer des limites aux utilisateurs " surveiller" par la commande edquota fait passer en mode dition dans vi # edquota -u toto Quotas for user toto: /dev/hda6 : blocks in use: 148, limits (soft = 0 , hard = 0) inodes in use: 37, limits (soft = 0 , hard = 0) Commande signification quotaon/quotaoff partition|-a active/dsactive les quotas sur la|toutes partition(s) repquota -a affiche un rapport complet par utilisateur et par groupe quota -v toto tat des quotas pour l'utilisateur quotacheck <partition> Met jour les tables de quotas. Lanc chaque dmarrage du systme edquota -u toto Edition sous vi des limites edquota -p toto liste Impose les quotas de toto aux membres de la liste edquota t Edition sous vi de la dure de la "grace"

38

Protger le compte root


Dsactiver le compte super-utilisateur
changer le bin du root dans /etc/passwd par /sbin/nologin

Dsactiver les connexions root la console en ditant le fichier /etc/securetty


echo > /etc/securetty

Restriction daccs en su
usermod -G wheel <username> /etc/pam.d/su et supprimez le commentaire [#] prsent dans la ligne suivante : auth required /lib/security/$ISA/pam_wheel.so use_uid

La commandes sudo
Ajouter lutilisateur autoris /etc/sudoers utilisateur ALL=(ALL) ALL

Sauvegarde et Restauration
Possibilit aprs une modification/destruction dun ou plusieurs fichiers de restaurer une version prcdente (rcente ou non) de ces fichiers. Ladministrateur du systme doit mettre en place une stratgie de sauvegarde automatique Linux propose en standard plusieurs commandes de gestion de sauvegarde dump et restore cpio tar dd

Il existe dautre outils opensource tels que


Amanda (Architecture Client/Serveur)

39

Sauvegarde et Restauration
dump La commande dump fonctionne avec une gestion de niveaux de sauvegarde. Le niveau 0 effectue une sauvegarde totale alors que les niveaux 1 9 ne sauvegardent que les fichiers modifis depuis la dernire sauvegarde dun niveau infrieur. dump [options ] fichier :
dump -0f /dev/st0 / dump -0ua -f /tmp/backup.home.dump /home

Options de dump 0 9 niveaux de sauvegarde a fichier nom du fichier darchive f fichier nom du fichier destination

Niveaux de Sauvegarde dump


Sauvegarde incrmentale de 0 9 . Par exemple, si le niveau-5 de sauvegarde est invoque aprs niveau-4, les fichiers mis jour aprs le niveau-4 seront enregistres ce niveau-5 archive de sauvegarde. Sauvegarde simple : 0( full)->1->2->3->4.->9 Squence du Tours de Hanois 0 -> 3 -> 2 -> 5 -> 4 -> 7 -> 6 -> 9 -> 8 -> 1(a) -> 3 -> 2 -> 5 -> 4 -> 7 -> 6 -> 9 -> 8 -> 1(b) -> 3 -> 2 -> 5 -> 4 -> 7 -> 6 -> 9 -> 8 -> Return to 0

Il est dsormais possible deffectuer un dump en rseau


rdump 0uf server:/dev/nst0 /home

40

Sauvegarde dump et restore


La commande restore permet dextraire des fichiers dune sauvegarde ralise par dump. restore options [fichiers] restore -rf /tmp/backup.var.dump rrestore tf server:/dev/nst0 Options de restore i mode interactif r extrait la totalit de la sauvegarde t liste la totalit du fichier de sauvegarde x extrait des fichiers spcifiques f fichier nom du fichier contenant la sauvegarde

Sauvegarde cpio
cpio : Permet de crer des archives vers un lecteur de bandes, une disquette ou un autre rpertoire du systme local La commande cpio permet de copier des fichiers dans un fichier archive. Elle fonctionne selon trois modes : [-o] en sortie, elle copie, sur la sortie standard, les fichiers dont les noms sont donns sur lentre standard ( la commande find) ls *.wav | cpio ov > archive [-i] en entre, elle lit un fichier archive sur lentre standard et restitue les fichiers en fonction des options donnes cpio i < archive [-p] en copie, elle copie les fichiers dun rpertoire vers un autre sans passer par un fichier archive find . type d user toto print|cpio pdv totoarchive Loption d cre le rpertoire archive sil nexiste pas

41

Sauvegarde tar
La commande tar (=Type ARchive) est une ancienne commande Unix qui permet aisment d'archiver (identique cpio) Certaines applications et des mises jour ne sont livres que sous forme soit binaire, soit de source compiler, dans ce format Les 3 premires -c -x -t spcifient les 3 types d'actions de la commande -x extraire le contenu d'une archive -c crer une nouvelle archive -t afficher seulement la liste du contenu de l'archive, sans l'extraire -f fichier indiquer le nom du fichier archive -v mode bavard -z compresser ou dcompresser en faisant appel l'utilitaire gzip -y compresser ou dcompresser avec l'utilitaire bgzip2
tar -cvzf sauve.toto.tar.gz /home/toto

Sauvegarde tar
Exemple de sauvegarde du rpertoire /usr/src dans une bande magntique tar --create -file /dev/st0 /usr/src Si la sauvegarde ne tient pas sur un seul support on peut utiliser loption M tar -cMf /dev/fd0H1440 /usr/src A la fin de la sauvegarde il faut vrifier que cest OK utiliser loption compare(-d) tar --compare -verbose -f /dev/ftape Pour faire des sauvegardes incrmentes sur le mme priphrique utiliser loption newer (-N) tar -create -newer 26 jan 2004 -file /dev/ftape /usr/src verbose Lextraction peut se faire avec loption extract (-x) tar -xvf /dev/fd0 On peut extraire quune partie de larchive tar xpvf /dev/fd0 usr/src/linux-1.2.10-includes/include/linux/hdreg.h

42

Planification des tches crontab et at


crontab est un utilitaire bien utile et plutt simple mettre en oeuvre. Il permet de programmer des actions rgulires sur votre machine (des sauvegardes journalires). at permet quant lui de lancer des actions une heure donne, un jour donn, mais sans rptition. crontab e permet dditer le fichier ou vous allez planifier vos action crontab l pour visualiser toutes les crontabs cres Lorsque vous crez une crontab, elle est cre pour l'utilisateur que vous tes. Si vous souhaitez voir, crer, modifier ou dtruire une crontab d'un autre utilisateur indiquer crontab -u toto -l (-l pour voir, -e pour crer ou modifier, -r pour dtruire). Possibilit d'autoriser ou d'interdire l'utilisation de cron aux utilisateurs aux utilisateurs Fichiers /etc/cron.allow, /etc/cron.deny Problme: certaines machines ne fonctionne pas en permanence. Utiliser Anacron fichier /etc/anacrontab

Planification des tches crontab et at


La syntaxe des entres de la crontab est la suivante :

<minute> <heure> <jour du mois> <mois> <jour de la semaine> <commande> (avec un espace entre chacun) minute : de 0 59 heure : de 0 23 jour du mois de : 1 31 mois de : 1 12 jour de la semaine : de 0 6, 0 tant le dimanche et ainsi de suite. commande : peut comporter plusieurs commandes. Exemples : 0 1 1 * * * commande veut dire que vous n'excutez que le premier jour du mois
1 heure.

0 1 * * * mon commande veut dire une fois par semaine le lundi 1 heure. 0 1 1,15 * * * commande veut dire tous les 1 et 15 du mois 1 heure. 0 1 1-15 * * * commande veut dire tous les 15 premiers jours du mois 1 heure. 0 1 */5 * * * commande veut dire tous les 5 jours 1 heure. */3 * * * * *commande veut dire toutes les trois minutes

43

Planification des tches crontab et at


la commande suivante efface tous les jours, les fichiers prsents dans le rpertoire /var/log depuis plus de 7 jours. 0 1 * * * find /var/log -atime 7 -exec rm -f {} \; at 12:30 11/30/00 dclenchera la commande le 30 novembre 2000 (le jour tant indiqu sous la forme mm/jj/aa. at now + 1 hour dclenchera la commande dans 1 heure partir de maintenant. at 00:00 + 2 days pour excuter la commande dans 2 jours minuit. Lorsque vous tapez la commande at 12:30, vous obtenez l'invite de la commande at $ at 12:30 at>ping -c 1 192.168.0.1 at> ^D $ vous avez alors le message suivant, qui vous indique que votre demande a t prise en compte, avec numro d'ordre le 1. job 1 at 2000-11-10 12:30 Crer une crontab qui sauvegarde et tar votre rpertoire home, toutes les nuits . (on ne souhaite pas perdre les fichiers des nuits prcdentes).

Les traces syslogd


Syslogd est un daemon qui journalise les vnements du systme. Il faut avoir le daemon syslogd qui tourne sur votre machine pour que cela marche. Lorsque vous lancez syslog sur votre machine vous dmarrez en fait le daemon syslogd et klogd, qui logue plus prcisment les messages d'erreur du noyau. Par dfaut les fichiers de log se trouvent dans /var/log. Le fichier de configuration de syslog est dans /etc/syslog.conf. Par mesure de scurit, il est d'usage de mettre le rpertoire /var/log dans une partition propre (afin d'viter qu'une saturation de ce rpertoire n'entrane un arrt du systme tout entier). Les fichiers de log sont : /var/log/messages est le fichier systme qui rcupre tout. On trouve aussi les messages des programmes qui utilisent syslog, savoir par exemple named, sendmail. /var/log/secure Contient les informations de connexions. Chaque login y est enregistr.

44

Syslogd configuration
La configuration de syslog se fait dans le fichier /etc/syslog.conf. Dans le fichier syslog.conf vous devez donc indiquer sur une ligne : le service, le niveau de gravit et le fichier vers lequel diriger les logs (cela peut tre la console). La liste des services auth ou security Messages de scurit et d'authentification. Authpriv La mme chose mais logs plus privs Cron Messages de crontab et de at Daemon Messages systmes gnrs par le daemon ftp Messages du serveur ftp Kern Messages du noyau Lpr Messages du serveur d'impression Mail Messages du serveur de messagerie Syslog Messages de syslog lui-mme Exemple : kern.* /dev/console

Syslogd configuration
la liste de svrit, classe de la moins grave la plus grave 7 debug Messages de debogage 6 info Messages d'information 5 notice Messages un peu plus importants que les messages info 4 warn Messages d'avertissement 3 err Messages d'erreur 2 crit Situation critique 1 alert Situation critique ncessitant une intervention immdiate 0 panic Systme inutilisable Exemple : authpriv.* /var/log/secure Placer ici les messages que seul l'administrateur le droit de voir. authpriv donne les connexions infructueuses, les connexions avec la commande su. *.info;mail.none;authpriv.none /var/log/messages Log tous les messages dans le fichier messages partir du niveau info Sauf les messages mail et authpriv

45

Logrotate
Il automatise la permutation, la compression, la suppression, et l'envoi des journaux. Chaque journal peut tre trait quotidiennement, hebdomadairement, mensuellement, ou quand il devient trop volumineux. logrotate est lanc comme un travail quotidien de cron Extrais du fichier de configuration

/var/log/messages {
rotate 5 weekly postrotate /sbin/killall -HUP syslogd endscript }

46

You might also like