Administration Système Linux

Transcription

Administration Système Linux
Administration Système Linux
Mohammed Lahmer
[email protected]
Plan de la formation
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Présentation du Système Linux
Système de fichier (organisation et administration)
Technologie LVM
Technologie RAID
Processus d’init et d’arrêt
Gestion des processus
Installation
Gestion des utilisateurs et des groupes
sauvegarde et restitution
Gestion des paquetages
Planification des tâches
Gestion des log
1
Architecture du noyau
Structure d’un disque physique
2
Structure logique d’un disque
A l’installation, un disque physiques peut être découpé
en plusieurs partitions. Chacune de ces partition peut
supporter ou non un système de fichiers.
Certains partitions sont utilisés comme extension de la
mémoire principale (zone de swap).
Partition 0
Disque
Partition 1
Partition n
Groupe 0
Groupe 1
Groupe n
Cylindre 0
Secteur 1
Secteur 2
Secteur n
Cylindre 1
Cylindre n
Système de fichiers ext2 organisation
Un système de fichiers est une façon d'organiser et de stocker une
arborescence sur un support (disque, disquette, cd ...).
Linux possède son système appelé ext2 mais peut en gérer
d'autres vfat, nfs
Organisation d’une partition ext2 simplifiée:
•
boot bloc est réservé pour contenir le programme d’amorçage utilisé
au démarrage du système.
Le super bloc décrit l’état du système de fichiers, le nombre de fichiers
qu’il peut stocker, les endroits (blocs libres) où trouver de l’espace
libre sur le système de fichiers, la taille des blocs et d’autres
informations.
Liste des i-nœuds : contient la définition des fichiers. l’inod 2
représente le sommet de l’arborescence contenu dans le disque.
Blocs de données: contiennent les données des fichiers et les blocs
libres. Un bloc de données alloué peut appartenir à un et à un seul
fichier du système de fichiers.
3
Système de fichiers ext2 organisation
Un i-node est associé à chaque fichier ; chaque i-nœud
contient les in formations suivantes :
Type de fichier : -,d, l, c, b,p.
Droits d'accès : par exemple : rwxr-x-- Nombre de liens (physiques) : correspond au nombre De
références c'est à dire au nombre de noms.
UID : effectif du processus créateur ou affecté par chown.
GID: effectif du processus créateur.
Taille du fichier.
atime :date de la dernière lecture.
mtime :date de la dernière modification.
ctime :date du dernier changement.
13 numéros d’adresses de blocs de données du fichier
Un répertoire est un fichier dont les données sont une suite
d’éléments qui comprennent chacun un numéro d’i-noeud et
le nom d’un fichier contenu dans ce répertoire
Les répertoires
donnent au système de fichiers sa structure arborescente et
jouent un rôle important dans la conversion d’un nom de
fichier en numéro d’i-noeud.
Un répertoire est un fichier dont les données sont une suite
d’éléments qui comprennent chacun un numéro d’i-noeud et
le nom d’un fichier contenu dans ce répertoire
UNIX Système V restreint les noms des composants à 14
caractères ; le numéro d’i-noeud étant contenu dans deux
octets, la taille d’un élément d’un répertoire est de 16 octets.
4
Exemple
Système 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;
n°fichier sur disque
mode_t st_mode;
type du fichier et droits accès
nlink_t st_nlink;
nb liens physiques
uid_t st_uid;
propriétaire
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 accès
time_t st_mtime;
date dernière modif
time_t st_ctime;
date dern modif i-nœud
int st_blocks;
blocs alloués pour le fichier
}
5
Exemple sur i-nœuds
{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);
#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)
}
Système de fichiers ext2 organisation
Les fichiers conservent l’ensemble de leurs blocs suivant deux méthodes
la liste chaînée (Fat MSDOS)
la table d’index (Linux)
La taille maximale théorique d’un fichier décrit 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).
6
Système de fichiers : Liste chaînée
Le système MS-DOS utilise des listes chaînées. Il conserve le
premier bloc de chacun des fichiers dans son répertoire. Il
optimise ensuite l’accès des blocs suivants en gardant leurs
références dans une Table d’Allocation de Fichiers (FAT).
Chaque disque dispose d’une FAT et cette dernière possède
autant d’entrées qu’il y a de blocs sur le disque. Chaque entrée
de FAT contient le numéro du bloc suivant.
« XX » -> la taille du disque, « L » -> un bloc libre et « BE » ->
un bloc endommagé.
Le fichier commençant au bloc 6, sera constitué des blocs : 6 - 8
- 4 - 2.
Système de fichiers ext3 = ext2 + journal
•
•
•
Lors d’opérations modifiant la structure du Système de
Fichiers
Approche traditionnelle (ext2) = Travailler sans filet, en cas de
panne brutale il faut vérifier e2fsck
Approche Journalisée = Procéder en 2 temps :
– Ecrire ce qui va être fait (journal)
– Faire ce qui est dans le journal
– En cas de panne brutale : cohérence maintenue et vérification
rapide
•
•
•
Ext3 devient le standard préconisé par Redhat, Mandrake,
etc…
La conversion de ext2 en ext3 est assurée par la commande
tune2fs –j /dev/hda3 (hda3 contient une partition ext3)
Les commandes d’administration du système de fichier
–
–
–
–
–
mkfs :création d’un système de fichier (vfat, nfs,….)
mke2fs : création du SF ext2 (formatage)
e2fsck : vérification et correction
tune2fs : réglage, configuration
dumpe2fs : affiche des information sur le système de fichier
7
Créer, monter et démonter
•
•
•
•
•
Opération de montage consiste à mettre en relation :
– un fichier de périphérique situé dans /dev
– avec un noeud d'insertion dans l'arborescence, appelé son
point de montage
Syntaxe générale :
– mount -t <type > -o options /dev/rep-spécial /mnt/repmontage
Si cette description est présente dans le fichier /etc/fstab, la
commande peut être simplifiée
– mount /dev/rep-spécial ou mount /mnt/rep-montage
la liste des types des systèmes de fichiers reconnus par Linux est
données dans le fichier /proc/filesystems
Exemples
– mount
liste tous les systèmes de fichiers actuellement
montés
– mount -t vfat -o uid=5001,gid=5000,umask=022 /dev/hda1
/mnt/disk-c
– umount /mnt/floppy
démonte le système de fichiers
disquette
Système de fichiers : fstab
•
•
Le fichier /etc/fstab contient la liste l’ensemble des partitions ou
périphériques qui doivent ou peuvent être montés
Sur chaque ligne on trouve la description du montage d'un système,
avec 6 champs : /dev/hdb1 /mnt/disk_d vfat user, auto
–
nom du fichier spécial (ou du système distant)
–
nom du point de montage, habituellement un sous-rep
(éventuellement à créer) de /mnt
–
le type de fichiers : ext2 (Linux), msdos, vfat (Win9x), ntfs (NT),
iso9660 (Cd-rom), nfs
–
liste d'options de montage, séparés par des virgules
les options par défaut sont rw,suid, exec, auto, nouser
•
auto/noauto , pour demander/empêcher un montage
automatique au démarrage
•
user/nouser, pour autoriser/interdire un user qq (pas le
"root") à effectuer le montage
–
paramètre pour dump (commande de sauvegarde) une valeur 0
signifie que le système de fichiers ne sera pas sauvegardé lors
d'un dump
–
paramètre pour indiquer l'ordre dans lequel fsck devra vérifier
les fichiers, 1 en priorité (c'est normalement la partition racine
/, 2 sinon, et 0 pour ne pas demander de vérification.
8
A Logical Volume Manager for Linux
LVM
Objectifs
• Problématique
– Partition statique :
• Une fois formatée, on ne peut pas modifier
– Solutions tiers :
• Partition magic
• Fips
• Solution intégrée LVM
– Ajouter une couche logiciel( disques et partition
virtuels)
– Online : Allocation et réallocation d’espace disque
– Online :extension et réduction d’espace disque
9
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é d’un 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. C’est l’équivalent d’un disque
10
Concept 3
Striping
Concaténation
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
Création d’un 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 l’option –s ou --physicalextentsize pour préciser
la taille du PE, le minimum est de 1 kb
• Utiliser l’option –l ou --maxlogicalvolumes pour fixer le
nombre max. de LV
12
Création d’un 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
• Créer un nouveau pv sur hdb2
– [root@core lvm]# pvcreate /dev/hdb2
• Etendre vg2 pour contenir hdb2
– [root@lvm]# vgextend vg2 /dev/hdb2
• déplacer tous les blocs physiques de la partition
/dev/hdb2 vers les autres volumes phyisques du groupe
de volumes
– [root@lvm]# pvmove /dev/hdb1
• Détacher /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 d’un
volume logique du même groupe de volumes
• Image statique d'un volume logique à un instant
précis
• Toute modification du lv source sera enregistrée
dans le snapshot
– Mais sans les données
• Syntaxe de création du snapshot
– lvcreate -L 100M -s -n backup /dev/vg2/lv
• La taille du snapshot est importante
Métrique 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 près 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é
coût
126
937
670
RAID
level
Fonction de coûts
volume
RAID permet de gérer un ensemble de
disque (array) en une seule entité visible
par le système (un disque logique)
Il existe 6 niveaux officiels de RAID.
15
RAID Level 0
•
•
•
Les informations à écrire sont réparties
sur l’ensemble des disques.
Mode stripping
– création d ’une grappe de
disques vue comme un seul
– Ecriture en parallèle 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 données de la grappe sont
perdues.
RAID Level 1
•
•
•
Les informations à écrire sont
dupliquées sur un disque mirroir.
Mode Mirroir
– l ’information est dupliquée sur un
deuxième disque redondant.
Points forts :
– la plus rapide avec tolérance de
panne et plus petite réduction de
performance lors de défaillance
de disque
– seuls deux disques suffisent
– taux de duplication maximum
– Hot-Swap & Hot-Spare possible
Point faible
– espace disque divisé par deux.
– accès en écriture non accélérés
16
RAID Level 3 et 4
•
•
•
parité
Les informations à écrire sont réparties
sur les disques. Un disque est réservé
aux calculs de parités.
Lecture haute performance
– stripping pour répartir les
données 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.
RAID Level 5
•
•
•
parité
parité
Les informations à écrire sont réparties
sur les disques. Les calculs de parités
sont également répartis sur l’ensemble
des disques.
Le plus populaire
– ressemble à RAID4, mais
répartit le contrôle 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 pénalisante.
– rapport écriture/lecture doit
être faible
17
Autres niveaux de RAID
•
Il existe d ’autres niveaux
RAID, mais non officiels
•
RAID6
– idem à RAID5 avec
tolérance de deux disques
en panne en simultané.
– L ’écriture est complexe
•
•
niveaux combinées
– Il est possible de combiner
plusieurs niveaux de RAID.
– Exemples :
• RAID 5+1
• RAID 1+0
• RAID 3+0
RAID7
– Transferts asynchrones
optimisés pour des débits
de données importants
Quelle solution choisir ?
Type d ’application
RAID5
Transactionnel
Base de Données
RAID3
Scientifique
Image, flux
• Quel niveau de redondance ?
– nul ? On choisi RAID0
– faible ? RAID3/5
– haut ? RAID1+0
• Hot-Swap & Hot-Spare ?
– RAID1/3/5
•
budget ?
18
RAID logiciel
• Support des niveaux RAID 0,1,4,5 ainsi que le mode linéaire et
Multipath
• Utilisation automatique d’un disque de spare (1,4 et 5). En cas
de panne un disque en attente peut être immédiatement intégré
• En cas de perte d’un disque, les messages d’erreurs sont
automatiquement remontés à syslog
• Possibilité d’ajouter et de supprimer un disque à chaud
• Le RAID découpe Les données en segments virtuels contiguë :
chunck size (64 Ko par défaut)
• Un stripe correspond aux segments de données présents sur le
même 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 l’implémentation
du RAID
19
NFS (Network File System)
• Le protocole NFS (Network file system) fût mis en place par Sun
Microsystems en 1984
– NFS v1, …, NFS v4 (2000)
• Il permet de monter et de démonter des volumes en réseaux
• NFS utilise la méthode 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 :
répertoire_Partage host1(options) … hostN(options)
• Exemple :
/cours *(ro)
NFS (Procédures)
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
Effet
rw
le client a les droits d'écriture
ro
le client a seulement les droits de lecture
async
active le mode asyncrone
sync
active le mode syncrone (par défaut)
anonuid
spécifie l'UID des utilisateurs anonymes
anongid
specifie le GID des utilisateurs anonymes
all_squash
tous les utilisateurs (sauf root) récupèrent l'UID
anonyme
no_all_squash
Les utilisateurs gardent leur UID (par défaut)
root_squash
l'utilisateur root récupère l'UID anonyme (par défaut)
no_root_squash l'utilisateur root garde son UID (dangeureux !!!)
La commande exportfs
exportfs permet de désactiver, activer, modifier et ajouter des partages.
option effet
-a
exporte tous les partages contenus dans /etc/exports
-u
désactive un partage
-ua
désactive tous les partages contenus dans /etc/exports
-o
permet de spécifier des options
Exemple
exportfs -o option1,option2 host:/répertoire
21
Client NFS
• Pour utiliser un répertoire distant, le client utilise la
commande mount
mount -t nfs -o options serveur:/partage /point_de_montage
Option Effet
rw
monte le partage en read/write (par défaut)
ro
monte le partage en read only (lecture seule)
suid
autorise l'utilisation de programmes suid (par défaut)
nosuid interdit l'éxécution de programmes suid
hard
En cas d'échec, recommence l'opération jusqu'à
sa réussite (par défaut)
soft
abandonne l'opération en cas d'échec
Arborescence Normalisée FHS la racine
•
La structure d’un système de fichier Linux est définie par la Norme
FHS (Filesystem Hierarchy Standard) http://www.pathname.com/fhs
Répertoire
Description
/dev
contient des entrées de système de fichiers représentant des
périphériques connectés au système
/etc
fichiers de configuration locaux sur votre ordinateur
/lib
les bibliothèques nécessaires à l'exécution de fichiers binaires dans
/bin et /sbin
/mnt
se réfère aux systèmes de fichiers montés de façon temporaire, tels
que les CD-ROM et les disquettes.
/opt
endroit pour stocker des paquetages de logiciels d'applications de
grande taille (Oracle).
/proc
un système de fichiers virtuels permettant l’accès aux variables du
noyau
/sbin
les fichiers exécutables qui ne sont utilisés que par les utilisateurs
racine.
/usr
Fichiers (commandes, man,librairies) pouvant être partageable
/var
les fichiers de données variables (spool,logs …)
22
Système de fichier /dev
Répertoire
/
Description
/home
la base des répertoires utilisateurs
/boot
le noyau et les fichiers de démarrage (utilisé par lilo)
/root
Répertoire personnel du super utilisateur
/tmp
Les fichiers temporaires
Répertoire /dev
Description
/dev/hd*
Partitions et disques IDE : Partitions et disques IDE : hd hd + lettre
+ chiffre
/dev/sd*
Idem pour disques scsi /dev/scd* pour cdrom scsi
/dev/fd*
Lecteurs de disquettes : fd + chiffre + lettre + nombre
(fd0H1440)
/dev/tty*
Terminaux virtuels de 0 à 63
/dev/lp*
Liaison // ports imprimantes lp0, lp1, lp2
/dev/ttys*
Ports séries
/dev/mem
Mémoire physique /dev/kmem mémoire du noyau
/dev/st*
Lecteur de bande magnétique
/dev/null
Vide (corbeille)
Système de fichier usr et var
Répertoire
usr
Description
./X11R6
la hiérarchie des fichiers Xwindow (version 11 révision 6)
./bin
Les commandes utilisateurs
./sbin
les commandes d’administration non nécessaires au démarrage
./share
Données indépendante d’une architecture de machine (doc,man,..)
./src
Code source du système et des applications (noyau /usr/src/linux)
./local
La hiérarchie propre à l’installation normalement vide juste après
installation
./etc
la configuration des commandes utilisateurs
Répertoire
var
Description
./spool
Files d’attentes & tampons (impression, mail, …
./log
Fichiers de traces
./run
Données concernant les processus en cours d’exécution( pid)
./www
Serveur web par défaut appache
./mail
Fichiers mail utilisateurs
23
Système de fichier etc
Répertoire
Description
./X11
Les fichiers de configuration de Xwindow (version 11
révision 6)
./rc.d
Les scripts de démarrage
./crn
les tâches à effectuer à la periodicité
./skel
les fichiers à recopier dans le répertoire d’un nouvel
utilisateur
./sysconfig
les fichiers de configuration des périphériques y
compris la carte réseau
./xinited.d
Configuration des services Internet
./init.d
Les services actifs
Processus de démarrage init et arrêt
•
Ci-dessous les étapes de base du processus de démarrage d'un système x86
1.
Le BIOS du système vérifie le système et lance le chargeur de
démarrage LILO ou GRUB sur le bloc de démarrage maître (MBR) du
disque dur principal.
2.
Le chargeur de démarrage de l'Étape 1, se charge en mémoire et lance
le chargeur de démarrage de l'Étape 2 à partir de la partition /boot/.
3.
Le chargeur de démarrage de l'Étape 2 charge le noyau en mémoire ,
qui à son tour, charge tout module nécessaire et monte la partition root
en lecture seulement.
4.
Le noyau passe le contrôle du processus de démarrage au programme
/sbin/init.
5.
Le programme /sbin/init charge tous les services et les outils de l'espace
utilisateur(exécute les scripts rc (run control), et monte toutes les
partitions répertoriées dans /etc/fstab.
6.
L'utilisateur voit alors un invite de connexion pour le système Linux
venant d'être démarré.
24
Les chargeurs de démarrage Lilo et GRUB
•
Historiquement, deux chargeurs
disponibles: GRUB ou LILO.
de
démarrage
sont
•
GRUB(GRand Unified Bootloader) est le chargeur de
démarrage par défaut
•
GRUB est le chargeur de démarrage le plus récent 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 démarrage
•
Avec LILO, le chargeur de démarrage utilise des informations
sur le MBR pour déterminer les options de démarrage dont
dispose l'utilisateur
•
Vous devez exécuter la commande /sbin/lilo -v pour écrire
les informations appropriées sur le MBR
Les chargeurs de démarrage Lilo et GRUB
•
•
•
Une fois que le chargeur de démarrage a déterminé le noyau
à démarrer, il localise le binaire de noyau correspondant
dans le répertoire /boot/
Le binaire du noyau est baptisé d'après le format— fichier
/boot/vmlinuz-<version-noyau>
(où
<version-noyau>
correspond à la version du noyau spécifiée dans les
paramètres du chargeur de démarrage).
Pour obtenir la version du noyau utiliser la commande
uname -r
25
Les chargeurs de démarrage LiLo
•
•
Le fichier de configuration de LILO est /etc/lilo.conf. Les
commandes /sbin/lilo utilisent ce fichier afin de déterminer 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
# contrôleur IDE.
boot=/dev/hda
#indique à LILO d'installer le fichier spécifié comme nouveau secteur
# de démarrage
install=/boot/boot.b
#indique à LILO de vous montrer ce qui est référencé à la ligne message
prompt
#établit la durée pendant laquelle LILO attendra une saisie de
#l'utilisateur avant de passer au démarrage de l'entrée spécifiée à la
#ligne default
timeout=50
Les chargeurs de démarrage LiLo
message=/boot/message
lba32 #décrit la géométrie du disque dur à LILO
#Le nom linux renvoie à la ligne label en dessous dans
#chacune des options dedémarrage.
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 périphériques
read-only
root=/dev/hda5
#indique à LILO quelle partition de disque utiliser comme
# partition root
other=/dev/hda1
label=dos
26
Les chargeurs de démarrage Grub
•
Différences 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
– numérotation unique pour IDE et SCSI
– partition : (hdn ,x) avec x = 0, 1, 2, partitions
primaires : 0 à 3
Les chargeurs de démarrage 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
27
Le processus init
•
Le programme /sbin/init (aussi appelé init) coordonne le reste du
processus de démarrage et configure l'environnement de l'utilisateur
La commande init exécute le script /etc/rc.d/rc.sysinit initialise le path,
démarre swap, vérifie les systèmes de fichiers, détection du matériel et
chargement des pilotes des périphériques
La commande init exécute ensuite le script /etc/inittab, qui décrit
comment le système doit être configuré dans chaque niveau d'exécution
•
•
SysV init
•
–
–
–
–
–
–
–
6 niveaux sont décrits au début du fichier /etc/inittab
0 : provoque un arrêt (shutdown) de la machine
1 : pour rentrer en mode mono-utilisateur, réservé à root
2 : mode multi-utilisateurs, sans NFS
3 : mode multi-utilisateurs avec tous les services réseaux
4 : non utilisé
5 : démarrage du serveur graphique X11 en plus
6 : redémarrage de la machine (la commande reboot lance le niveau
6).
Le processus init
• On peut toujours spécifier un niveau de démarrage par défaut
• En démarrant au niveau d'exécution 5, le programme init
examine le répertoire /etc/rc.d/rc5.d/ afin de déterminer les
processus à arrêter et à démarrer
• Les scripts contenu dans un répertoire rcn.d sont de la forme :
– SXXyyyyy : correspond aux processus à démarrer dans ce
niveau
– KXXyyyyy : correspond à des processus arrêtés à ce niveau
• Une des dernières choses que le programme init exécute est le
fichier /etc/rc.d/rc.local Ce dernier est utilise pour les scripts
personalisés
28
Le fichier /etc/inittab
•
•
•
Ce fichier contient des lignes respectant le format suivant :
code:niveau:action:commande
Le champ code contient une séquence de un à quatre caractères (deux pour
compatibilité) unique pour identifier la ligne dans le fichier.
Le champ niveau (0-6) donne le niveau d’exécution pour lequel cette ligne doit
être prise en compte.
–
respawn
relance la commande lorsqu’elle se termine
–
wait
attend la fin de la commande avant de continuer
–
once
la commande est exécutée une fois
–
boot
la commande est exécutée au démarrage du système (le
champ niveau est ignoré)
–
bootwait
comme ci-dessus avec attente
–
off
ne rien faire
–
initdefault
permet de spécifier le niveau d’exécution par défaut
–
sysinit
la commande est exécutée au démarrage avant celles des
directives boot et bootwait
–
Ctrlaltdel
la commande est exécutée lorsque l’utilisateur tape les
trois caractères <CTRL>-<ALT>-<SUPPR> sur le clavier
–
powerfail
la commande est exécutée lorsque le processus init reçoit
le signal SIGPWR (défaut d’alimentation)
Arrêt du système
•
Mode single
Le mode Single User est un mode particulier de fonctionnement du système
correspondant au niveau d’exécution 1 (runlevel 1) dans lequel seuls les
services minimum sont lancés
–
Dans ce runlevel, un shell root est lancé automatiquement au démarrage, et
il n’est possible de travailler que depuis la console
–
Pour démarrer en mode Single User
•
Lilo : linux single
•
Si vous utilisez GRUB comme chargeur de démarrage, suivez les étapes
suivantes:
•
À l'écran de chargeur de démarrage graphique GRUB, sélectionnez le
label de démarrage Red Hat Linux et appuyez sur [e] pour l'éditer.
•
À l'aide de la flèche bas, aller jusqu'à la ligne de noyau et appuyez sur
[e] pour l'éditer.
•
À l'invite, tapez le numéro du niveau d'exécution souhaité (de 1 à 5) ou
les mots single ou emergency et appuyez sur [Entrée].
•
Appuyez sur la touche [b] pour démarrer le système.
Arrêt du système
–
les deux options les plus courantes sont les suivantes:
–
/sbin/shutdown-h now
–
shutdown -r [<nb mn> | now] ou reboot ou ctrl-alt-del
–
•
29
Gestion des paquetages RPM
•
Les packages logiciels sur les distributions Redhat et dérivées sont
au format RPM (Redhat Package Manager).
•
La gestion de ces packages logiciels s’effectue en ligne de
commande en utilisant la commande RPM, mais d’autres outils,
dont certains graphiques, sont disponibles (yum, smart,yumex,
kyum,…)
•
rpm est Un moyen simple d’installer ou de mettre à jour des
paquetages avec une grande sécurité (md5, GPG, SHA)
•
Gestion des dépendances entre paquetages vérifie si d’autres
paquetages ne sont pas requis par celui que l’on installe
•
Facilite la maintenance:
– Mises à jour (relativement) simples
– Vérifie qu’une suppression ne va pas
dysfonctionnement d’un autre paquetage.
– Permet de retrouver des fichiers facilement.
entraîner
un
Gestion des paquetages commandes
•
•
•
•
•
Format d’un paquetage RPM :
– tootuxbase-2.3-3tux.i686.rpm
– Le nom du programme (tootuxbase)
– La version (2.3)
– version du RPM (3tux)
– L’architecture « normalisée » (i686)
– L’extension (rpm).
Installation d’un nouveau paquetage :
– rpm -i toto-1.9 1.9-3tux.alpha.rpm (-hiv permet d’avoir plus d’infos)
Installation multiple (en cas de dépendances circulaires)
– rpm -hiv gnome-*. *.rpm
Mise à jour
– rpm -hUv toto-2.0 2.0-1tux.alpha.rpm
Pour forcer une installation (fortement déconseillée)
– Utiliser les options --nodeps et --force
30
Gestion des paquetages RPM commandes
•
•
•
•
Retirer des paquetages
– rpm -e tootuxbase-3.2 3.2-2tux
Recherche des paquetages déjas installés
– rpm –qi tootuxbase (affiche les informations sur tootuxbase.)
– rpm –qa (liste tous les paquetages installés)
Information additionnelle
– -l : liste les fichiers fournis
– -provides: liste des dépendances qu’il fournit
– -requires : liste des fichiers dont il a besoin pour s’installer
– rpm -q --whatprovides toto :Liste les paquetages fournissant toto
– rpm -q --whatrequires toto :Liste les paquetages ayant besoin de
toto pour s’installer
Vérification de l’authenticité d’un paquetage
– rpm -K toto.rpm (-Kv indique le nom de la personne ayant signée le
rpm)
Gestion des paquetages yum de Fedora
• yum est une surcouche à rpm facilitant énormément de
tâches :
• Téléchargement de paquets depuis des dépôts logiciels
– un fichier nomdepot.repo avec le contenu adéquat pour chaque
dépôt dans le dossier /etc/yum.repos.d
• Dépôt livna : indispensable pour les pilotes matériels et le
multimédia
• rpm -ivh http://rpm.livna.org/livna-release-8.rpm
• Dépôt jpackage : pour les applications Java
• Dépôt adobe : pour Macromedia Flash Player
• Dépôt remi : dépôt spécialisé Lamp (Linux Apache Mysql
PHP)
• Recherche et installe les dépendances automatiquement
31
Architecture de yum
MetaData yum
• repomd.xml
– c'est le fichier qui décrit les autres fichiers de métadonnées.
– Il contient l'horodatage et le check-sum des autres fichiers.
• primary.xml.gz
– stocke des informations sur les métadonnées
• name, date, version, release, architecture
• file size, file location, description, summary, format, checksums header
• dépendances,
provides,
conflits,
obsolètes,
suggestions,
recommendations
• filelists.xml.gz
– Il stocke le fichier complet et les listes de répertoires pour les
paquetages. Le paquetage est identifié par: nom, date, version, la
distribution, l'architecture et le paquet de contrôle id.
32
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 dépôt> update
– Le cas du noyau (kernel) est géré de façon particulière.
• yum n’efface jamais une version du noyau sans que vous le demandiez
explicitement.
• Lors d’une nouvelle version du noyau, il installera celle-ci et modifiera
automatiquement votre fichier /boot/grub/grub.conf
Mise à niveau d’une version antérieure
– 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
Gestion des utilisateurs et groupes sous Linux
•
•
•
•
•
•
Le contrôle des utilisateurs et groupes est au coeur de l'administration
de système Linux.
Les utilisateurs peuvent être aussi bien des personnes, que des
comptes existant pour une utilisation par des applications spécifiques
Les groupes sont des expressions logiques d'une société, regroupant
des utilisateurs pour un but commun.
Les utilisateurs appartenant à un groupe donné peuvent lire, écrire ou
exécuter des fichiers appartenant à ce groupe.
Chaque utilisateur et chaque groupe se voit attribuer un numéro
identificateur numérique 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 tâches les plus
importantes qu'un administrateur de système doive effectuer
33
Quelque utilisateurs et groupes standards
Utilisateurs: /etc/passwd
Utilisateur
root
bin
démon
adm
lp
sync
arrêt
halt
UID
0
1
2
3
4
5
6
7
GID
0
1
2
4
7
0
0
0
Répertoirepersonnel
/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
démon
sys
GID
0
1
2
3
Membres
root
root, bin, démon
root, bin, démon
root, bin, adm
Groupe propre à un utilisateur
•
•
•
•
•
Red Hat Linux utilise un système de groupe propre à l'utilisateur (ou
UPG de l'anglais 'User Private Group') qui facilite considérablement la
gestion de groupes UNIX.
Un UPG est créé chaque fois qu'un nouvel utilisateur est ajouté au
système.
Les UPG portent le même nom que l'utilisateur pour lequel ils ont été
créés et seul cet utilisateur est un membre de l'UPG
Le paramètre qui détermine les différentes permissions à accorder à de
nouveaux fichiers ou répertoires s'appelle un umask et est configuré
dans le fichier /etc/bashrc
Sur des systèmes UNIX, l' umask a traditionnellement une valeur de
022, permettant uniquement l'utilisateur qui a créé le fichier ou
répertoire de le modifier.
34
Création d’un 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
vérification des fichiers
changer le mot de passe d'un
utilisateur
utilitaires divers
Pour créer 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 rép. personnel et les fichiers de l'utilisateur
Complément sur useradd
Pour examiner les valeurs par défaut appliquées par useradd : commande
useradd -D ou éditer /etc/default/useradd
-u UID
-g gropue primaire
-m
Création Répertoire personnel
-s shell
par défaut, attribution du shell par défaut bash
-c commentaire
-d rép personnel
par défaut dans le répertoire /home
-e date expiration
fixe la date d'expiration du compte (format MM/JJ/AA)
-k rep skel
recopie le contenu de rep-skel dans le rép. personnel,
par défaut /etc/skel
35
Le système shadow passwd
•
•
•
•
•
•
Dans un environnement multi-utilisateurs, il est primordial d'utiliser des mots de
passe masqués (fournis par le paquetage shadow-utils).
amélioration de la sécurité du système en déplaçant les hachages de mots de
passe cryptés 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 sécurité.
stockage d'informations sur l'expiration de mots de passe
Format d’une entrée 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 l’utilisateur qu’il doit
changer de mdp
–
inactif : nb de jours d’inactivité autorisés
–
Expire : date d’expiration du mot de pass
Gestion des quotas
•
•
•
•
Il s'agit de limiter l'espace disque et/ou le nombre de fichiers
alloués aux utilisateur ou aux groupes, sur un système de
fichiers désigné, donc sur une partition.
Le but recherché est le plus souvent de contraindre à une
meilleure gestion des rép.personnels.
Quand un utilisateur dépasse la taille maximale fixée, il est
averti et dispose d'un délai pour « faire le ménage »
les limites :
– "soft" : il s'agit d'une tolérance, cette limite peut être
franchie (pendant 7 jours par défaut)
– "hard" : franchie par un utilisateur ou un groupe, celui-ci
ne peut plus écrire sur le disque, tant qu'elle est dépassée
36
Gestion des quotas
• Mise en oeuvre
– Vérifier d'abord que le paquetage est bien installé : rpm -q
quota
– Activer la prise en charge des quotas pour un système de
fichiers, en ajoutant sur la ligne adéquate 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 vérifier que le fichier aquota.user a été créé dans
/home.
– Il renferme la table des quotas Et permet générer 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/désactive 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 démarrage du système
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 durée de la "grace"
37
Sauvegarde et Restauration
• Possibilité après une modification/destruction d’un ou
plusieurs fichiers de restaurer une version précédente
(récente ou non) de ces fichiers.
• L’administrateur du système doit mettre en place une
stratégie de sauvegarde automatique
• Linux propose en standard plusieurs commandes de gestion
de sauvegarde
– dump et restore
– cpio
– tar
– dd
• Il existe d’autre outils opensource tels que
– Amanda (Architecture Client/Serveur)
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 modifiés depuis
la dernière sauvegarde d’un niveau inférieur.
– 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 d’archive
– f fichier nom du fichier destination
38
Niveaux de Sauvegarde dump
• Sauvegarde incrémentale de 0 à 9 .
• Par exemple, si le niveau-5 de sauvegarde est invoquée après
niveau-4, les fichiers mis à jour après le niveau-4 seront
enregistrées à ce niveau-5 archive de sauvegarde.
– Sauvegarde simple :
– 0( full)->1->2->3->4……….->9
– Séquence 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 désormais possible d’effectuer un dump en réseau
– rdump 0uf server:/dev/nst0 /home
Sauvegarde dump et restore
• La commande restore permet d’extraire des fichiers d’une
sauvegarde réalisée 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 spécifiques
– f fichier nom du fichier contenant la sauvegarde
39
Sauvegarde cpio
•
•
•
•
•
cpio : Permet de créer des archives vers un lecteur de bandes, une
disquette ou un autre répertoire du système 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 donnés sur l’entrée standard ( la commande find)
– ls *.wav | cpio –ov > archive
[-i] en entrée, elle lit un fichier archive sur l’entrée standard et restitue les
fichiers en fonction des options données
– cpio –i < archive
[-p] en copie, elle copie les fichiers d’un répertoire vers un autre sans
passer par un fichier archive
– find . –type d –user toto –print|cpio –pdv totoarchive
– L’option –d crèe le répertoire archive s’il n’existe pas
Sauvegarde tar
•
•
•
La commande tar (=Type ARchive) est une ancienne commande Unix
qui permet aisément d'archiver (identique à cpio)
Certaines applications et des mises à jour ne sont livrées que sous
forme soit binaire, soit de source à compiler, dans ce format
Les 3 premières -c -x -t spécifient les 3 types d'actions de la commande
–
-x
extraire le contenu d'une archive
–
-c
créer 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 décompresser en faisant appel à
l'utilitaire gzip
–
-y
compresser ou décompresser avec l'utilitaire bgzip2
–
tar -cvzf sauve.toto.tar.gz /home/toto
40
Sauvegarde tar
•
•
•
•
•
•
Exemple de sauvegarde du répertoire /usr/src dans une bande magnétique
tar --create -file /dev/st0 /usr/src
Si la sauvegarde ne tient pas sur une bande on peut utiliser l’option –M
– tar -cMf /dev/fd0H1440 /usr/src
A la fin de la sauvegarde il faut vérifier que c’est OK utiliser l’option –
compare(-d)
– tar --compare -verbose -f /dev/ftape
Pour faire des sauvegardes incrémentées sur le même périphérique utiliser
l’option –newer (-N)
– tar -create -newer ’26 jan 2004’ -file /dev/ftape /usr/src –verbose
L’extraction peut se faire avec l’option –extract (-x)
– tar -xvf /dev/fd0
On peut extraire qu’une partie de l’archive
tar xpvf /dev/fd0 usr/src/linux-1.2.10-includes/include/linux/hdreg.h
Planification des tâches crontab et at
•
•
•
•
•
•
•
•
•
crontab est un utilitaire bien utile et plutôt simple à mettre en oeuvre. Il
permet de programmer des actions régulières sur votre machine (des
sauvegardes journalières).
at permet quant à lui de lancer des actions à une heure donnée, un jour
donné, mais sans répétition.
crontab –e permet d’éditer le fichier ou vous allez planifier vos action
crontab –l pour visualiser toutes les crontabs crées
Lorsque vous créez une crontab, elle est créée pour l'utilisateur que vous
êtes.
Si vous souhaitez voir, créer, modifier ou détruire une crontab d'un autre
utilisateur indiquer crontab -u toto -l (-l pour voir, -e pour créer ou
modifier, -r pour détruire).
Possibilité d'autoriser ou d'interdire l'utilisation de cron aux utilisateurs
aux utilisateurs
Fichiers /etc/cron.allow, /etc/cron.deny
Problème: certaines machines ne fonctionne pas en permanence. Utiliser
Anacron fichier /etc/anacrontab
41
Planification des tâches crontab et at
•
La syntaxe des entrées 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'exécutez 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
Planification des tâches crontab et at
•
•
•
•
•
la commande suivante efface tous les jours, les fichiers présents dans le
répertoire /var/log depuis plus de 7 jours.
0 1 * * * find /var/log -atime 7 -exec rm -f {} \;
at 12:30 11/30/00 déclenchera la commande le 30 novembre 2000 (le
jour étant indiqué sous la forme mm/jj/aa.
at now + 1 hour déclenchera la commande dans 1 heure à partir de
maintenant.
at 00:00 + 2 days pour exécuter 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 numéro d'ordre le 1.
job 1 at 2000-11-10 12:30
Créer une crontab qui sauvegarde et tar votre répertoire home, toutes les
nuits . (on ne souhaite pas perdre les fichiers des nuits précédentes).
42
Les traces syslogd
•
•
•
•
•
•
Syslogd est un daemon qui journalise les événements du système.
Il faut avoir le daemon syslogd qui tourne sur votre machine pour que cela
marche.
Lorsque vous lancez syslog sur votre machine vous démarrez en fait le daemon
syslogd et klogd, qui logue plus précisément les messages d'erreur du noyau.
Par défaut les fichiers de log se trouvent dans /var/log. Le fichier de
configuration de syslog est dans /etc/syslog.conf.
Par mesure de sécurité, il est d'usage de mettre le répertoire /var/log dans une
partition propre (afin d'éviter qu'une saturation de ce répertoire n'entraîne un
arrêt du système tout entier).
Les fichiers de log sont :
–
/var/log/messages est le fichier système qui récupère 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é.
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 sécurité et d'authentification.
–
Authpriv
La même chose mais logs plus privés
–
Cron
Messages de crontab et de at
–
Daemon
Messages systémes générés 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-même
Exemple :
–
kern.*
/dev/console
43
Syslogd configuration
•
la liste de sévérité, classée 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 nécessitant une
intervention immédiate
–
0
panic
Système 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
–
–
–
•
•
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 }
44

Documents pareils