Vous êtes sur la page 1sur 71

Support de cours

Les bases de
l'administration
du systme Linux

(c) 2004, Sbastien Namche (sebastien@nameche.fr)

Ce document peut tre librement lu, stock, reproduit, diffus, traduit et cit par tous moyens et sur tous supports aux conditions suivantes :
! tout lecteur ou utilisateur de ce document reconnat avoir pris connaissance de ce qu'aucune garantie n'est donne quant son contenu, tous points de
vue, notamment vracit, prcision et adquation pour toute utilisation ;
! il n'est procd aucune modification autre que cosmtique, changement de format de reprsentation, traduction, correction d'une erreur de syntaxe
vidente, ou en accord avec les clauses ci-dessous ;
! le nom, le logo et les coordonnes de l'auteur devront tre prservs sur toutes les versions drives du document tous les endroits o ils apparaissent
dans l'original, les noms et logos d'autres contributeurs ne pourront pas apparatre dans une taille suprieure celle des auteurs prcdents, des
commentaires ou additions peuvent tres insrs condition d'apparatre clairement comme tels ;
! les traductions ou fragments doivent faire clairement rfrence une copie originale complte, si possible une copie facilement accessible ;
! les traductions et les commentaires ou ajouts insrs doivent tre dats et leur(s) auteur(s) doi(ven)t tre identifiable(s) (ventuellement au travers d'un
alias) ;
! cette licence est prserve et s'applique l'ensemble du document et des modifications et ajouts ventuels (sauf en cas de citation courte), quelqu'en soit
le format de reprsentation ;
! quel que soit le mode de stockage, reproduction ou diffusion, toute version imprime doit contenir une rfrence une version numrique librement
accessible au moment de la premire diffusion de la version imprime, toute personne ayant accs une version numrise de ce document doit
pouvoir en faire une copie numrise dans un format directement utilisable et si possible ditable, suivant les standards publics, et publiquement
documents en usage ;
! la transmission de ce document un tiers se fait avec transmission de cette licence, sans modification, et en particulier sans addition de clause ou
contrainte nouvelle, explicite ou implicite, lie ou non cette transmission. En particulier, en cas d'inclusion dans une base de donnes ou une
collection, le propritaire ou l'exploitant de la base ou de la collection s'interdit tout droit de regard li ce stockage et concernant l'utilisation qui
pourrait tre faite du document aprs extraction de la base ou de la collection, seul ou en relation avec d'autres documents.
Toute incompatibilit des clauses ci-dessus avec des dispositions ou contraintes lgales, contractuelles ou judiciaires implique une limitation
correspondante : droit de lecture, utilisation ou redistribution verbatim ou modifie du document.
Adapt de la licence Licence LLDD v1, octobre 1997, Libre reproduction Copyright Bernard Lang [F1450324322014].
URL : http://pauillac.inria.fr/~lang/licence/lldd.html
L'original de ce document est disponible cette URL : http://sebastien.nameche.fr/cours

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 2

Pr-requis et droulement
Ce support de cours a pour objet la formation aux bases de l'administration du systme
Linux. La pratique du systme Unix ou Linux d'un point de vue utilisateur
n'y est pas aborde.
En particulier, on attend de chaque stagiaire qu'il :
- matrise l'utilisation d'Unix (commandes shell de base) ;
- sache modifier des fichiers au format texte l'aide de l'un des diteurs
traditionnellement disponibles sous Unix (vi, emacs, pico, etc.).
La dure thorique de ce module de formation est d'une journe et demie.
Il s'agit d'une formation interactive, il est donc tout fait indiqu d'interrompre le
formateur pour lui poser des questions, lui faire prciser certains points, demander l'tude
d'un cas particulier, etc.

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 3

Responsabilits de l'administrateur
Trois grandes familles de tches incombent l'administrateur Unix : grer le systme, les
services et la scurit.
Surveiller et assurer la bonne marche du systme au quotidien :
- surveiller les ressources (disque, mmoire, CPU, etc.) ;
- planifier l'ajout de ressources.
Administrer les services dploys :
- grer les utilisateurs ;
- installer et configurer les applications ;
- planifier les migrations.
Prvoir et grer les incidents et les intrusions (tches transversales) :
- installer les correctifs de scurit ;
- durcir le systme et les applications ;
- mettre en oeuvre un plan de sauvegarde ;
- superviser le systme et les applications.

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 4

L'utilisateur root
Pour raliser les tches d'administration, on utilise le compte traditionnellement appel
root ( ne pas confondre avec la racine de l'arborescence qui porte le mme nom).
De ce point de vue, le systme de gestion des droits la mode Unix est plutt primitif, un
utilisateur spcial dispose des droits lui permettant d'accder l'intgralit du systme.
Tous les autres utilisateurs sont soumis au systme de gestion des permissions d'accs.
Il est donc assez difficile, sous Unix, de dlguer l'administration d'un sous-systme des
utilisateurs.

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 5

Arborescence
La disposition des fichiers dans l'arborescence des systmes Unix n'est, en gnral, pas
d'une comprhension vidente de prime abord.
Il est cependant indispensable de connatre les rgles qui prsident la distribution des
fichiers et rpertoires dans le systme des fichiers afin de :
- dterminer un plan de sauvegarde ;
- grer la scurit ;
- agir efficacement lors de la rsolution des problmes ;
- installer des logiciels non disponibles sous formes de paquetage ;
- etc.
Un document, le FHS (Filesystem Hierarchy Standard disponible sur cette page
:http://www.pathname.com/fhs/), a pour ambition de proposer la normalisation de
l'organisation de systme de fichiers pour les systmes Unix.
La plupart des distributions Linux s'y conforme mme s'il reste beaucoup de diffrences
dans les dtails d'implmentation.

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 6

La racine du systme de fichiers


La racine de l'arborescence Linux contient ces rpertoires :
bin
programmes utilisateur essentiels (ncessaires au dmarrage du systme)
boot
fichiers ncessaires au chargement de Linux (bootloader, initrd, noyau)
dev
fichiers spciaux offrant l'accs aux priphriques
etc
configuration du systme et des services
home
rpertoires principaux des utilisateurs
initrd
rpertoire utilis pour construire l'image disque en RAM du noyau
lib
librairies partages essentielles (ncessaires au dmarrage du systme)
mnt
contient des points de montage temporaires (cdrom, floppy, etc.)
opt
applications tierces
proc et sys systmes de fichiers virtuels permettant d'accder aux structures
internes du noyau (sys est nouveau depuis la version 2.6 de Linux)
root
rpertoire principal de l'utilisateur root
sbin
excutables systme essentiels (ncessaires au dmarrage du systme)
tmp
rpertoire pour le stockage de fichiers temporaires
usr
arborescence contenant la plupart des fichiers des applications
var
donnes vivantes du systme et des applications

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 7

/etc et /lib
/etc
/etc/X11
/etc/rc*
/etc/pam.d

fichiers et rpertoires de configuration du systme et des applications


configuration du systme X11
rpertoires et scripts utiliss lors du dmarrage du systme
configuration, par service, des Pluggable Authentication Modules

Lorsqu'une application utilise plusieurs fichiers de configuration, un sous-rpertoire


de /etc lui est gnralement ddi. Par exemple :
/etc/httpd fichiers de configuration du serveur Web Apache
/etc/mail
fichiers de configuration du systme de messagerie Sendmail
/etc/ssh
fichiers de configuration et cls asymtriques d'OpenSSH
/lib
/lib/modules
/lib/security
/lib/iptables
/lib/kbd

librairies partages essentielles


modules du noyau
librairies PAM (Pluggable Authentication Modules)
greffons iptables
codages clavier et polices de la console

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 8

/usr
/usr/bin
/usr/games
/usr/include
/usr/lib
/usr/libexec
/usr/local
/usr/sbin
/usr/share
/usr/src

la plupart des programmes utilisateur


jeux et autres facties
en-ttes standards pour le dveloppement
librairies (.so pour Shared Objects) et autres ressources partages
binaires excutables appels par d'autres programmes
programmes installs la main (i.e. sans paquetage)
excutables systme
ressources partages indpendantes de la plate-forme (pages de
manuel, documentation, fichiers de donnes, etc.)
sources du systme (noyau, paquetages, etc.)

Fichiers de la distribution X Window System, Version 11 Release 6 :


/usr/X11R6/bin
/usr/X11R6/include
/usr/X11R6/lib
/usr/X11R6/man
/usr/X11R6/share

excutables
en-ttes pour le dveloppement en C
librairies et autres ressources partages
pages de manuel
ressources partages indpendantes de la plate-forme

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 9

/var
/var/account
/var/cache
/var/lib
/var/lib/rpm
/var/lock
/var/lock/subsys
/var/log
/var/run
/var/spool
/var/spool/mail
/var/spool/cron
/var/spool/lpd
/var/spool/mqueue
/var/tmp
/var/www

journaux de comptabilit des ressources utilises par les


processus
donnes caches par les applications
donnes vivantes et persistantes des applications
base de donnes des paquetages installs
fichiers verrous
contient un fichier pour chaque service actif
journaux du systme et des applications
donnes vivantes, non-persistantes des applications
donnes en attente d'un traitement
botes aux lettres des utilisateurs
tches planifies par les utilisateurs
files pour le systme d'impression
messages en attente de traitement par le MTA
fichiers temporaires prservs entre deux dmarrages
racine du serveur Web

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 10

Paquetages
Un paquetage contient :
- les fichiers (excutables, librairies, fichiers de configuration, ressources, etc.)
ncessaires pour excuter un programme ;
- un ensemble de scripts qui configurent le programme automatiquement aprs son
installation ;
- les informations sur le propritaire et permissions d'accs de chaque fichier ;
- des informations optionnelles sur les paquetages dpendants et les services fournis ;
- une description du paquetage.
L'ensemble des informations de tous les paquetages installs sont stocks dans une base
de donnes gre par l'utilitaire rpm (Redhat Package Management) pour les distributions
bases sur RedHat et les outils dpkg et apt pour la distribution Debian.

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 11

rpm
Le nom d'un fichier de paquetage est constitu du nom du paquetage, du numro de
version du logiciel et du numro de version du paquetage spars par des caractres - .
Par exemple : openssl-0.9.7a-35.rpm
Exemples d'utilisation de rpm :
* installation d'un paquetage : rpm -i fichier.rpm
* mise--jour d'un paquetage : rpm -U fichier.rpm
* suppression d'un paquetage : rpm -e paquetage
* vrification d'un paquetage : rpm -V paquetage
* interrogation sur les paquetages installs :
- liste des fichiers d'un paquetage : rpm -ql paquetage
- paquetage contenant un fichier : rpm -qf /chemin/vers/fichier
- informations sur un paquetage : rpm -qi paquetage
- liste trie de tous les paquetage installs : rpm -qa |sort
* interrogation sur un fichier de paquetage :
- liste des fichiers : rpm -qpl fichier.rpm
- informations : rpm -qpi fichier.rpm
(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 12

rpm Gestion des signatures GPG


rpm supporte dsormais la signature des paquetages. Cette technique permet de garantir
qu'un paquet n'a pas subi de modification et que la personne qui l'a construit est bien celle
qu'elle prtend tre.
Il faut pour cela importer les cls publiques GPG des personnes ou organisations qui
ralisent les paquetages devant tre installs avec l'option --import de rpm. L'option
--checksig permet de vrifier la signature d'un paquetage avant de l'installer.
La cl publique de la distribution RedHat est disponible sur les CD-ROM, dans le fichier
RPM-GPG-KEY (ou RPM-GPG-KEY-fedora en ce qui concerne la Fedora).
Par exemple :
# rpm --checksig webmin-1.150-1.noarch.rpm
webmin-1.150-1.noarch.rpm: md5 (GPG) PAS OK (CLES MANQUANTES: GPG#11f63c51)
# wget http://www.webmin.com/jcameron-key.asc
.../...
# rpm --import jcameron-key.asc
# rpm --checksig webmin-1.150-1.noarch.rpm
webmin-1.150-1.noarch.rpm: md5 gpg OK

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 13

rpm Gestion des signatures GPG


Pour lister les cls installes :
# rpm -qa gpg-pubkey*
gpg-pubkey-11f63c51-3c7dc11d

Pour avoir plus d'informations sur une cl particulire :


# rpm -qi gpg-pubkey-11f63c51-3c7dc11d
Name
: gpg-pubkey
Relocations: (not relocatable)
Version
: 4f2a6fd2
Vendor: (none)
Release
: 3f9d9d3b
Build Date: ven 23 jui...
Install Date: ven 23 jui...
Build Host: localhost
Group
: Public Keys
Source RPM: (none)
Size
: 0
License: pubkey
Signature
: (none)
Summary
: gpg(Fedora Project <fedora@redhat.com>)
Description :
-----BEGIN PGP PUBLIC KEY BLOCK----.../...

-----END PGP PUBLIC KEY BLOCK-----

Pour supprimer une cl :


# rpm -e gpg-pubkey-11f63c51-3c7dc11d

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 14

dpkg Gestion des paquetages Debian


Le nom d'un fichier de paquetage est constitu :
* du nom du paquetage suivi ;
* du numro de version du logiciel et du numro de version du paquetage ;
* de l'architecture cible ;
* de l'extension .deb.
Par exemple : openssl_0.9.7e-3sarge1_i386.deb
Exemples d'utilisation de dpkg :
* installation d'un paquetage : dpkg -i fichier.deb
* suppression d'un paquetage : dpkg -P paquetage
* liste des paquetages installs : dpkg -l
* afficher des informations sur un paquetage : dpkg -I fichier.deb
* afficher la liste des fichiers installs par un paquetage : dpkg -L paquetage

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 15

apt Dpts de logiciels


Un dpt Debian est un ensemble organis et index de paquetages Debian et que
l'infrastructure apt (Advanced Packaging Tool) de gestion des paquetages Debian sait
utiliser pour installer des applications.
Un dpt Debian peut tre stock sur diffrents supports :
* CD-ROM ;
* DVD-ROM ;
* un rpertoire sur un systme de fichiers ;
* un emplacement sur le rseau accessible en HTTP ou FTP ;
* etc.
Il existe plusieurs types de dpts Debian :
* les dpts officiels de la distribution ;
* le dpt officiel contenant les correctifs de scurit ;
* le dpt volatile ;
* des dpts Debian non officiels.
Afin qu'apt puisse utiliser un dpt il faut :
1) inscrire ce dpt dans le fichier /etc/apt/sources.list ;
2) crer un catalogue des paquetages disponibles dans ce dpt.
(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 16

apt Dpts de logiciels


Un dpt Debian est un ensemble organis et index de paquetages Debian et que
l'infrastructure apt (Advanced Packaging Tool) de gestion des paquetages Debian sait
utiliser pour installer des applications.
Un dpt Debian peut tre stock sur diffrents supports :
* CD-ROM ;
* DVD-ROM ;
* un rpertoire sur un systme de fichiers ;
* un emplacement sur le rseau accessible en HTTP ou FTP ;
* etc.
Il existe plusieurs types de dpts Debian :
* les dpts officiels de la distribution ;
* le dpt officiel contenant les correctifs de scurit ;
* le dpt volatile ;
* des dpts Debian non officiels.
Afin qu'apt puisse utiliser un dpt il faut :
1) inscrire ce dpt dans le fichier /etc/apt/sources.list ;
2) crer un catalogue des paquetages disponibles dans ce dpt.
(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 17

Utilisateurs Unix
Les attributs qui caractrisent un utilisateur Unix sont :
- un nom de connexion (login) ;
- un mot de passe ;
- un identifiant numrique unique (UID) ;
- un groupe primaire (GID) ;
- un commentaire (appel gecos);
- le rpertoire principal de l'utilisateur (home directory) ;
- un interprteur de commandes (shell) par dfaut.
Un utilisateur est identifi par le systme par son UID. L'utilisateur root a pour UID 0.
C'est cette caractristique qui lui confre un accs complet au systme.
L'ensemble de ces lments est stock dans le fichier /etc/passwd au format texte. Les
champs sont spars par le caractre : . Par exemple :
jo:x:500:500:Jo Dalton:/home/jo:/bin/bash

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 18

Groupes Unix
Les attributs qui caractrisent un groupe Unix sont :
- un nom ;
- un mot de passe (jamais utilis) ;
- un identifiant numrique unique (GID) ;
- une liste d'utilisateurs membres.
La liste des utilisateurs peut tre vide ou contenir un plusieurs nom d'utilisateurs spars
par un caractre , .
L'ensemble de ces lments est stock dans le fichier /etc/group au format texte. Les
champs sont spars par le caractre : . Par exemple :
daltons:x:100:jo,jack,william,averell

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 19

Relations utilisateurs/groupes
La commande id permet de lister les informations
(UID, GID, groupes) relatives aux utilisateurs.

redondant

$ id jo
uid=500(jo) gid=500(jo) groupes=500(jo),499(daltons)

(Voir galement la
commande groups.)

groupes
nom

GID

membres

root

root

bin

root,bin,daemon

...

...

...

daltons

499

jo,jack,william,averell

jo

500

jack

501

william

502

averell

503

utilisateurs
login

UID

GID

root

bin

...

...

...

jo

500

500

jack

501

501

william

502

502

averell

503

503

a pour membres
a comme groupe primaire
(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 20

Conventions
En gnral, la liste des utilisateurs est segmente ainsi :
- l'utilisateur dont l'UID est 0 est le root ;
- les utilisateurs dont l'UID est infrieur une certaine valeur sont des utilisateurs
systmes ;
- les utilisateurs dont l'UID est compris entre cette valeur et 65533 sont des
utilisateurs rels, cette plage peut quelquefois tre elle-mme subdivise (par
exemple lors de l'utilisation de NIS ou Winbind) ;
- l'utilisateur dont l'UID est 65534 est nobody ou nfsnobody (pour les
systmes qui supportent les UID sur 32 bits, afin de conserver une compatibilit
avec les anciens serveurs NFS).
Souvent, chaque utilisateur correspond un groupe :
- dont le GID est identique l'UID de l'utilisateur ;
- dont le nom est le mme que celui de l'utilisateur ;
- qui est le groupe primaire de l'utilisateur.
Le support des utilisateurs cods sur 32 bits commence arriver dans les distributions
rcentes afin de porter le nombre d'utilisateurs possibles de 65535 plus de 4 millions.

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 21

Mots de passe cachs


l'origine d'Unix, les mots de passe taient stocks dans le fichier /etc/passwd
(deuxime champs) crypts avec l'algorithme traditionnel crypt.
Comme ce fichier doit tre accessible en lecture pour tout les utilisateurs, le stockage des
mots de passe t dplac vers le fichier /etc/shadow dont l'accs en lecture est
restreint (technique dite des shadow passwords ). De plus, l'algorithme d'encodage
MD5 est de plus en plus utilis.
Par ailleurs des champs supplmentaires ont t ajouts ce fichier afin de permettre la
gestion de l'expiration des mots de passe.
jo:c8NuTn3ScFJfA:12460:0:99999:7:::

Le champs du fichier /etc/passwd destin contenir le mot de passe, est gnralement


positionn la valeur x .

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 22

Gestion des utilisateurs et groupes


Crer un utilisateur consiste raliser plusieurs tapes :
- crer l'utilisateur et ventuellement son groupe primaire dans les fichiers passwd,
shadow et group ;
- crer le rpertoire principal de cet utilisateur (gnralement dans /home) et lui
affecter les bons droits d'accs ;
- associer des quotas l'utilisateur si ncessaire ;
- copier un certain nombre de fichiers standards depuis le rpertoire /etc/skel vers
le rpertoire principal de l'utilisateur et leur affecter les bonnes permissions.
Ces oprations peuvent tre ralises :
- la main (avec vi, mkdir, cp, chown, chfn, chsh, etc.), peu recommand ;
- en ligne de commande avec principalement l'outil adduser ;
- l'aide d'outils graphiques tels que Webmin ou le gestionnaires d'utilisateurs de
RedHat.
Le principe reste le mme pour la modification et la suppression des utilisateurs ou la
gestion des groupes d'utilisateurs.

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 23

Le planificateur de tches cron


Le planificateur de tche cron permet chaque utilisateur de configurer l'excution
priodique de commandes via l'utilisation de la commande crontab.
L'utilisateur root dispose galement de cette possibilit. Cependant, pour installer
l'excution priodique de tches relatives la gestion du systme, on prfrera l'utilisation
des rpertoires suivants :
- /etc/cron.hourly
pour une excution toutes les heures ;
- /etc/cron.daily
pour une excution tous les jours ;
- /etc/cron.weekly
pour une excution hebdomadaire ;
- /etc/cron.monthly pour une excution mensuelle ;
- et /etc/cron.d
qui permet d'affiner plus prcisment la planification.
L'utilisation des quatre premiers rpertoires est simple : il suffit d'y copier un fichier
excutable (ou de crer un lien) afin d'en activer l'excution priodique.

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 24

Le planificateur de tches cron


L'utilisation du rpertoire /etc/cron.d est plus particulire. Les fichiers contenus dans
ce rpertoires sont des fichiers texte qui adoptent un format quasi-identique celui des
fichiers manipuls par la commande crontab.
La seule information ajoute est l'utilisateur qui sera utilis pour excuter la commande.
Par exemple :
MAILTO=root
#mn hr day month dow user
command
0
4 *
*
*
postgres /usr/lib/postgresql/bin/do.maintenance -a

Le fichier /etc/crontab contrle les jours et heures d'excution des commandes


prsentes dans les rpertoires /etc/cron.* (except /etc/cron.d).
Les planifications cres par les utilisateurs sont stockes raison d'un fichier pour
chaque utilisateur dans le rpertoire /var/spool/cron.

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 25

Collecte des journaux de messages (logs)


Le mcanisme Unix traditionnel pour la collecte des messages gnrs par le systme ou
les applications est Syslog.
syslogd et klogd sont les programmes (dmons) utiliss pour cela. syslogd se charge
de la collecte et rpartition des messages, klogd n'a pour tche que de passer les
messages du noyau syslogd.

Il est possible de rediriger ces messages selon leur origine et/ou leur niveau vers des
fichiers, la console, etc. voire vers le Syslog d'une autre machine.
Le fichier de configuration de syslogd est /etc/syslog.conf.
Par dfaut, la quasi totalit des messages sont dirigs vers un ensemble de fichier situs
dans le rpertoire /var/log.

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 26

syslog.conf
Une ligne du fichier /etc/syslog.conf est de la forme :
facility.priority[,facility.priority,...]

action

Les sources des messages sont appeles facilits . En voici la liste :


auth
message concernant la scurit ou l'authentification
authpriv
comme auth mais susceptible de contenir des informations prives
cron
messages gnrs par les planificateurs de tches cron ou at
daemon
un des dmons du systme sans classification particulire
kern
messages du noyau
lpr
messages du sous-systme d'impression
mail
messages du sous-systme de messagerie
mark
marqueurs de temps gnrs par Syslog
news
messages du sous-systme de gestion USENET
syslog
messages internes de Syslog
user
messages utilisateur gnriques
uucp
messages du sous-systme UUCP
local0 local7 facilits utilises la discrtion de l'administrateur local

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 27

syslog.conf
Les niveaux de priorits (par ordre de gravit) sont :
debug
info
notice
warning
err
crit
alert
emerg

messages destins au dbuggage


informations
normal mais significatif
avertissement
conditions d'erreur
conditions critiques
action grer immdiatement
systme inutilisable

Une priorit reprsente galement toutes les priorits qui lui sont suprieures except si
elle est prcde du signe = (dans ce cas, elle ne reprsente qu'elle-mme).
La priorit none indique de ne pas tenir compte du message pour la facilit concerne
tandis que * reprsente tous les niveaux.
Le caractre ! utilis devant la priorit indique de ne pas en tenir compte.

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 28

Exemple comment de syslog.conf


# Tous les messages du noyau sont envoys sur la console.
kern.*
/dev/console
# Les messages dont le niveau n'est pas debug et qui ne concernent pas
# les facilits mail, authpriv et cron sont collects dans un fichier.
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# Tous les messages ayant le niveau debug uniquement (except ceux avec
# la facilit authpriv) sont envoys dans un fichier spcifique.
*.=debug;authpriv.none
/var/log/debug
# Informations sensibles relatives la scurit.
authpriv.*
/var/log/secure
# Messages du sous-systme de messagerie.
mail.info
/var/log/maillog
# Messages du planificateur de tches.
cron.*

/var/log/cron

# Tous les utilisateurs connects reoivent les messages d'urgence.


*.emerg
*
# Tous les messages sont envoys vers le Syslog d'une autre machine.
*.*
@supervision

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 29

Archive des journaux logrotate


L'outil logrotate est utilis pour effectuer des rotations automatiques et rgulires (via
le planificateur cron) des journaux produits par Syslog ou d'autres applications.
Le fichier de configuration est /etc/logrotate.conf. Chaque sous-systme peut
rajouter son propre fichier de configuration dans le rpertoire /etc/logrotate.d.
Voici une illustration du travail que ralise logrotate sur une base de 3 rotations :
semaine 1

messages

semaine 2

messages

messages.1

(actif)

(semaine 1)

semaine 3

messages

messages.1

messages.2

(actif)

(semaine 2)

(semaine 1)

semaine 4

messages

messages.1

messages.2

messages.3

(actif)

(semaine 3)

(semaine 2)

(semaine 1)

semaine 5

messages

messages.1

messages.2

messages.3

(actif)

(semaine 4)

(semaine 3)

(semaine 2)

(actif)

(semaine 1)
(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 30

Dmarrage du systme
Juste aprs avoir dmarr, initialis le matriel et mont la
partition racine en lecture seule, le noyau dmarre le
processus /sbin/init.
init est l'anctre de tous les autres processus du systme
(cela est visible avec la commande pstree).

Les programmes excuts par init au dmarrage sont


dcrits dans le fichier /etc/inittab. Ils sont fonctions du
runlevel par dfaut.
Le fichier /etc/inittab dcrit galement les actions
entreprendre lorsque certains vnements surgissent :
- perte de tension sur l'onduleur ;
- retour de tension sur l'onduleur ;
- squence de touches Ctrl-Alt-Del .

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 31

BIOS

MBR

Bootloader

Noyau

init[1]

processus
processus
processus
processus
processus

Runlevels
Un runlevel dcrit un tat du systme. Il existe sept runlevels distincts.
Caque runlevel correspond une utilisation du systme :
0
1
2
3
4
5
6

arrt du systme
mode de maintenance (single user mode, s ou S peuvent tre utiliss)
mode normal sans NFS
mode normal
inutilis
mode normal avec X Window (dfaut si un environnement Gnome ou KDE
est install)
redmarrage du systme

Les runlevels 0, 1 et 6 sont toujours utiliss tels que dcrits ci-dessus.


L'usage des autres runlevels peut varier en fonction de la distribution de Linux.

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 32

Dmarrage le processus complet


dmarrage
d'init

Le caractre X
fait rfrence au
runlevel cible.

rcupration du runlevel
pass en paramtre au noyau
ou, dfaut, de celui
marqu initdefault
excution du script
/etc/rc.d/rc.sysinit
(marqu sysinit)

excution du script
/etc/rc.d/rc

avec le paramtre X
arrt des
programmes
marqus respawn

lancement des programmes


marqus respawn (en gnral
des getty ou le serveur X)
attente :
- arrt de l'un des programmes
marqus respawn
- demande de changement
de runlevel

- configure des paramtres du noyau


- charge la table des caractre cran et clavier
- configure les priphriques USB
- test et montage des systmes de fichiers
- dmarre les sous-systme quotas, LVM, etc.
- effectue quelques nettoyages
- active la mmoire virtuelle

excution des scripts


/etc/rc.d/rcX.d/K??*
avec le paramtre stop

excution des scripts


/etc/rc.d/rcX.d/S??*
avec le paramtre start

redmarrage
du programme

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 33

arrt des
dmons

dmarrage
des dmons

arrt du
systme

Changer de runlevel
Un runlevel prcis peut tre atteint :
- en le passant comme paramtre au noyau dans la configuration du chargeur de
dmarrage ou en modifiant de manire temporaire les paramtres de dmarrage du
noyau ;
- en utilisant les commandes init ou telinit lorsque le systme est dmarr, il est
ainsi possible de passer d'un runlevel l'autre sans arrter le systme ;
- en le configurant comme runlevel par dfaut (pour le prochain dmarrage du
systme) dans le fichier /etc/inittab, la ligne initdefault ;
- en utilisant la commandes shutdown qui envoie un signal init.
Avec le chargeur de dmarrage GRUB (GRand Unified Bootloader), les paramtres de
dmarrage par dfaut du noyau sont situs dans le fichier /boot/grub/grub.conf
(lignes kernel).
Une interface rudimentaire permettant de modifier de manire temporaire les paramtres
du noyau est disponible lors de la phase de dmarrage de GRUB en appuyant sur la
touche e .

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 34

Activer/dsactiver des services au dmarrage


Les services activs dans un runlevel sont ceux pour lesquels il existe un lien
/etc/rc.d/rcX.d/SNNservice vers /etc/rc.d/init.d/service o :
- X est le runlevel cible ;
- NN est un numro qui sert dterminer l'ordre de dmarrage des services ;
- service est le nom d'un script dans le rpertoire /etc/rc.d/init.d qui, utilis
avec les paramtres start ou stop sait comment arrter ou dmarrer le
service.
Le principe est le mme pour l'arrt des services avec des liens dont le nom est :
/etc/rc.d/rcX.d/KNNservice.
Ces liens peuvent tre grs:
- la main (commandes ln -s et rm) ;
- avec l'utilitaire en ligne de commande chkconfig (ou update-rc.d pour Debian)
;
- avec le programme console ntsysv ;
- avec une interface graphique telle que Webmin ou l'outil de gestion des services de
RedHat.
(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 35

Arrter/dmarrer des services


La commande service est utilise pour arrter ou dmarrer les services.
Elle s'utilise ainsi :
# service nom action

O nom est le nom d'un service (tel que prsent dans le rpertoire /etc/init.d) et
action le type d'action entreprendre :
- stop arrte le service ;
- start dmarre le service ;
- reload demande au service de relire sa configuration ;
- status affiche l'tat du service.
On peut galement utiliser cette syntaxe :
# /etc/init.d/nom action

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 36

Les systmes de fichiers


Un systme de fichiers est une collection organises de rpertoires et fichiers selon un
format donn. Linux reconnat en lecture et en criture plusieurs dizaines de format de
systmes de fichiers.
Selon le type de systme de fichiers, le support servant la persistance des donnes peu
prendre l'une des formes suivantes (les exemples donns entre parenthses ne sont pas
exhaustifs) :
- partition sur un priphrique gr par un contrleur de disque local (disque,
contrleur RAID matriel) ;
- priphrique amovible (disquette, CD-ROM) ;
- ressource mise disposition sur le rseau (tel que serveurs NFS ou SMB) ;
- mmoire vive (utilise par le systme de fichiers tmpfs) ;
- espace virtuel (ce qui est le cas de systmes de fichiers tels que proc, sysfs, usbdevfs
ou devpts) ;
- priphrique de type bloc mul (par exemple fournis par ramdisk, loop, NBD,
LVM, RAID logiciel).

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 37

Crer un systme de fichiers


Le systme de fichiers le plus utilis est ext3. Pour crer un nouveau systme de fichiers
et l'attacher de manire permanente l'arborescence, il est ncessaire de :
1) configurer un priphrique de type bloc ;
2) crer le systme de fichiers avec la commande mkfs ;
3) choisir un point de montage dans l'arborescence ;
4) attacher le systme de fichiers au point de montage avec la commande mount ;
5) ajouter une ligne au fichier /etc/fstab afin que le systme de fichiers soit
attach au point de montage chaque dmarrage du systme.
Les actions mener pour raliser la premire tape dpendent du type de support utilis
pour recevoir le systme de fichiers. La plupart du temps il s'agit d'une partition sur un
disque local qui sera cre avec la commande fdisk.
Les partitions Linux ont un identifiant systme 0x83. C'est l'identifiant qui est positionn
par dfaut lorsqu'une partition est cre avec la commande fdisk de Linux.

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 38

Crer un systme de fichiers


Exemple de cration d'une partition (hda9) et d'un systme de fichiers :
# fdisk /dev/hda
[ Utiliser la commande "p" pour afficher la table des partitions, "n"
pour crer une partition et "w" pour crire les modifications
sur le disque. Un redmarrage peut s'avrer ncessaire. ]
# mkfs -t ext3 /dev/hda9
.../...

# mount -t ext3 /dev/hda9 /opt


# echo /dev/hda9 /opt ext3 defaults 1 2 >> /etc/fstab

Exemple de cration d'un systme de fichiers dans un fichier image :


# dd if=/dev/zero of=/var/local/myfs bs=1024 count=102400
.../...

# mkfs -t ext3 /var/local/myfs


[ Une confirmation est demande car "/var/local/myfs" n'est pas un
fichier spcial de type bloc. ]
.../...

# mkdir /mnt/tmp
# mount -o loop -t ext3 /var/local/myfs /mnt/tmp
# echo /dev/hda9 /opt ext3 loop 1 2 >> /etc/fstab

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 39

Rparer un systme de fichiers


La commande fsck permet de vrifier l'intgrit d'un systme de fichiers et, le cas
chant, d'effectuer une tentative de rparation. Le systme de fichier ne doit pas tre
monter. Pour cette raison ces tests sont souvent effectus en runlevel 1 (single) :
#
#
#
#
#

init 1
umount /usr
fsck -t ext3 -f /dev/hda7
mount /usr
init 5

Un autre moyen consiste forcer la vrification de l'intgrit de tous les systmes de


fichiers locaux au dmarrage du systme. Pour cela, il suffit de crer un fichier vide
nomm forcefsck dans la racine de l'arborescence :
# touch /forcefsck
# init 6

Les blocs de donnes orphelins retrouvs lors de la rparation de systmes de fichiers


ext2 ou ext3 sont placs dans les rpertoire lost+found prsents dans la racine de
chaque systme de fichiers ext2 ou ext3.

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 40

Monter un systme de fichiers rseau


Exemple d'un partage de fichiers Windows nomm archives sur un serveur
serveur d'un domaine WG avec l'utilisateur utilisateur et le mot de passe
mot_de_passe . Ce partage est attach au point de montage /mnt/archives :
#
#
#
#
[

mkdir /mnt/archives
touch /etc/passwd.smb
chmod 600 /etc/passwd.smb
vi /etc/passwd.smb
Ajouter les lignes suivantes au fichier :
username = utilisateur
password = mot_de_passe
Puis enregistrer. ]
# mount -t smb -o workgroup=WG,credentials=/etc/passwd.smb
//serveur/archives /mnt/archives
# echo //serveur/archives /mnt/archives smb
workgroup=WG,credentials=/etc/passwd.smb 0 0 >> /etc/fstab

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 41

\
\

Grer la mmoire virtuelle


Linux sait utiliser deux types de support pour grer la mmoire virtuelle :
- des partitions ;
- des fichiers.
Les fichiers de mmoire virtuelle sont moins performants.
En gnral une partition est utilise. Si le systme contient deux disques ou plus, crer
une partition ddie la mmoire virtuelle sur chacun d'entre eux peut amliorer les
performances.
Ces partitions doivent avoir un identifiant systme 0x82, il est ncessaire d'utiliser la
commande t de l'outil fdisk de Linux pour modifier l'identifiant d'une nouvelle
partition.

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 42

Crer un espace de mmoire virtuelle


Pour configurer un nouvel espace de mmoire virtuelle et l'activer de manire
permanente, il est ncessaire de :
1) crer une partition ou un fichier vide ;
2) crer une signature de mmoire virtuelle avec la commande mkswap ;
3) utiliser la commande swapon pour activer l'espace de mmoire virtuelle ;
5) ajouter une ligne au fichier /etc/fstab afin que l'espace de mmoire virtuelle
soit active chaque dmarrage du systme.
Voici un exemple pour ajouter un fichier de 100 Mo la mmoire virtuelle :
# dd if=/dev/zero of=/swapfile bs=1024 count=102400
.../...

# mkswap /swapfile
Initialisation de la version de l'espace de swap 1, taille = 104853 kB
# swapon /swapfile
# echo /swapfile swap swap defaults 0 0 >> /etc/fstab
# swapon -s
Filename
Type
Size
Used
Priority
/dev/hda3
partition
524152 0
-1
/swapfile
file
102392 0
-2

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 43

Archives
tar (pour Tape ARchiver) est une commande Unix qui permet de grer des archives

d'ensemble de fichiers et/ou de rpertoires. Son utilisation premire tait la manipulation


de ces archives sur une cassette.
La commande tar est dsormais trs utilise pour crer des fichiers d'archives vhiculs
ensuite sur le rseau (comme une archive zip).
L'option c de tar est utilise pour crer une archive. L'option f permet de spcifier
la destination (fichier ou priphrique). Les exemples suivants crent tous deux une
archive du rpertoire /home, l'une dans un fichier, l'autre sur un lecteur de bande SCSI
(DAT, DLT, etc.) :
# cd /; tar cf /mnt/backups/backup-home.tar home
# cd /; tar cf /dev/st0 home

Certaines versions de tar enregistrent le chemin absolu des fichiers archivs si celui-ci
est indiqu. Attention lors de la restauration ! En gnral, on considre qu'il est sage
d'archiver un rpertoire en prcisant son nom depuis son parent (chemin relatif).

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 44

Archives
La commande tar ne compresse pas les donnes. Il faut pour cela utiliser la commande
compress :
# cd /; tar cf /mnt/backups/backup-home.tar home
# compress /mnt/backups/backup-home.tar

La commande compress remplace les fichiers donns sur sa ligne de commande par des
versions compresses de ceux-ci. L'extension .Z est ajoute leur nom.
Une autre manire de faire consiste utiliser un tube :
# cd /; tar cf - home | compress > /mnt/backups/backup-home.tar.Z
(Le caractre - reprsente ici la sortie standard.)

Enfin, si la version de tar utilise est celle du projet GNU, l'option Z permet de
simplifier la ligne de commande :
# cd /; tar cZf /mnt/backups/backup-home.tar.gz home

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 45

compress, gzip et bzip2


La commande compress est ancienne et gnralement utilise par soucis de
comptabilit. D'autres outils de compression tendent se gnraliser.
Le tableau suivant rcapitule les caractristiques des trois outils de compression les plus
rpandus dans le monde Unix :
commande
compression
compress
gzip
bzip2

commande
dcompression
uncompress
gunzip
bunzip2

efficacit

vitesse

moyenne
bonne
excellente

moyenne
moyenne
lente

extension
gnre
.Z
.gz
.bz2

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 46

option
GNU tar
Z
z
j

Archives
L'option t de la commande tar permet de lister le contenu d'une archive. L'option
v permet d'accrotre le niveau de dtails affichs.
Par exemple :
# tar tvzf /mnt/backups/backup-home.tar.gz
.../...

Enfin, l'option x permet d'extraire le contenu d'une archive. Sans autre prcision, le
contenu de l'archive est restaur dans le rpertoire courant si un chemin relatif a t utilis
lors de la cration de l'archive ou dans le rpertoire original si c'est un chemin absolu qui
a t utilis.
Par exemple :
# mkdir /home/tmp-restauration
# cd /home/tmp-restauration
# tar xzf /mnt/backups/backup-home.tar.gz

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 47

Modules du noyau
Certaines fonctionnalits du noyau Linux peuvent tre compiles indpendamment de
celui-ci. Elles sont compiles sous forme de module. L'utilisation des modules tend se
gnraliser.
Avantages :
- rduction de la taille du noyau ;
- configuration dynamique du matriel ;
- possibilit d'ajout de certaines fonctionnalits sans recompiler le noyau ;
- des pilotes de priphriques peuvent tre livrs sous forme de binaires.
Inconvnients :
- complexit accrue.
Les modules se prsentent sous forme de fichiers binaires et sont installs dans le
rpertoire /lib/modules/version_du_noyau.

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 48

Modules du noyau
Un ensemble de commandes permettent de manipuler les modules. Pour afficher la liste
de ceux qui sont actuellement chargs par le noyau :
# lsmod
Module
parport_pc
lp
parport
autofs4
sunrpc
8139too

Size
19392
8236
29640
10624
101064
17792

Used by
1
0
2 parport_pc,lp
0
1
0

.../...

Supprimer un module charg :


# rmmod module

Charger un module :
# insmod /chemin/module.o [symbole=valeur ...]

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 49

Modules du noyau
Un module peut dpendre d'un ou plusieurs autres modules. Afin de charger un module et
tous ceux qui lui sont ncessaires, on utilise la commande modprobe la place de
insmod. Un autre intrt de modprobe est qu'il n'est pas ncessaire de lui donner le
chemin complet d'accs au fichier du module.
Afin d'viter de spcifier chaque fois les paramtres des modules, ceux-ci sont stocks
dans le fichier /etc/modules.conf (ou /etc/modprobe.conf pour les noyaux 2.6).
Si une fonctionnalit lui manque, le noyau Linux va essayer de combler cette lacune en
recherchant un module adquat. Il utilisera pour cela le contenu des fichiers
modules.conf ou modprobe.conf.
Par exemple, une ligne de ce fichier est gnralement destine configurer la carte rseau
:
alias eth0 eepro100

Ainsi, si aucune carte rseau n'est reconnue par le noyau, la commande :


# ifconfig eth0 192.168.2.1

va provoquer la recherche d'un module eth0 qui est un alias vers le nom du module
rellement utilis (eepro100.o).
(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 50

Interfaces
L'lment de base de la configuration de rseau Linux est l'interface.
Un systme Linux en possde gnralement plusieurs.
Elles sont nommes en fonction de leur type et numrotes dans l'ordre
d'activation des pilotes de priphriques et selon leur position sur le bus physique
de donnes.
Les types d'interfaces les plus reprsents sont :
- lo
interface dite de loopback ;
- ethn interfaces Ethernet ;
- pppn liens PPP.
L'interface lo est toujours associe l'adresse IP 127.0.0.1, la procdure
d'installation du systme se charge de raliser cette association.
Les interfaces de type Ethernet sont configures galement par la procdure
d'installation si elles ont t dtectes.

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 51

Interfaces
Les pilotes de priphriques sont trs souvent disponibles sous forme de modules
du noyau. Ces modules peuvent tre activs de deux manires diffrentes :
- le noyau charge le module de manire automatique lorsqu'une commande
ifconfig fait rfrence une interface qui n'est pas connue, un alias
doit
exister dans le fichier /etc/modules.conf :
alias eth0 3c59x

- un script charge explicitement le module lors du dmarrage du systme.


Si la procdure d'installation du systme dtecte une carte rseau, elle configure
un alias automatiquement.
Les paramtres sont spcifis dans le fichier modules.conf de cette manire :
alias eth0 ne
options ne io=0x220 irq=11
alias eth1 e1000
options e1000 Speed=1000 RxDescriptors=128

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 52

La commande ifconfig
La commande ifconfig est utilise pour activer et configurer les interfaces.
L'option -a permet d'afficher la liste dtaille des interfaces rseau du systme :
# ifconfig -a
eth0
Lien encap:Ethernet HWaddr 00:20:ED:36:3C:EE
inet adr:192.168.200.200 Bcast:192.168.200.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:15356 errors:0 dropped:0 overruns:0 frame:0
TX packets:12392 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:100
RX bytes:1745320 (1.6 Mb) TX bytes:4365502 (4.1 Mb)
Interruption:10 Adresse de base:0x5f00
lo

Lien encap:Boucle locale


inet adr:127.0.0.1 Masque:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:929804 errors:0 dropped:0 overruns:0 frame:0
TX packets:929804 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:65622189 (62.5 Mb) TX bytes:65622189 (62.5 Mb)

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 53

La commande ifconfig
Les interfaces sont actives ou dsactives comme ceci :
# ifconfig eth0 up
# ifconfig eth0 down

Enfin, l'association d'une configuration IP une interface se ralise ainsi :


# ifconfig eth1 192.168.200.1 netmask 255.255.255.0
broadcast 192.168.200.255

Les paramtres netmask et broadcast sont optionnels.


S'ils ne sont pas fournis, la valeur du premier est dduite partir de la classe du
rseau configur (A, B ou C), le second prend la plus grande valeur dans l'espace
d'adresses IP dfini par l'adresse de l'interface et le masque de rseau.
Pour configurer plusieurs adresses IP sur une seule interface physique, il suffit de
crer des alias en utilisant la notation ethn:a avec la commande ifconfig.
Par exemple :
# ifconfig eth0:0 192.168.201.10

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 54

Les fichiers standards


Il existe un ensemble de fichiers standards qui dcrivent la configuration de la
couche IP du systme :
/etc/protocols protocoles IP ;
/etc/services
services TCP et UDP ;
/etc/rpc
services RPC (portmap) ;
/etc/hosts
noms statiques des systmes ;
/etc/networks
noms statiques des rseaux.
Ces fichiers agissent comme des bases de donnes. Les trois premiers sont
rarement modifis, leur contenu est normalis dans sa grande majorit.
Les deux derniers sont peu utiliss sur les rseaux qui oprent un serveur de noms
(DNS).

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 55

Fichiers de configuration des interfaces Redhat


Les fichiers de configuration des interfaces rseau des distributions Redhat et
assimiles (Fedora, CentOS, RHEL, etc.) forment un ensemble assez complexe.
Le fichier suivant contient les paramtres gnraux :
/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=jo.luke.net
GATEWAY=192.168.200.1

Pour la configuration de l'interface iface du profile profile, les fichiers


suivants sont recherchs, le premier trouv est pris en compte :
/etc/sysconfig/networking/profiles/profile/ifcfg-iface
/etc/sysconfig/networking/default/ifcfg-iface
/etc/sysconfig/network-scripts/ifcfg-iface
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.200.255
IPADDR=192.168.200.200
NETMASK=255.255.255.0
NETWORK=192.168.200.0
ONBOOT=yes

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 56

Fichiers de configuration des interfaces Redhat


Seul le fichier /etc/sysconfig/network-scripts/ifcfg-eth0 est cr
durant la procdure d'installation du systme.
Les fichier dans l'arborescence /etc/sysconfig/networking ne sont crs
que lorsque l'utilitaire redhat-config-network a t utilis.
Le format de ces fichiers (et de tous ceux qui se trouvent dans le rpertoire
/etc/sysconfig) est dtaill dans ce document :
/usr/share/doc/initscripts-7.14/sysconfig.txt

(Le numro de version du paquetage initscripts peut diffrer d'un systme


l'autre.)

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 57

Fichiers de configuration des interfaces Redhat


Voici des copies d'cran du mode graphique et du mode texte du programme
redhat-config-network :

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 58

Fichiers de configuration des interfaces Debian


Cot Debian, les choses sont plus simples.
Le fichier suivant contient les paramtres gnraux :
/etc/network/options
ip_forward=no
spoofprotect=yes
syncookies=no

Et celui-ci contient la configuration de toutes les interfaces :


/etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.200.1
netmask 255.255.255.0
gateway 192.168.200.254

Le format de ce fichier est document dans la page de manuel interfaces(5).

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 59

Les commandes ifup et ifdown


Pour Redhat comme pour Debian :
- la commande ifup active ou ractualise la configuration d'une interface
rseau ;
- la commande ifdown dsactive une interface rseau.
Elles s'utilisent ainsi :
# ifup eth0
# ifdown eth0

Dans le cas de Debian, l'option -a permet de configurer toutes les interfaces


rseau dfinies dans le fichier /etc/network/interfaces avec la directive
auto.

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 60

Routes statiques
La gestion des routes se fait avec la commande route.
Pour afficher la table de routage statique, il est possible d'utiliser l'une de ces deux
commandes :
# route
Table de routage IP du noyau
Destination
Passerelle
192.168.200.0 *
default
lucky.luke.net
# netstat -r
Table de routage IP du noyau
Destination
Passerelle
192.168.200.0 *
default
lucky.luke.net

Genmask
255.255.255.0
0.0.0.0

Indic Metric Ref


U
0
0
UG
0
0

Use Iface
0 eth0
0 eth0

Genmask
255.255.255.0
0.0.0.0

Indic MSS Fentre irtt Iface


U
0 0
0 eth0
UG
0 0
0 eth0

Les adresses IP ne seront pas rsolues si l'option -n (commune aux deux


commandes) est utilise.

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 61

Routes statiques
Trois cas sont considrer pour l'ajout de route :
- ajout d'une route vers une machine isole :
# route add -host 10.20.30.1 gw 192.168.200.2

- ajout d'une route vers un rseau :


# route add -net 10.20.30.0 netmask 255.255.0.0 dev eth0

- ajout de la route par dfaut :


# route add default gw gw.reseau.fr

La cible d'une route peut tre une passerelle (gw) ou une interface (dev).
Dans le premier cas, l'adresse IP ou le nom de la passerelle peuvent tre utiliss.
Voici comment supprimer une route :
# route del -net 10.20.30.0 netmask 255.255.0.0

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 62

Fichiers de configuration des routes Redhat


Lorsque le programme redhat-config-network est utilise, les routes
statiques sont crites dans le fichier :
/etc/sysconfig/networking/devices/eth0.route
GATEWAY0=192.168.200.50
NETMASK0=255.255.255.0
ADDRESS0=192.168.201.0
GATEWAY1=192.168.200.201
NETMASK1=255.255.255.255
ADDRESS1=192.168.202.1

Dans le cas contraire, il faut utiliser le fichier :


/etc/sysconfig/network-scripts/route-eth0
192.168.201.0/24 via 192.168.200.50
192.168.202.1/32 dev eth0

Attention, le format de ces fichiers diffre, les deux exemples prsents


ci-dessus sont quivalents. (Le format utilis dans le second cas est celui de la
commande ip route .)

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 63

Fichiers de configuration des routes Debian


Sous Debian les routes statiques doivent tre configures la main dans le
fichier /etc/network/interfaces :
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.200.1
netmask 255.255.255.0
gateway 192.168.200.254
up route add -net 192.168.201.0 netmask 255.255.255.0 gw 192.168.200.50
up route add -host 192.168.202.1 dev eth0
down route del -net 192.168.201.0 netmask 255.255.255.0
down route del -host 192.168.202.1

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 64

Rsolution des noms


La rsolution des noms est ralise via diffrents mcanismes qui sont lists dans
les fichiers suivants :
/etc/host.conf
order hosts,bind
/etc/nsswitch.conf
passwd:
files
shadow:
files
group:
files
hosts:
files dns
bootparams: nisplus [NOTFOUND=return] files
ethers:
files
netmasks:
files
networks:
files
protocols: files
rpc:
files
services:
files
netgroup:
files
publickey: nisplus
automount: files
aliases:
files nisplus

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 65

Rsolution des noms


Le fichier de configuration pour la rsolution des noms via DNS utilise le fichier
/etc/resolv.conf :
search luke.net
nameserver 192.168.200.1
nameserver 192.168.200.10

Le paramtre search indique les domaines qui seront utiliss comme suffixes de
recherche. Chacun des paramtres nameserver spcifie un serveur de noms
DNS.
Le fichier /etc/hosts contient des dfinitions de noms statiques :
127.0.0.1
192.168.200.201
192.168.200.1

localhost.localdomain
jack.luke.net jack
gw

localhost

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 66

Les super-serveurs inetd et xinetd


Le super-dmon inetd coute un certain nombre de ports TCP ou UDP. Lorqu'une
connexion est active sur l'un de ces ports, il excute une application.
Cela vite d'avoir un nombre important de dmons, mais le temps de rponse est
plus long. C'est pourquoi les dmons servants les services trs utiliss (HTTP,
SMTP, DNS, etc.) sont excuts au dmarrage du systme, les autres sont activs
par inetd.
Le fichier de configuration d'inetd est /etc/inetd.conf.
Le dmon xinetd est de plus en plus utilis la place d'inetd, il utilise le fichier de
configuration /etc/xinetd.conf et le rpertoire /etc/xinetd.d.
Cependant, d'une manire gnrale, ces dmons sont de moins en moins employs
car beaucoup de services qu'ils prenaient en charge sont abandonns (finger, talk,
etc.) ou excuts sous forme de dmons sur des systmes spcialiss (POP, SMTP,
HTTP, whois, etc.).

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 67

Relais de messagerie minimal Postfix


Les systmes Unix communiquent beaucoup par le biais de la messagerie
lectronique. Par exemple, le rsultat des commandes excutes par cron
parviennent aux utilisateurs par ce canal.
Il est donc ncessaire de raliser une configuration minimale du MTA.
Nous nous limiterons ici la configuration d'un relais simple (qu'on appelle
gnralement smart host ).
Dans le cas de Postfix, il suffit de positionner le paramtre relayhost du fichier
/etc/postfix/main.cf la valeur adquate :
relayhost=[smtp-gw.domaine.fr]

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 68

Relais de messagerie minimal Sendmail


Dans le cas de Sendmail, deux cas peuvent se prsenter :
- la configuration est gre par m4 (fichier /etc/mail/sendmail.mc) ;
- le fichier /etc/mail/sendmail.cf est utilis directement.
Dans le premier cas, il faut :
1) dfinir la variable SMART_HOST du fichier /etc/mail/sendmail.mc :
define(`SMART_HOST',`[smtp-gw.domaine.fr]')

2) rgnrer le fichier sendmail.cf partir de sendmail.mc :


# make -C /etc/mail

(Attention au sens des apostrophes !)


Dans le second cas, rechercher la ligne du fichier /etc/mail/sendmail.cf qui
commence exactement par les deux caractres !DS! et y ajouter suivre (sans
espaces) la valeur adquate :
# "Smart" relay host (may be null)
DS[smtp-gw.domaine.fr]

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 69

Outils
Les outils suivants peuvent s'avrer utiles lors de la mise au point d'une
configuration rseau sous Linux :
- Tester la connectivit IP :
# ping jo.luke.net

- Lister les ports Unix, TCP et UDP en coute :


# netstat -lp

- Observer la route d'un systme l'autre :


# traceroute jo.luke.net

- Rsoudre des noms de rseau avec DNS :


# host lucky.luke.net
# host -t mx luke.net
# host 192.168.200.1

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 70

Rfrences
Livres
Administration Linux 200% Rob Flickenger, collectif O'Reilly
Le systme Linux Matt Welsh, Matthias Kalle Dalheimer, Terry Dawson et
Lar Kaufman O'Reilly
Les bases de l'administration systme leen Frisch O'Reilly
Administration rseau sous Linux Olaf Kirch et Terry Dawson O'Reilly
Sites Web
Linux France http://www.linux-france.org
Le site de la socit Redhat http://www.redhat.fr
Le site du projet Fedora http://fedora.redhat.com
Autres
Le forum fr.comp.os.linux sur USENET
Linux Magazine , mensuel

(c) 2004, Sbastien Namche (sebastien@nameche.fr) - 71

Vous aimerez peut-être aussi