Vous êtes sur la page 1sur 182

Administration réseaux

GNU Linux

ESGIS
Févier 2011
Gestion des utilisateurs sous GNU/Linux
Gestion des fichiers sous GNU/Linux
Gestion des processus sous GNU/Linux
Démarrage et Arrêt des services ou des démons sous GNU/Linux
Automatisation de tâches sous GNU/Linux
Gestion de l'impression sous GNU/Linux
Gestion de disque sous GNU/Linux
Gestion de périphériques sous GNU/Linux
Le Noyau sous GNU/Linux
Gestion des paquetages sous GNU/Linux
GNU/Linux et le réseau
Le DNS sous GNU/Linux
Gestion des utilisateurs sous
GNU/Linux

Qui est utilisateur ?                                                                 
                                                                                               
Linux est un système multi­utilisateurs. Le système, dès son 
installation, avant même la première connexion au système, 
a créé des users système.                                                        
Un utilisateur n'est donc pas uniquement une personne 
physique, le système a besoin d'utilisateurs pour sa gestion 
interne, notamment comme propriétaire des divers 
processus. Les utilisateurs sont identifiés par le système 
grâce à un UID (identifiant d'utilisateur) unique. Cet 
identifiant est une valeur numérique.
Gestion des utilisateurs sous
GNU/Linux

Créer un compte pour un nouvel utilisateur                                   
                                                                                                       
       Cela signifie lui permettre d'être connu du poste local, s'y 
loguer, avoir un accès complet sur son répertoire personnel. 
Mais aussi dans une configuration réseau, de pouvoir se 
connecter à son compte par telnet, ftp, ssh et de pouvoir 
bénéficier de services réseau de partage distant (sous Linux par 
NFS et sous Windows 9x par SMB). 
Gestion des utilisateurs sous
GNU/Linux

Créer un compte pour un nouvel utilisateur                                   
adduser bob
Ceci crée : 
● le répertoire personnel /home/bob, portant par défaut le 
nom du compte 
● une nouvelle entrée dans les 3 fichiers fondamentaux 
/etc/passwd, /etc/group et /etc/shadow. 
● Pour connaître les options de adduser : man adduser 
Gestion des utilisateurs sous
GNU/Linux

Créer un compte pour un nouvel utilisateur                                   
Syntaxe : useradd [options] nom_login
Exemple : useradd  ­u 1200 ­p moi ­g 520 ­G groupes ­s 
/bin/bash ­m toto
Options                                          

­u uid : pour fixer l'identifiant uid                                                  
­g groupe­primaire                                                                          
­G liste : fixe l'appartenance de l'utilisateur à une liste de groupes 
secondaires (séparateur , sans espace)                                           
­s shell : par défaut, attribution du shell par défaut bash                
­c commentaire

Gestion des utilisateurs sous
GNU/Linux

Créer un compte pour un nouvel utilisateur                                  
­d rep. Personnel: par défaut dans le répertoire /home                  
­e date­expiration: fixe la date d'expiration du compte (format 
MM/JJ/AA) 

Gestion des utilisateurs sous
GNU/Linux

Créer un compte pour un nouvel utilisateur                                   
 Pour définir le mot de passe:                 

useradd ­p password nom_login                    
Le mot de passe doit être crypté. Vous pouvez écrire un 
programme en C pour crypté, ou htpasswd (le package apache 
doit être installé) ou simplement useradd ­m ­p `openssl passwd 
titi` titi (le package openssl soit être installé)

Ou encore passwd nom_login

Gestion des utilisateurs sous
GNU/Linux

Créer un compte pour un nouvel utilisateur                                   
 Pour définir  le repertoire de l'utilisateur:  

 useradd ­m  nom_login                                                   
Permet de créer le repertoire de l'utilisateur dans /home. Il copie 
le contenu du répertoire /etc/skel dans le répertoire de 
l'utilisateur.

Gestion des utilisateurs sous
GNU/Linux

L'environnement initial : /etc/skel 

Lorsque le répertoire d'accueil pour un nouvel utilisateur a été créé, il est 
initialisé avec des fichiers du répertoire /etc/skel.  Dans le répertoire 
/etc/skel, vous trouverez le squelette de tous les nouveaux comptes : tout ce 
qui y est présent sera recopié par défaut dans le répertoire de chaque nouvel 
utilisateur. 

Le contenu du fichier /etc/profile sera exécuté (réglages génériques pour tous 
les utilisateurs). Selon le shell de connexion, d'autres scripts seront utilisés :   
s' il s'agit d'un shell de login, et que le shell est bash, alors ~/.bash_profile ou 
~/.bash_login ou ~/.profile seront lus. A la déconnexion, ~/.bash_logout 
sera exécuté.

S'il s'agit d'une connexion distante, d'un sous­shell, ou d'un xterm, alors 
/etc/bash.bashrc puis ~/.bashrc seront exécutés.
Gestion des utilisateurs sous
GNU/Linux

Pour définir  un repertoire avec un chemin d'accès différent:  
●  useradd ­m ­d /chemin absolu nom_login   
Gestion des utilisateurs sous
GNU/Linux

Modifiez le contenu de /etc/skel. Créer dans ce repertoire un 
repertoire IIR2 et un fichier ESSAI. Créez un nouvel utilisateur  
tedy (adduser tedy). Connectez vous avec tedy, et vérifiez le 
contenu de son repertoire perso.   
Gestion des utilisateurs sous
GNU/Linux

adduser est une commande intreactive mais n'existe que sur 
certains systèmes.   
Gestion des utilisateurs sous
GNU/Linux
● Créer un compte pour un nouvel utilisateur                                  
La commande passwd
Elle est chargée du cryptage du mot de passe dans /etc/shadow
Syntaxe : passwd [option] nom­login
Options 

­­stdin, la commande abandonne son caractère interactif 
habituel et examine son entrée standard pour s'en servir 
comme mot de passe.
Très utile dans un script : echo mot | passwd ­­stdin 
(attention tout caractère est significatif, y compris les " ") 
Gestion des utilisateurs sous
GNU/Linux

Créer un compte pour un nouvel utilisateur                                   
   Les options de la commande passwd

­d , pour supprimer le mot de passe, l'utilisateur pourra se 
connecter sans ! 

­l , pour verrouiller le compte et empêcher sa connexion. 

­u , pour déverrouiller. 
● herve@debian:~$ su toto                                                        
Mot de passe :                                                                          
su : Échec d'authentification                                        
herve@debian:~$ 
Gestion des utilisateurs sous
GNU/Linux

Supprimer le compte d'un utilisateur (non connecté)
userdel [­r] 
L'option ­r supprime aussi le rép. personnel et les fichiers de 
l'utilisateur
La commande supprime toute trace de l'utilisateur dans le fichier de 
configuration : /etc/passwd y compris dans les groupes 
d'utilisateurs. Vous pouvez utiliser deluser ­­remove­home  user

debian:~# deluser ­­remove­home  mimi                                       
Recherche de fichiers à sauvegarder ou à supprimer...                   
Suppression des fichiers...                                                           
Suppression de l'utilisateur « mimi »...                                           
Attention : le groupe « mimi » est désormais vide.                            
Terminé.
Gestion des utilisateurs sous
GNU/Linux

Modifier le compte de l'utilisateur alice
usermod [options] alice
Les options sont les mêmes que useradd 
usermod ­G info,prof alice ajoute alice dans les 2 groupes info et 
profs (qui doivent exister)                                                                   
usermod ­p mot_de_passe_crypté alice modifie le mot de passe de 
l'utilisateur alice                                                                                 
usermod ­p `openssl passwd mot_de_passe_en_clair` alice
Gestion des utilisateurs sous
GNU/Linux

Connaitre l'uid et le gid de l'utilisateur courant

Commande id
● uid=501(alice) gid=501(alice) groups=501(alice), 504(prof)

Pour décrire un utilisateur : chfn
Cette commande permet d'indiquer dans le champ numéro 5 du 
fichier /etc/passwd différentes informations sur un utilisateur, 
son nom complet, son bureau, ses numeros de téléphone 
(séparées par des virgules).

Pour définir le nom complet de l'utilisateur, chfn ­f "Paul 
ZINSOU" pzinsou  ou simplement chfn pzinsou
Gestion des utilisateurs sous
GNU/Linux
● Les groupes                                                                            
Ensemble d'utilisateurs qui partagent les mêmes fichiers et 
répertoires. 

Chaque utilisateur doit faire partie au moins d'un groupe, son 
groupe primaire. Celui­ci est défini au moment de la 
création du compte, et par défaut, l'utilisateur appartient à un 
nouveau groupe créé, portant son nom. Ainsi, dans /etc/passwd 
chaque utilisateur possède un groupe par défaut, précisé par son 
identifiant gid dans ce fichier. 

L'appartenance au groupe primaire n'étant pas exclusive, tout 
utilisateur peut faire partie de plusieurs autres groupes, 
appelés ses groupes secondaires.
Gestion des utilisateurs sous
GNU/Linux

Les groupe                                                                                      
Pour lister tous les groupes (primaire et secondaires) d'un 
utilisateur : groups alice

Pour créer un nouveau groupe 
groupadd compta ou addgroup compta

addgroup compta                                                                        
Ajout du groupe « compta » (identifiant 1003)..                           
Terminé.

groupadd compta

Comme adduser, addgroup a un caractère interactif                 
Gestion des utilisateurs sous

GNU/Linux
● Supprimer un groupe, au hasard .. encore info.
groupdel info ou delgroup info
Le groupe est supprimé du fichier /etc/group. La commande 
delgroup à un caractère interactif. 

Pour ajouter un utilisateur à un groupe
Le plus simple est d'éditer le fichier /etc/group et d'ajouter une 
liste d'utilisateurs (séparés par des virgules) sur la ligne du 
groupe (ou utiliser l’interface graphique).                                      
Gestion des utilisateurs sous
GNU/Linux

Structure de certains fichiers                                                          
Tout ce qui concerne la gestion et l'authentification des 
utilisateurs est inscrit dans un seul fichier /etc/passwd                 
La gestion des groupes est assurée par /etc/group 
Les mots de passe cryptés sont maintenant placés dans 
/etc/shadow, par sécurité lisible et modifiable seulement par 
root. 

Cryptage des mots de passe
Pour des questions de sécurité, les mots de passe cryptés ne sont stockés dans 
/etc/passwd qui doit etre accessible en lecture par tous.
La commande /usr/sbin/pwconv est chargée de transférer les mots de passes cryptés, 
dans /etc/shadow.
Gestion des utilisateurs sous
GNU/Linux

Structure de /etc/passwd                                                               
Le fichier /etc/passwd contient les informations relatives à tous 
les utilisateurs du système. On y trouve leur : 
login , mot de passe (chiffré) , UID, GID principal, nom complet 
et autres informations, répertoire principal, leur shell.  
La syntaxe de "/etc/passwd" est très simple, chaque ligne 
concerne un utilisateur. Les différents champs sont séparés par 
des ":" :

login:mot­de­passe:UID:GID:info­utilisateur:répertoire­
principal:shell
Gestion des utilisateurs sous
GNU/Linux
Gestion des utilisateurs sous
GNU/Linux

Le  champ Mot de passe peut prendre plusieurs siginifications :

"*" : il est impossible de s'authentifier sur le système avec ce compte

"!" : Le compte est désactivé

"x"  : le mot de passe est dans un fichier shadow (voir ci­après)

champ vide : Il n'y a pas de mot de passe pour ce compte.
Gestion des utilisateurs sous
GNU/Linux
● Le fichier /etc/passwd est accessible à tout le monde. La 
présence du mot de passe dans /etc/passwd, même crypté, pose 
un problème de sécurité. La solution à ce problème est de stocker 
les mots de passe dans un fichier différent : /etc/shadow. Pour 
garantir la sécurité, seul l'administrateur peut le lire.
Gestion des utilisateurs sous
GNU/Linux

­ Le fichier /etc/shadow
Gestion des utilisateurs sous
GNU/Linux
● ­ Le fichier /etc/group
Gestion des utilisateurs sous
GNU/Linux

Outils de gestion des comptes
– Sous Gnome
– Se connecter comme root et lancer Utilisateurs et groupes à 
partir du menu Bureau/Administration
–  Sous KDE

Lancer sous X­KDE, la commande K/Système/Gestionnaire 
d'utilisateurs 
Gestion des utilisateurs sous
GNU/Linux
● TP à faire en mode commande

Créer le compte d’utilisateur gilbert avec le mot de passe 
gil20F2.Dans une autre console, utiliser deux méthodes 
différentes pour vous connecter  sous le compte créé. A partir du 
fichier /etc/passwd, effacer le mot de passe.                                  
Modifier les informations relatives à l’utilisateur gilbert.
Nom complet : Gilbert LAWSON                                                     
Tél personnel :  2232520
Suspendez le  compte
Remettez la en activité
Gestion des utilisateurs sous
GNU/Linux

Sous Gnome
Se connecter comme root et lancer Utilisateurs et groupes à 
partir du menu Bureau/Administration  
Sélectionner un compte et examiner sa définition actuelle.
Comparer avec son entrée dans /etc/passwd 
Ajouter un nouveau compte (pierre/pierre) en donnant 
seulement les nom de login et nom complet
Créer maintenant un autre compte (toto) en précisant le groupe 
primaire (zig), et des groupes secondaires (stagiaire).                   
Créer les groupes Gestion, Finance, Logistique.          
Placer l'utilisateur dans cette liste de groupes 
Gestion des utilisateurs sous
GNU/Linux

Les principales commandes                                                  
useradd, adduser, usermod, userdel, deluser   : gestion des 
comptes utilisateur                                                                         
groupadd, addgroup, groupmod, groupdel: gestion des groupes    
passwd: changer le mot de passe d'un utilisateur                            
chfn, id, groups: utilitaires divers 
Gestion des fichiers sous
GNU/Linux

Comme sous Linux,  tout est fichier, tous les systèmes de fichiers quels que 
soient leur emplacement physique doivent être intégrés dans l'UNIQUE 
arborescence logique du système Linux. Au sommet de cette arborescence se 
trouve le répertoire racine dont l'organisation traditionnelle est décrite comme 
 ceci

/bin : les fichiers exécutables (en binaire)  (initialisation du système + 
commandes "essentielles")

/boot : le noyau et les fichiers de démarrage

/dev : répertoire de fichiers spéciaux, qui servent de canaux de 
communication avec les périphériques (disques, adaptateur réseau, cartes son 
etc...)

Gestion des fichiers sous
GNU/Linux

/etc  : les fichiers de configuration du système et les principaux scripts de 
paramétrage 

/etc/rc.d scripts de démarrage du système 

/etc/X11 scripts de configuration du serveur X 

/etc/init.d script de controle des serveurs 

/etc/cron.d description des tâches périodiques à effectuer 

/etc/skel fichiers recopiés dans le rép. personnel d'un nouvel utilisateur 

/home : la base des répertoires utilisateurs

/lib: les bibliothèques et les modules du noyau

/lost+found : le stockage des fichiers retrouvés par fsck
Gestion des fichiers sous
GNU/Linux

/mnt : la racine des points de montage des périphériques. (cd, disquette, nfs .) 
(sous Debian : il y a /cdrom et /floppy, placés directement à la racine). 

/opt :  lieu d'installation d'applications supplémentaires (comme starOffice, 
java ..)

/proc : un système de fichiers virtuels permettant l'accès aux variables du 
noyau

/root : le répertoire de base du super utilisateur

/sbin : les fichiers exécutables pour l'administration du système

/tmp : les fichiers temporaires

/usr : programmes accessibles à tout utilisateur; sa structure reproduit celle de 
la racine / 
Gestion des fichiers sous
GNU/Linux

/var : données variables liées à la machine (fichiers d'impression, traces de 
connexions http, smb .. dans /var/log) 
Gestion des fichiers sous
GNU/Linux

Les Types de fichiers

les fichiers normaux  ou ordinaires: ce sont des collections d'octets.

les répertoires : ce sont des fichiers contenant les noms des fichiers.

les liens symboliques : permettent de présenter une image d'un fichier sous un autre 
nom ou à un autre endroit sans dupliquer les données (assimilable à un raccourci 
Windows). 

les fichiers spéciaux en mode bloc ou fichier de périphérique en mode bloc: sont les 
portes sur les périphériques fonctionnant par blocs de données (ex : disques).

les fichiers spéciaux en mode caractère ou fichier de périphérique en mode caractère: 
sont les portes vers les périphériques fournissant ou consommant les données octet par 
octet.

Gestion des fichiers sous
GNU/Linux

Attributs des fichiers

Pour afficher les attributs principaux des fichiers, il faut utiliser l'option `­l' de la 
commande ls : 

  ­rw­r­­r­­      2       root    root    6656    Apr 15  1998    fichier
  brw­r­­r­­      1       root    root      0     Apr 15  1998    bloc
  crw­r­­r­­      1       root    root      0     Apr 15  1998  caracteres
  drwxr­xr­­     1       root    root    1024    Nov 12 19:42 répertoire
  lrwxr­xr­­      1       root    root    1024    Nov 12 19:42 répertoirebis
Gestion des fichiers sous
GNU/Linux

 Cet affichage présente beaucoup d'informations : 

le premier caractère donne le type du fichier : 

`­` pour un fichier normal

`b' pour un fichier spécial en mode bloc

`c' pour un fichier spécial en mode caractère

`d' pour un répertoire

`l' pour un lien

les neuf caractères suivants donnent les droits d'accès (voir plus loin)

le champ suivant donne le nombre de liens sur le fichier


 on trouve ensuite le nom du propriétaire et du groupe du fichier
Gestion des fichiers sous
GNU/Linux

le champ suivant donne la taille en octets du fichier

la date de la dernière modification est indiquée selon deux formats :

avec l'année pour les fichiers vieux de plus de 6 mois ou de plus d'une heure dans 
le futur

avec l'heure pour les autres cas

enfin, le nom du fichier.
Gestion des fichiers sous
GNU/Linux
● La commande stat permet d'afficher plus d'informations sur un fichier. 

  bash$ stat file1

    File: "file1"

    Size: 3562         Filetype: Regular File

    Mode: (0777/­rwxrwxrwx)    Uid: ( 500/ sandra)  Gid: ( 500/ sandra)
●   Device: 8,0 Inode: 2043 Links: 1
●   Access: Wed Nov 18 18:52:42 1997(00000.00:26:18)

  Modify: Wed Nov 18 18:52:42 1997(00000.00:26:18)

  Change: Wed Nov 18 18:52:59 1997(00000.00:26:01)
Gestion des fichiers sous
GNU/Linux
● Permissions d'accès aux fichiers

Tout fichier du système appartient à la fois à un utilisateur (son 
"propriétaire") et à un groupe.
Ainsi, pour chaque fichier le monde de ses utilisateurs potentiels 
est scindé en 3 catégories, nommées :

u, l'utilisateur normal, son propriétaire, bien souvent son 
créateur, qui n'a pas pour autant tous les droits sur lui ! 

g, son groupe, ensemble d'utilisateurs ayant parfois des 
"permissions" particulières. 

o, tous les (others) autres.
Gestion des fichiers sous
GNU/Linux

Droits d'accès des utilisateurs aux fichiers

Linux permet de spécifier les droits d'action sur un fichier, que 
peuvent exercer les utilisateurs des 3 catégories précédentes, ou 
plutôt les permissions que leurs accordent les fichiers et les 
répertoires.
Linux a repris les 3 protections d'UNIX sur les fichiers et les 
répertoires. Leur notation symbolique est : 

r, lecture 

w, écriture 

x, exécution 
Gestion des fichiers sous
GNU/Linux

[gil@pc  gil] ll *.html 
­rw­r­­r­­  1 gil    gil   1200  oct 19 12 : 39     amoi.html 

Description globale 
On trouve de gauche à droite 

le 1er caractère indique la nature du fichier 
"­" fichier normal, "d" un fichier répertoire, "l" un lien. 

le système de droits est spécifié symboliquement par les 9 attributs suivants, 
correspondants aux 3 catégories d'utilisateurs du fichier. 
  ...|...|... 
  u   g   o 

La section u fixe les droits accordés au propriétaire du fichier. 
La section g fixe les droits accordés aux utilisateurs faisant partie du groupe auquel 
appartient le fichier. 
La section o fixe les droits des autres utilisateurs. 
Gestion des fichiers sous
GNU/Linux

nombre de liens sur le fichier
1 signifie que le fichier n'a aucun lien qui pointe vers lui, 2 (ou plus) signifiant qu'il 
existe un lien (ou plus) vers lui. 

le nom du propriétaire du fichier 

le nom du groupe propriétaire 

la date de dernière modification 

le nom complet du fichier 
Gestion des fichiers sous
GNU/Linux

Changer le propriétaire ou le groupe propriétaire                                 
Changer le propriétaire
chown [­R] nv­user fichiers
Commande réservée au propriétaire actuel des fichiers ou des 
répertoires (et à root)
L'option ­R (récursif) permet d'agir sur l'ensemble des sous­
répertoires.
Exemple : chown ­R gil /home/paul                                                     
Changer le groupe propriétaire
chgrp [­R] nv­groupe fichiers
Ceci doit être effectué par root ou le propriétaire, à condition que 
celui­ci soit membre du nouveau groupe.
Exemple : chgrp ­R gil /home/paul 
Gestion des fichiers sous
GNU/Linux

Changer les 2 en même temps
chown nv­user.nv­groupe fichiers

Dans ce cas, en plus, le groupe propriétaire des fichiers est 
changé pour le groupe primaire du nouveau propriétaire. 
Gestion des fichiers sous
GNU/Linux

Changer les permissions sur les fichiers

Les droits d'accès peuvent être modifiés par le propriétaire des 
fichiers ou par root (ou équivalent, d'uid 0). 

La commande chmod (change mode, change le "mode" des 
fichiers) peut s'écrire de plusieurs façons équivalentes, sur le 
modèle :
chmod droits fichiers
Le paramètre droits permet de calculer les nouveaux droits 
d'accès. Ceux­ci peuvent s'obtenir de façon relative, par ajout 
(symbole +) ou retrait (­) par rapport aux droits existants, ou 
bien de façon absolue, en fixant les nouveaux droits qui 
remplacent les anciens 
Gestion des fichiers sous
GNU/Linux

les changements, sur le modèle "à quelle(s) catégorie(s), quelle 
action, quel(s) droit(s)" sont alors notés symboliquement :
[u g o a] [+ ­ =] [r w x] 
● par exemple chmod u+x fichier signifie "ajouter le droit 
d'exécution au propriétaire du fichier" 
● exemple : chmod [­R] go­rwx /home/toto enlève tous les 
permissions d'accès des fichiers du rép. personnel de toto (et des 
sous­rép.), à tous sauf au propriétaire, c'est­à­dire toto. 

chmod u=rwx,g=r,o= fichiers fixe les permissions à ­rwxr­­­­­  

Gestion des fichiers sous
GNU/Linux

chmod 764 test

chmod u=rwx,g=rw,o=r test
Gestion des fichiers sous
GNU/Linux
● Umask

Par défaut, tous les fichiers créés ont comme droit 666 et les 
dossiers 777. L'umask est un masque qui va réduire ces droits. 
Lors de la création d'un fichier, le système va soustraitre l'umask 
aux droits par défaut. Par l'umask est à 0022.

root@localhost # umask 077
Gestion des fichiers sous
GNU/Linux

Il existe trois droits spéciaux : suid, sgid et sticky bit. Il sont 
ajoutés grâce à la commande chmod

suid : 4

sgid : 2
● sticky:1
Gestion des fichiers sous
GNU/Linux

SUID
● Lorsque vous exécutez une commande, celle­ci se lance avec 
votre uid. Cette commande aura donc accès seulement aux 
fichiers sur lesquels vous possédez des droits. Si le suid est placé 
sur un exécutable, ce dernier se lancera avec l'uid de son 
propriétaire.
Gestion des fichiers sous
GNU/Linux

SGID

Le droit sgid fonctionne de la même façon que le suid en ce qui 
concerne les exécutables. Mais le sgid peut aussi être attribué à un 
dossier. Tout fichier créé dans un dossier portant le sgid aura comme 
groupe propriétaire le groupe du dossier.

 Sticky
Si vous possedez le droit d'écriture sur un dossier, vous pouvez 
renommer ou supprimer tous les fichiers qu'il contient. Ce 
fonctionnement n'est pas adéquat pour un dossier public, où tout le 
monde à accès en écriture comme "/tmp". Si le sticky bit est placé sur 
un dossier, seul le possesseur d'un fichier pourra le renommer ou le 
supprimer. Pour positionner ce droit : chmod +t rep
Gestion des fichiers sous
GNU/Linux

TP

Changer (en tant qu'utilisateur esgis) les droits sur le compte 
esgis afin que les autres utilisateurs ne puisse pas y accéder.

Créer un répertoire dans /tmp qui ne soit accessible (rx) que par 
les membres du groupe esgis, puis y créer (toujours en tant que 
esgis) un fichier perso qui soit lisible et modifiable par les 
utilisateurs du groupe esgis, mais pas par les autres

Tester (ajouter un autre utilisateur au groupe esgis)

Les utilisateurs du groupe esgis peuvent­ils supprimer le fichier 
perso? Pourquoi? 
Gestion des utilisateurs sous
GNU/Linux

Loguer vous sur le compte esgis. 

Essayer de supprimer ou de modifier le fichier 
/var/log/messages. Que se passe­t­il? 

A l'aide de la commande id, vérifier votre identité et le(s) 
groupe(s) auquel vous appartenez.

Créer un petit fichier texte (de contenu quelconque), qui soit 
lisible pour tout le monde, mais pas modifiable (même pas par 
vous)

Créer un repertoire nommé secret, dont le contenu soit visible 
uniquement par vous même. Les fichiers placés dans ce répertoire 
sont­ils lisibles par d'autres membres de votre groupe?
Gestion des fichiers sous
GNU/Linux
● Créer un répertoire nommé connaisseurs tel que les autres 
utilisateurs ne puissent pas lister son contenu mais puissent lire 
les fichiers qui y sont placés. On obtiendra:

$ ls connaisseurs
● ls: connaisseurs: Permission denied

$cat connaisseurs/toto
Gestion des fichiers sous
GNU/Linux

lecture du contenu du fichier

Chercher dans le repertoire /usr/bin trois exemples de 
commandes ayant la permission SUID. De quelles genres de 
commandes s'agit il? 

Tapez umask de manière que les fichiers lors de leur créaion 
aient les droits 640. Tester.
Gestion des processus sous
GNU/Linux

Un des avantages des lignes de commandes par rapport 
aux environnements graphiques est la facilité avec 
laquelle elles permettent de contrôler les processus. 
Cette section décrit les principales méthodes pour lancer 
et arrêter un processus, ainsi que pour lui fournir les 
données sur lesquelles il doit travailler et récupérer ses 
résultats.

Qu'est ce qu'un processus

On appelle processus, un programme chargé en 
mémoire centrale et en cours d'exécution. Il est géré par 
le système d'exploitation.
Gestion des processus sous
GNU/Linux

Chaque processus peut créer lui­même des processus. 
Ces nouveaux processus sont alors appelés processus 
enfants (child process).

Un pseudo processus est crée au moment du démarrage 
du système et a comme PID le numéro 0. Il crée lui­
même un processus enfant, avec le numéro 1. Le 
processus numéro 1 est appelé processus init. Ce 
processus init est responsable de tous les processus en 
cours dans le système. Il permet d'afficher à l'écran le 
login et d'utiliser le shell.
Gestion des processus sous
GNU/Linux

Vous pouvez remplacer le mot processus par 
programme, commande ou tâche. Sous linux, il n'y a 
pas de différence entre un programme et une 
commande. En général, les programmes texte comme ls 
sont décrits comme des commandes.

Un programme ou une commande est un fichier 
exécutable. Il se différencie des autres fichiers par le fat 
que son bit x est activé.

Ce n'est que lors du démarrage d'un fichier de 
programme qu'un processus (ou tâche) est créé par le 
noyau linux.
Gestion des processus sous
GNU/Linux

Où sont les fichiers *.exe sous linux?

il n'y e a pas. Les programmes exécutables sont 
identifiés par l'existence de leur bit d'accès x. 
L'extension *.exe comme sous Windows serait donc 
redondante.

Aujourd'hui cette réponse n'est plus tout à fait vraie, car 
il existe maintenant quelques fichiers *.exe isolés sur de 
nombreux systèmes linux. Il s'agit de programmes 
developpés dans le langage C# et exécutés par les 
bibliothèques Mono, qui sont une implémentation libre 
du framework .NET de Microsoft.
Gestion des processus sous
GNU/Linux

Il existe deux type de processus :

Les processus systèmes :

Il ne sont attachés à aucun terminal. Le rôle des 
processus système est de rendre des service. Ils scrutent 
constamment le système pour répondre à une demande 
( exemple : demande de connexion) ou pour effectuer 
des tâches comme les impressions ou le schedulling des 
processus. Ils sont appelés des Daemons et ils attendent 
en arrière plan que l’on ait besoin de leurs services.
Gestion des processus sous
GNU/Linux

Les processus utilisateur : 

Ce sont des processus lancés par un utilisateur. Ils 
peuvent fonctionner en avant plan ou en arrière plan.  
Lorsque l’utilisateur se déconnecte de son terminal an 
arrêtant sa session, tous les processus qui lui sont 
associés sont détruits (sauf si l’utilisateur a lancé 
l’exécution du processus avec la commande nohup)
Gestion des processus sous
GNU/Linux

Démarrer des programmes

Sous X, on utilise le menu ou des icônes. KDE et 
GNOME permettent de saisir le nom du programme 
dans la boîte de dialogue avec le raccourci Alt+F2.

Vous pouvez aussi démarrer un programme dans une 
fenêtre d'interpréteur de commandes (par exemple 
xterm) ou une console texte. Saisissez le nom du 
programme et appuyez sur entrée. Lorsqu'on saisie une 
commande, l'interpréteur de commande effectue une 
recherche dans tous les répertoires listés dans la 
variable d'environnement PATH: echo $PATH
Gestion des processus sous
GNU/Linux

Lorsque vous désirez lancer un programme qui ne se 
trouve pas dans l'un de ces répertoires, vous devez 
indiquer le chemin complet du fichier. Pour exécuter les 
programmes du répertoire courant, il faut préfixer le 
chemin d'un point. Par exemple ./monprogramme.
Gestion des processus sous
GNU/Linux

Résumé sur le bash

Bourne again shell. Il permet de lancer des commandes 
dans une fenêtre de console . Il est également un 
interprêteur de commandes. Il fournit un langage de 
programmation qui peut être utilisé pour developper 
des applications (scripts shell)

Un shell est une interface utilisateur entre le système 
Linux et l'utilisateur. L'interprêteur de commande 
permet d'appeler des commandes Linux et des 
programmes. Il est comparable à command.com de MS­
DOS.
Gestion des processus sous
GNU/Linux

Le bash est le shell par défaut de la plupart  des distributions Linux. La 
commande echo $0 renvoie le nom de l'interpréteur courant. Le shell par 
défaut est enregistré dans /etc/passwd. Pour passer à un autre shell, lancez la 
commande chsh. Les interpréteurs de commandes sont enregistrés dans /bin. 
Vous devez par exemple indiquer /bin/csh si vous voulez lancer csh par 
défaut. Les interpréteurs sont listés dans /etc/shells. 

Lorsque vous quittez un interpréteur, les dernières commandes utilisées sont 
enregistrées dans le ficher ~/.bash_history.

La commande alias permet d'économiser quelques touches lorsqu'on saisit les 
commandes. Exemple: alias cdb='cd /home/esgis'
Gestion des processus sous
GNU/Linux

Les alias peuvent être supprimés avec la commande unalias. Ils 
sont valables jusqu'à ce que l'utilisateur quitte l'interpréteur de 
commandes. Si vous voulez l'utiliser fréquemment, l'ajouter dans 
le fichier .bashrc de votre répertoire personnel.
Gestion des processus sous

Expliquez:
GNU/Linux
● commande > fichier
commande < fichier    
commande >& fichier    
commande &> fichier                                                                    
commande >> fichier    
commande1 | commande2    
commande | tee fichier    
commande1 ; commande2    
commande1 && commande2    
commande1|| command2                                                              
commande &      
commande1 & commande2
Gestion des processus sous
GNU/Linux

Expliquez:

commande > fichier   (envoie la sortie standard de commande dans fichier) 
commande < fichier   (lit l'entrée standard de commande dans fichier)             
commande >& fichier (redirige la sortie standard et les messages d'erreur)      
commande &> fichier (redirige la sortie standard et les messages d'erreur)      
commande >> fichier  (ajoute la sortie standard à un fichier existant)
commande1 | commande2(envoie la sortie standard de commande1 à l'entrée standard de la 
commande2)     
commande | tee fichier (affiche la sortie et enregistre le résultat dans fichier)
commande1 ; commande2 (lance les deux commandes l'une après l'autre)
commande1 && commande2 (lance commande2 si commande1 s'est bien déroulé)     
commande1|| command2 (lance commande2 si commande1 ne s'est pas bien déroulée)                 
commande & (lance commande en tâche de fond)
commande1 & commande2 (lance commande1 en tâche de fond et commande2 an avant plan
Gestion des processus sous
GNU/Linux

find / ­name '*sh' > resultat &

find / ­name '*sh' > resultat & ls

ls;date

(ls;date)>fichier

echo /*

echo /[a­f]*
Gestion des processus sous
GNU/Linux
Lorsqu'une commande est lancée en arrière plan, le shell affiche 
deux nombres qui permettront de l'identifier par la suite. Le 
premier nombre, indiqué entre crochets, est le numéro de « job » 
du shell. Ce numéro sert à identifier les commandes du shell de 
manière unique. Un job est donc en réalité une commande du 
shell, simple ou complexe. Le deuxième numéro est le numéro de 
processus (« PID », pour « Process IDentifier ») dans le système 
du processus maître du job. Le PID est un numéro unique dans le 
système, qui permet d'identifier de manière unique les processus 
en cours. Ces deux nombres permettront de manipuler les 
processus, avec les commandes que l'on verra plus tard. 
Gestion des processus sous
GNU/Linux
● Les commandes sur les processus

ps
Permet de lister les processus suivant un certain nombre de 
critères

top
Permet d'avoir un suivi de l'évolution des processus et ce faisant, 
d'effectuer des traitements comme on pourrait le faire avec ps, 
mais de façon interactive
Gestion des processus sous
GNU/Linux
● pstree
Permet de lister les processus dans un arbre indiquant les liens de 
parentés entre eux

jobs
Permet de lister les processus lancés dans le shell courant
Gestion des processus sous
GNU/Linux

Jobs : obtenir la liste des jobs avec leurs lignes de commandes. Elle affiche, 
dans l'ordre, le numéro de job, l'état du processus correspondant, et la ligne de 
commande. 

top
La commande top vous permet d'afficher des informations en continu sur 
l'activité du système. Elle permet surtout de suivre les ressources que les 
processus utilisent (quantité de la RAM, pourcentage de CPU, la durée de ce 
processus depuis son démarrage).                                                                       
Options :

­d  spécifie un délai de rafraîchissement (en secondes)

k  stopper un processus de manière interactive en cours d'utilisation, taper 
ensuite le nom du signal à envoyer
15 (SIGTERM), met fin à un processus
9 (SIGKILL) est plus brutal
Gestion des processus sous
GNU/Linux

ps                                                                                              La 
commande ps permet de connaître les processus actifs à un moment 
donné :

$ps
[toto]$ ps
PID TTY TIME CMD
30111 pts/2 00:00:00 bash
30195 pts/2 00:00:00 ps

Le champ "PID" est l'identificateur d'un processus, c'est un nombre. 
Chaque processus est identifié dans le système par un nombre unique.

Le champ "TTY" indique à quel port de terminal est associé le 
processus.
Gestion des processus sous
GNU/Linux

Le champ "TIME" indique depuis combien de temps le processus utilise 
les ressources du microprocesseur.

Le champ "COMMAND" précise, comme son nom l'indique, la 
commande dont l'état est décrit par PID, TTY, STAT et TIME.

Une simple commande "ps" n'indique pas tous les processus du 
système. La commande ps nous a juste indiqué les processus associés à 
un terminal et qui dépendent de l'utilisateur courant..
● Options :

ps ­x visualise tous les processus actifs de l'utilisateur courant (y 
compris ceux qui ne sont pas liés à un terminal

Exemple :
[toto]$ ps ­x
Gestion des processus sous
GNU/Linux

PID TTY STAT TIME COMMAND
29894 pts/0 S 0:00 ­bash
29904 pts/0 S 0:00 sh
30111 pts/2 S 0:00 ­bash
30251 pts/2 R 0:00 ps ­x

(Les commandes qui ne sont pas associées à un terminal sont reconnaissables 
par le point d'interrogation qui rempli le champ TTY.)

ps ­ax visualise tous les processus de la machine de tous les utilisateurs
ps ­aux affiche les utilisateurs associés à chaque processus

D'autres champs nous donnent plus d'indications :

Le champ "USER" indique l'utilisateur du processus.
Gestion des processus sous
GNU/Linux
Le champ "%CPU" donne les ressources du microprocesseur utilisées par le 
processus
Le champ "%MEM" indique les ressources en mémoire vive utilisées par le 
processus
Le champ "RSS" donne réellement la mémoire utilisée en kilobytes par le 
processus
Le champ "START" indique l'heure à laquelle le processus a été lancé.                
Le champ "STAT" indique l'état dans lequel se trouve le processus. 
Gestion des processus sous
GNU/Linux

Chaque processus se trouve au cours de sa vie placé, par le 
scheduleur, dans un état qui peut être entre autres :

Prêt (Ready) : processus activable (éligible) : il ne dispose pas 
du processeur de la machine pour commencer ou continuer son 
exécution. Il attend donc que le scheduleur lui accorde son 
quantum de temps. En résumé, il attend son tour.

Actif : processus élu disposant du processeur de la machine. Il 
en dispose tant que son quantum de temps n’est pas épuisé ou 
qu’il ne soit pas en attente d’entrée/Sortie (Exemple : attente 
d’une saisie clavier)
Gestion des processus sous
GNU/Linux

Endormi (Sleep) ; processus en attente d’un signal, d’une réponse. Le 
scheduleur endort le processus au bout d’un certain temps pour ne 
plus être embêté par lui. Lorsque le signal attendu arrive, ce processus 
va être réveillé puis placé en état Prêt.

Attente E/S : attente de pouvoir effectuer une opération 
d’Entrée/Sortie.

Terminated : processus terminé, aynt libéré toutes ses ressources, mais 
pas encore enlevé de la table des processus.

Intermédiate : le processus est en cours de chargement en mémoire
Gestion des processus sous
GNU/Linux

PSTREE

Cette commande permet d'afficher les processus et de voir leurs 
processus dépendants 

Notion de signal
–   Dans un système Unix, tous les processus peuvent recevoir des 
messages, envoyés soit par l'utilisateur, soit par un autre 
processus, soit par le système. Ces messages sont appelés signaux.
– L'envoi d'un signal se fait avec la commande kill, avec la syntaxe 
suivante : kill [­signal] PID
Gestion des processus sous
GNU/Linux

Notion de signal
– 15: Signal de terminaison de processus.
– 9: Signal de destruction inconditionnelle de processus.
– 19: Signal de suspension de processus.
– 18: Signal de reprise d'exécution d'un processus suspendu.
Gestion des processus sous
GNU/Linux

Arrêt d'un processus
–   Tout processus lancé en ligne de commande peut être arrêté 
immédiatement sous Linux. Pour cela, deux méthodes sont 
disponibles. La première consiste à taper la combinaison de touche 
CTRL+C lorsque le processus est en cours d'exécution interactive 
(c'est à dire lorsqu'il n'a pas été lancé en arrière plan). S'il a été 
lancé en arrière plan, on peut soit le ramener en avant plan (avec 
la commande fg, que l'on verra plus loin) avant d'utiliser CTRL+C, 
soit lui envoyer le signal de terminaison à l'aide de la commande 
kill vue précédemment.
Gestion des processus sous
GNU/Linux

Gel d'un processus
Il est possible de « geler » un processus en cours d'exécution, c'est à 
dire de le suspendre, sans pour autant l'arrêter définitivement. Ceci 
peut être utilisé pour libérer un peu les capacités de calcul, lorsque ce 
processus consomme trop de ressources par exemple. Pour cela, deux 
méthodes sont possibles : 

soit on utilise la combinaison de touches CTRL+Z, lorsque le 
processus est en avant plan ; 

soit on envoie le signal 19 au processus (signal « STOP ») à l'aide de 
la commande kill  lorsqu'il est en arrière plan. 
Gestion des processus sous
GNU/Linux


fg %N° de Job : Permet de mettre un processus en avant plan

bg %N° de Job : Permet de mettre un processus en arrière plan

Ctrl­Z: Permet de mettre un processus en attente
Gestion des processus sous
GNU/Linux

Modification des priorités du Scheduler                                              
Les processus possèdent des priorités modifiables. En effet les propriétés 
évoluent sur une échelle de 20 (très faible) à ­20 (très élevée). Tout 
processus, au lancement, peut avoir une priorité quelconque supérieure 
ou égale à zéro. Par contre un processus lancé par un utilisateur, à son 
exécution et durant celle­ci ne peut avoir une priorité négative. Seul 
l'administrateur système possède ce droit. Par défaut un processus est 
lancé avec la priorité 10. Les commandes permettant de contrôler les 
priorités des processus sont nice et renice.

nice priorité: Permet d'affecter une priorité aux processus dès leur 
lancement; ­n N :permet d'ajuster la priorité par défaut à N exemple: 
nice ­n 10 sauvegarde

renice priorité: Permet de modifier la priorité d'un processus alors 
que celui­ci est déjà lancé; ­u "User" :change la priorité de tous les 
processus d'un utilisateur
Gestion des processus sous
GNU/Linux

Ce TP doit être exécuté en mode console

Sur le TTY2 , ouvrez une session puis lancer vi. A partir du TTY1, 
lister les ancètres de la commande vi lancé sur le TTY2 grace à la 
commande pstree. Exécuter la commande ps ­el|more puis ps­el|
grep vi. A partir de la commande précédente, donner l'arbre 
ancestral de vi jusqu'à son premier PPID qui est init. Exécuter 
maintenant la commande ps ­elH|more. Expliquer. Retrouver les 
ancètres de  vi à partir de la commande précédente. Y a t'il une 
différence entre les trois commandes? A partir du PID de vi 
exécuter la commande ps ­p PID ­o pid,ppid,comm= . Quelle 
remarque faites­vous. A partir de la commande précédente, 
Gestion des processus sous
GNU/Linux

Ce TP doit être exécuté en mode console

reconstituer l'arborescence de vi. Parmi les 4 commandes 
étudiées, quelles sont les 2 commandes qui permettent de donner 
facilement l'arborescence d'une commande? A partir de la 
commande kill, fermez la session en cours sur TTY2.
Gestion des processus sous
GNU/Linux

Ce TP doit être exécuté en mode graphique

Ouvrez un terminale gnome. Lancez la commande xterm. Donnez 
l'arborescence de xterm à partir de TTY1. A partir de la 
commande  kill, fermer le terminal gnome que vous avez ouvert. 
Que remarquez vous? A partir de la commande kill, fermez la 
console xterm.
Gestion des processus sous
GNU/Linux

1­ Créer dans votre répertoire de connexion 3 programmes 
nommés pg1 et pg2 et pg3.

pg1 affiche la liste des utilisateurs connectés à votre système
● Pg2 est un pg qui prend en argument un nombre quelconque de 
noms de fichier et affiche pour chacun : ­ son nom si c'est un 
fichier regulier non executable suivi de la mention "est un fichier 
non executable", ­ son nom si c'est un fichier regulier executable 
suivi de la mention "est un fichier executable", ­ la liste de tous 
les fichiers réguliers executables d'extension ".txt" qu'il contient si 
c'est un repertoire
Gestion des processus sous
GNU/Linux

Pg3 est un pg qui affiche pour chaque fichier du repertoire 
courant une ligne de la forme nom_fichier taille.

Lancez l'exécution des 3 programmes et vérifier qu'ils 
fonctionnent.
Gestion des processus sous
GNU/Linux

En utilisant les fonctionnalités du shell (&, fg, bg) lancer en une 
seule commande les programmes suivants:disks­admin, sound­
juicer,firefox, services­admin,speaker­test,software­
properties,soffice,gedit

. Mettre en premier plan la troisième, l'arrêter (Ctrl+Z), puis la 
relancer en arrière plan.

A l'aide de la commande jobs et kill %n , arrêter tous les 
programmes .

Même question en utilisant les commandes ps et kill (avec un PID
)
Démarrage et Arrêt des
services ou des démons sous
GNU/Linux

2 méthodes

# les scripts de /etc/init.d/ sont appelés avec un paramètre start, stop, 
status, restart Par exemple si on a modifié la configuration du serveur 
Samba dans le fichier smb.conf, il faut relancer ce service par la 
commande /etc/init.d/smb restart 

invoke.rc.d nom start/reload/restart/stop

Quand on souhaite démarrer un service au boot  il faut placer dans  le 
fichier /etc/rc.local le script de démarrage du service
Automatisation de tâches
sous GNU/Linux


Grace au démon cron, le système peut automatisé les tâches de 
maitenance: rotation des fichiers de journalisation, suppression des 
fichers temporaires, actualisation des répertoires, etc...

La configuration globale de cron se trouve dans le fichier /etc/crontab
Gestion de l'impression sous
GNU/Linux

Avec CUPS, NFS, SAMBA

­ CUPS

Que votre imprimante soit branchée à un seul ordinateur ou utilisé sur 
un réseau, un service s’occupe de la communication avec elle. Pour la 
plupart des distributions, il s’agit de CUPS

La philosophie d'impression sous Unix/Linux sur les imprimante 
Postscript. Postscript est un langage de programmation pour décrire le 
contenu des pages. L'imprimante Postscript  attend les données dans 
ce format . Pour imprimer cp fichier.pS /dev/lp0, cp fichier.ps 
/dev/ttyS0, cp fichier.ps /dev/usb/lp0, respectivement impression sur 
le por parallèle, port série, port USB. Quel que soit le système 
d'impression utilisé sur votre ordinateur, la commande est toujours la 
même: lpr ­Pnom fichier
Gestion de l'impression sous
GNU/Linux

CUPS – Configuration d'une imprimante

Fichier de configuration /etc/cups/cupsd.conf
● Administrable par un navigateur HTTP sous http://localhost:631
● Grâce au programme fourni par votre distribution. 
Bureau/Administration/Impression
Gestion de disque sous
GNU/Linux

Tous les périphériques sont représentés dans le dossier "/dev". On 
distingue trois types de disques : les IDE et les SCSI et les SATA. Ils 
sont nommés respectivement "hd" et "sd" suivit d'une lettre et d'un 
chiffre. La lettre représente la position du disque sur le bus et le chiffre 
représente l'une des partition de ce disque.

Par exemple, le disque maître du premier contrôleur IDE sera nommé 
"/dev/hda". La seconde partition de ce disque sera "/dev/hda2"

Un disque ne peut contenir que 4 partitions primaires. Mais il est 
possible de remplacer une partition primaire par une partition 
étendue. Cette partition étendue peut contenir maximum 12 partitions 
logiques. Notre disque pourra donc, au maximum, contenir 15 
partitions utilisables soit 3 primaires plus les 12 partitions logiques.
Gestion de disque sous
GNU/Linux

/dev/hda

/dev/hda1

/dev/hda2

/dev/hda5

/dev/hda8

/dev/sda

/dev/sda1

/dev/sdd3
Gestion de disque sous
GNU/Linux

/dev/hda premier disque IDA complet (système IDE)

/dev/hda1 première partition primaire du premier disque dur

/dev/hda2 partition étendue

/dev/hda5 première partition logique

/dev/hda8 quatrième partition logique

/dev/sda  premier disque SCSI ou SATA

/dev/sda1 première partition primaire du premier disque dur

/dev/sdd3  troisième partition primaire du quatrième disque 
SCSI/SATA
Gestion de disque sous
GNU/Linux

Le code IDE du noyau est relativement ancien et mal maintenu. De ce 
fait de plus en plus de distribution acccèdent aux périphériques IDE 
par le biais du pilote SCSI. Pour que cela fonctionne, le système SCSI 
du noyau a été étendu par des fonctions PATA. (interface ATA 
courante avec un accès parallèle aux données) ATA étant l'interface de 
connexion des disques durs. Le module correspondant s'appelle libata 
et se trouve dans le noyau officiel depuis sa version 2.6.19. Le passage 
à libata signifie que tous les supports de données sont accessibles par 
le périphériques /dev/s*. Il n'y a plus de périphérique dev/hd*. 

Noms de périphériques pour les périphériques IDA gérés par le 
système IDE: /dev/hda pour le périphérique IDE maître du premier 
canal IDE. /dev/hdb pour le périphérique IDE esclave du premier 
canal IDE. /dev/hdc pour le périphérique IDE maître du second canal 
IDE et /dev/hdd pour le périphérique IDE esclave du second canal 
IDE.
Gestion de disque sous
GNU/Linux

Lorsque libata est utilisé, les périphériques IDE sont également 
nommés dans la suite de périphériques /dev/sda, /dev/sdb, etc. 

Attention il existe une différence de nommage importante. Lorque 
l'ordinateur dispose d'un disque maître sur chacun des canaux IDE 
mais pas de disque esclave, les périphériques IDE s'appellent /dev/hda 
et /dev/hdc, mais libata les appelle /dev/sda et /dev/sdb.

Les cd et dvd reçoivent des noms selon la distribution , /dev/sdcn 
ou /dev/srn.

exemple: /dev/sdc0 ou /dev/sr0 pour le premier lecteur et /dev/sdc1 
ou /dev/sr1 pour le second. 
Gestion de disque sous
GNU/Linux

Il existe plusieurs outils pour partitionner un disque 
dur sous linux. Les plus communs sont :

fdisk : utilitaire en mode texte avec menu interactif

cfdisk : utilitaire en mode curses (pseudo graphique) 
avec une liste des partitions.
Ces deux utilitaires se lancent de la même façon :  
commande /dev/disk
Gestion de disque sous
GNU/Linux

Il est possible de modifier les partitions d'un disque dur en cours d'utilisation. 
Mais vous devrez redémarrer pour que les changements soient prises en 
compte.

fdisk /dev/hda

Si vous ne spécifiez aucun disque en paramètre à fdisk, il prendra par défaut 
le disque /dev/sda, ou /dev/hda si aucun disque SCSI n’est installé.

fdisk est un programme très peu interactif. Il attend que vous lui 
communiquiez les commandes à exécuter en tapant sur une lettre. Les 
différentes commandes possibles peuvent être affichées avec la commande ’m’.

  Lorsque vous créez une partition, vous devez utiliser la commande ’n’, puis 
indiquer son type avec les commandes ’p’ (pour « primary ») pour une 
partition primaire ou ’e’ (pour « extended ») pour une partition étendue. Vous 
devrez ensuite donner son numéro dans la table des partitions, puis indiquer 
le début et la fin de la partition. Par défaut, l’unité utilisée par fdisk est le 
cylindre.
Gestion de disque sous
GNU/Linux

Une fois nos partitions créées, il faut les formater afin de pouvoir créer 
un système de fichier dessus. Le système de fichier indique, entre 
autres, comment organiser les données sur le disque dur.

Dans la majorité des cas,  la commande mkfs est utilisée
● Il existe deux moyens d'utiliser la commande mkfs :
● mkfs ­t type /dev/partition
mkfs.type /dev/partition
Gestion de disque sous
GNU/Linux

Les commandes de suivi

La commande df permet de visualiser la place disponible sur les 
différents systèmes de fichiers raccordés à la machine. Cette 
commande affiche : le nom du fichier spécial, la taille totale (en 
nombre de blocs), l'espace utilisé, l'espace libre, le pourcentage de 
place utilisée, le point de montage .

L'option ­i permet d'afficher les mêmes valeurs pour les inodes. 

La commande du permet d'afficher la place disque utilisée par un 
ensemble de fichiers. Pour chaque fichier, du affiche la place occupée 
en nombre de blocs et parcourt les sous­répertoires de façon récursive. 
L'option ­s permet d'afficher la somme des tailles des fichiers pour un 
répertoire. 
Gestion de périphériques sous
GNU/Linux

Monter un système de fichier

Comme le système de fichiers Linux se concentre dans une seule arborescence 
de fichiers, l'accès et l'utilisation de systèmes extérieurs (disques, disquettes, 
cd ..) doit s'effectuer par intégration de ces systèmes de fichiers dans le 
système fondamental "racine".
Ce mécanisme d'intégration, souple et paramétrable, s'appelle le montage. 

Techniquement, l'opération de montage consiste à mettre en relation : 

un fichier de périphérique situé dans /dev (qui permet la communication 
physique avec les données du périphérique) 

avec un noeud d'insertion dans l'arborescence, appelé son point de montage 
Gestion de périphériques sous
GNU/Linux
● Le premier processus init (exécuté au démarrage), après chargement 
du noyau, se charge de monter les systèmes de fichiers conformément 
aux spécifications du fichier /etc/fstab et effectue leur éventuel 
montage automatique. Ce fichier va nous être utile pour deux choses. 
Premièrement, on va pouvoir y entrer toutes les partitions à monter 
automatiquement au démarrage. Deuxièmement, faciliter l'utilisation 
de la commande mount, en entrant toutes les options à utiliser pour 
chaque périphérique.
Gestion de périphériques sous
GNU/Linux

Dans le fichier "/etc/fstab" chaque ligne représente un périphérique à 
monter. Chaque ligne est composée de six parties :

le chemin du périphérique, le point de montage, le système de fichier, les 
options (argument ­o de mount), dump : activer ou non la sauvegarde du 
disque avec l'utilitaire dump (1 ou 0), fsck : activer ou non la vérification 
du système de fichier avec l'utilitaire fsck (0, 1, 2 ou 3)
Gestion de périphériques sous
GNU/Linux

Commandes de montage/démontage

Il est toujours possible de monter "à la main" les systèmes de fichiers stockés 
sur les périphériques disques, cd ... avec la commande interactive 
mount/umount 

Syntaxe générale : 
       mount ­t <type > ­o options /dev/rep­spécial  /mnt/rep­montage 
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 

Les types principaux 
ext2 (type par défaut), vfat, FAT16 ou FAT32 de Win95 ou Win98, nfs, 
système de fichiers distant situé sur un serveur NFS 
Gestion de périphériques sous
GNU/Linux

Les options 
les options par défaut sont:
rw (accès complet), suid (les éventuels permissions SUID et SGID des fichiers 
seront pris en compte), dev (permettre l'utilsation des fichiers de 
périphériques, exec (permettre l'exécution de fichiers binaires) 

Exemples 

mount             liste tous les systèmes de fichiers actuellement montés

mount  /dev/cdrom    monte le système du cd­rom (si décrit dans fstab) 

umount /mnt/floppy    démonte le système de fichiers disquette 
Gestion de périphériques sous
GNU/Linux

Exercice

monter la partition Windows présente sur votre machine dans le 
rép. /mnt/disk, avec les options : l'utilisateur esgis, et le groupe esgis, 
seront propriétaires de tous les fichiers, la création d'un fichier 
s'effectuera avec le umask 024.

Accéder au répertoire MesDocuments présent sur le disque et y créer 
le répertoire LINUX_IIR2.

Désactivez le montage automatique de cd et de cle usb sur votre 
machine.
Gestion de périphériques sous
GNU/Linux

Astuces pour ntfs
Pour pouvoir lire et écrire sur le système de fichiers de type ntfs, il faut d'abord
installer un pilote particulier, ntfs-3g.
aptitude install ntfs-3g
mkdir /media/win2
vi /etc/fstab
/dev/sda5 /media/win2 ntfs-3g defaults,user,uid=root,gid=win,umask=024
0 0
mount -a
Gestion de périphériques sous
GNU/Linux

mount ­t vfat ­o uid=5001,gid=5000,umask=022 /dev/hda1 /mnt/disk
Le Noyau sous GNU/Linux

Le noyau UNIX

 Le noyau est le programme qui assure la gestion de la mémoire, le 
partage du processeur entre les différentes tâches à exécuter et les 
entrées/sorties de bas niveau. Il est lancé au démarrage du système (le 
boot) et s’exécute jusqu’à son arrêt.

  C’est un programme relativement petit, qui est chargé en mémoire 
principale. Le rôle principal du noyau est d’assurer une bonne 
répartition des ressources de l’ordinateur (mémoire, processeur(s), 
espace disque, imprimante(s), accès ré­seaux) sans intervention des 
utilisateurs. Il s’exécute en mode superviseur, c’est à dire qu’il a accès à 
toutes les fonctionnalités de la machine : accès à toute la mémoire, et 
à tous les disques connectés, manipulations des interruptions, etc.
Le Noyau sous GNU/Linux
● Compilation du noyau, voir support de cours
Gestion des paquetages sous
GNU/Linux

2types:

Les Tarballs

Les paquetages précompilés
Gestion des paquetages sous
GNU/Linux

Les Tarballs

La commande tar (=Type ARchive) est une ancienne commande Unix qui 
permet aisément d'archiver, c'est­à­dire de réaliser la sauvegarde d'un 
ensemble de fichiers en un seul fichier, que l'on peut également compresser. 

Syntaxe 

tar options fichiers 
options :
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 
Gestion des paquetages sous
GNU/Linux

Les Tarballs

­v                        mode bavard 

­z                        compresser ou décompresser en faisant appel à l'utilitaire 
gzip 

­y                        compresser ou décompresser avec l'utilitaire bgzip2

­­help                   aide 
Gestion des paquetages sous
GNU/Linux

Utilisation et exemples

Création 
tar ­cvf sauve.toto.tar /home/toto effectue la sauvegarde de tous les 
fichiers du répertoire /home/toto dans le fichier sauve.toto.tar placé dans 
le rép. courant 
tar ­cvf /tmp/sauve.toto.tar /home/toto idem, mais le fichier archive est 
placé dans le rép. /tmp 
tar ­c /home/toto > sauve.toto.tar variante de la commande précédente 
tar ­cvf sauve.toto.tar /home/toto 
tar ­cvzf sauve.toto.tar.gz /home/toto effectue une compression en plus

Listage
tar ­tvf sauve.toto.tar pour connaitre l'arborescence regroupée dans le 
fichier archive, en particulier la place où sera installée son contenu lors du 
désarchivage. 
L'utilitaire mc, avec sa fonction d'édition F3, permet d'effectuer le même 
listage de l'archive
Gestion des paquetages sous
GNU/Linux

Extraction 


tar ­xvf sauve.toto.tar exécute le désarchivage dans le répertoire 
courant. 
si l'archive a été créée par tar ­cvf sauve.toto.tar /home/toto, il faut se 
placer à la racine / pour restorer exactement le rép. perso de toto. 
décompresse et désarchive 
tar ­xvfz sauve.tar.gz home/toto/tmp ne désarchive dans l'archive, 
que le rép. désigné 
Gestion des paquetages sous
GNU/Linux
● Compression avec gzip
● La commande gzip

Elle est utilisée pour compacter un fichier quelconque, et en 
particulier une archive tar. 
Le décompactage se fait par la commande gunzip, ou de manière 
totalement équivalente par  gzip ­d. 
Elle peut décompacter les fichies .gz, mais aussi les fichiers .z, .Z 

Options 

­1 ...­9 fixe le niveau de compression 

­d     décompresse 

­c     écrit sur la sortie standard au lieu de remplacer le fichier 
d'origine (possibilité d'utiliser un tube) 

­l      affiche des infos sur la dé/compression. 
Gestion des paquetages sous
GNU/Linux
­r     dé/compresse tous les fichiers du rép. passé en argument. 

­h     aide 

Exemples

gzip backup.tar  /home/toto compresse backup.tar et le 
remplace par le fichier backup.tar.gz, d'une taille beaucoup plus 
réduite.
Attention, le fichier d'origine est donc détruit ! 

gzip ­9 *.txt compresse au maximum chaque fichier .txt 
séparément, et les renomme en ajoutant le suffixe .gz 

Autre utilitaire

bzip2 admet la même syntaxe que gzip, mais compresse mieux 
avec un besoin accru de mémoire 
Gestion des paquetages sous
GNU/Linux

L'utilitaire RPM (=RedHat Package Manager) gère une base de 
données des applications déjà installés. Il permet d'installer (et de 
désinstaller) facilement les nouvelles applications qui sont disponibles 
sous forme d'une fichier "paquetage". De plus, pendant une mise à 
jour RPM conserve les fichiers de configuration déjà présents. 

rpm ­q nomfichier.rpm , pour obtenir de l'information
Cette commande suppose la connaissance exacte du nom du 
paquetage (y compris respect de la casse). Sinon utiliser la commande 
rpm ­qa | grep ­i nom 

rpm ­i nomfichier.rpm, commande générale d'installation 

rpm ­ivh ­­ nodeps nomfichier.rpm, pour contourner le refus 
d'installer en raison de dépendances non satisfaites. 
Gestion des paquetages sous
GNU/Linux

L'installation, la mise à jour et la suppression des applications 
s'effectue en ligne aisément avec la commande apt-get.
Cette commande interroge les serveurs déclarés dans le fichier 
/etc/apt/sources.list et prend en charge directement le 
téléchargement et l'installation des dépendances, c'est­à­dire des 
programmes prérequis (indispensables au bon fonctionnement du 
logiciel).
● Par contre, pour installer un paquet isolé absent d'une source il faut 
utiliser la commande dpkg 

Tous les paquets installés sur le système sont décrits dans 
/var/lib/apt/lists/ et /var/lib/dpkg/available/
Leur documentation se trouve dans /usr/share/doc/paquet/
Gestion des paquetages sous
GNU/Linux

debconf est une interface générale appelée lors de la configuration des 
paquets. Elle questionne l'utilisateur sur la configuration du paquet 
avant qu'il ne soit installé, en le guidant dans les choix tout en lui 
proposant une option raisonnable par défaut . 

Intégrer une source CDROM 

 apt­cdrom add

 less /etc/apt/sources.list
Gestion des paquetages sous
GNU/Linux

dpkg : installer et configurer un paquet

Utilité : indispensable pour installer un paquet isolé
Problème : attention dpkg ne gère pas les dépendances, il faut donc installer auparavant 
les paquets prérequis 

# installer 2 paquets

dpkg ­i paquet1.deb paquet2.deb

#  désinstaller un paquet sans supprimer ses fichiers de configuration

dpkg ­r paquet.deb

# supprimer un paquet et sa configuration

dpkg ­­purge paquet.deb

#  reconfigurer un paquet déjà installé :

dpkg­reconfigure apache
Gestion des paquetages sous
GNU/Linux

# pour controler l'affichage de la liste de tous les paquets

dpkg ­l | less

# pour filtrer (les noms des paquets sont toujours en minuscules)

dpkg ­l | grep gcc

# pour afficher la liste des fichiers du paquet

dpkg ­L net­tools

# pour connaitre le paquet qui a installé une commande ou une application

whereis ifconfig  ­­> /sbin/ifconfig

dpkg ­S /sbin/ifconfig  ­­> net­tools

# pour reconfigurer un paquet déjà installé

dpkg­reconfigure gpm
Gestion des paquetages sous
GNU/Linux

Utilitaires apt

apt = advanced packaging tools est une interface de système de 
gestion des paquets Debian, en ligne de commande
(voir http://www.debian.org/doc/manuals/apt­howto/)
Il existe maintenant des interfaces d'utilisation de apt plus 
conviviales : 
­ aptitude : mode texte plein écran, fortement recommandée
­ synaptic : mode graphique, à installer si possible 
Gestion des paquetages sous
GNU/Linux

 Fonctionnement

fichier des sources : afin d'automatiser, on déclare et décrit de 
façon permanente les sources de paquets (cdrom, url ..) à 
télécharger, dans le fichier /etc/apt/sources.list
La syntaxe de chaque ligne est : deb <URL> <distribution> 
<sections>, où : 

­ <URL> utilise un protocole file:// ou http:// ou ftp:// ­ 
<distribution> est stable ou testing ou unstable ­ <sections> est 
une liste de répertoire pris dans (main, contrib, non­free) 

Exemple de configuration des sources de paquets 
/etc/apt/sources.list 
Gestion des paquetages sous

Commandes
GNU/Linux

apt­get Pour maintenir les paquets 

apt­get install :Installer ou mettre à jour un paquet

apt­get install gcc

apt­get remove 

Supprimer un paquet installé

apt­get remove gpm

apt­get update 

Mise à jour de l'indexation des paquets à partir des sites sources

apt­get upgrade

Mise à jour générale des dernières versions de tous les paquetages du système
Gestion des paquetages sous
GNU/Linux

apt­cache search

Donne la liste des paquets contenant un mot­clé

apt­cache search se3

apt­cache show

Donne donne une rapide description d'un paquet
GNU/Linux et le réseau

Un réseau d’ordinateurs est une combinaison de matériels et de logiciels qui 
permet aux ordinateurs et autres périphériques (imprimantes, modems etc…) 
de communiquer entre eux à travers diverses formes de média de 
télécommunication.

  Les réseaux peuvent être classifiés selon les distances qu’ils couvrent et selon 
qu’ils incluent la technologie web.

LAN (Local Area Network) : un réseau confiné à une petite zone 
géographique.

Intranet: un LAN qui inclut un serveur web

WAN  (Wide Area Network)  : Un réseau qui couvre une large zone 
géographique comme par exemple, une ville, un pays etc…

Internet :  Le réseau global qui supporte la technologie web
GNU/Linux et le réseau

TCP/IP

 TCP/IP est une suite de protocoles permettant à tous types d ’ordinateurs, 
utilisant divers systèmes d ’exploitation de communiquer entre eux. Développé 
à la fin des années 60 comme une solution de réseau à commutation de 
paquets, il est devenu depuis les années 90, le protocole le plus utilisé dans les 
réseaux d ’ordinateurs.   C ’est un système ouvert qui constitue la base de 
l’Internet.

  Il fournit les couches 3 et 4 du modèle ISO. IP ou Internet Protocol est la 
couche réseau qui contrôle le mouvement des paquets sur le réseau.   IP ne 
s’assure pas que les paquets sont délivrés. IP fonctionne en mode non 
connecté. Deux protocoles assurent la couche transport: TCP et UDP. TCP 
fonctionne en mode connecté et s ’assure que les paquets sont délivrés. UDP 
transfert seulement des paquets de données appelés DATAGRAMS entre les 
machines. 
GNU/Linux et le réseau

Adressage IP
Chaque machine sur l'Internet est identifiée par une adresse IP.  L'adresse IP 
doit être unique. Si deux machines ont la même adresse IP, le réseau ne 
saurait à qui délivrer les données. Pour assurer l ’unicité des adresses IP, elles 
sont allouées en bloc.  Une adresse IP de IPv4 est un nombre binaire de 32 
bits, Une chaîne de caractères de 32 zéros et uns. Une adresse IP de Ipv6 est 
un nombre binaire de 128 bits. Déja en production.

 Pour des facilités d'écriture, Les adresses IP sont fractionnées en quatre pièces 
de 8 bits et converties en décimal avec un point entre les différentes parties 
( exemple 192.168.0.1). The Internet Assigned Numbers Authority (IANA), 
donne autorité sur des blocs d ’adresses aux organes d’enregistrement. Les 
organes d’enregistrement (RIPE NCC, ARIN, APNIC, AFRINIC) assignent de 
larges blocs d’adresses IP aux ISP qui en retour les fractionnent en des blocs 
plus petits pour leurs clients . Pour créer les blocs, les adresses IP sont 
fractionnées en deux parties : adresse réseau (préfixe) et l’adresse 
machine. Pour spécifier la position du fractionnement, vous pouvez utiliser un 
slash et un nombre de bits de la partie réseau.
GNU/Linux et le réseau

Par exemple, le bloc d’adresse ‘’199.2.192.64/26 ‘’ a 26 bits pour le réseau ; les 
six restants pour les machines. Pour qu’un réseau IP fonctionne, il est vital que 
toutes les machines sur un réseau ait la même adresse réseau (dans ce 
exemple, les 26 bits de gauche) et différentes adresses machines. 

Masque de sous­réseau
La séparation entre l’adresse réseau et l’adresse machine peut être aussi 
représentée par un masque de sous­réseau. Ce qui n’est qu’un nombre  de ‘1’ a 
chaque position de l’adresse réseau, et un ‘0’ pour chaque bit de l’adresse 
machine. Par exemple, le masque pour un réseau /26 est 26 ‘1’ et 6 ‘0’.

Adressage privé: L’IANA( www.iana.org) a réservé les trois blocs d ’adresses IP 
suivants pour les Internets privés:
–  10.0.0.0 ­ 10.255.255.255 (10/8)  
–  172.16.0.0 ­ 172.31.255.255 (172.16/16 ) 
–  192.168.0.0 ­ 192.168.255.255 (192.168/24) 
GNU/Linux et le réseau

Routage IP

De base, le routage IP est simple. Si la destination est directement connectée à 
la source (liaison point à point) ou sur un média partagé (Ethernet par 
exemple), Le paquet est directement envoyé à la source. Dans le cas contraire, 
le paquet est envoyé à un routeur par défaut.

 Configuration réseau d’une machine
–   La configuration du réseau nécessite donc la configuration du protocole 
IP et des services TCP, UDP et ICMP (entre autres). Cette opération se fait 
en définissant l'adresse IP le masque de sous­réseau et les routes à utiliser. 
Vient ensuite la configuration du nom de la machine locale, de son 
domaine, des noms de machines qu'elle peut résoudre elle­même et des 
serveurs de DNS qu'elle doit utiliser pour les autres noms. 
GNU/Linux et le réseau

Configuration statique des interfaces réseau

  La principale commande permettant de configurer le réseau est la commande 
ifconfig. Comme son nom l'indique (« InterFace CONFiguration »), elle 
permet de configurer les interfaces réseaux de la machine. Il faut savoir qu'il 
existe plusieurs types d'interfaces réseaux. Les plus courants sont les trois 
types d'interfaces suivants : 

l'interface loopback, qui représente le réseau virtuel de la machine, et qui 
permet aux applications réseaux d'une même machine de communiquer entre 
elles même si l'on ne dispose pas de carte réseau ; 

les interfaces des cartes réseaux (que ce soient des cartes Ethernet, TokenRing 
ou autres) ; 

les interfaces ppp, plip ou slip, qui sont des interfaces permettant d'utiliser les 
connexions sérielles, parallèles ou téléphoniques comme des réseaux. 
GNU/Linux et le réseau

La configuration d'une interface comprend l'initialisation des drivers nécessaires à son 
fonctionnement et l'affectation d'une adresse IP à cette interface. La syntaxe générale 
que vous devrez utiliser est la suivante :  ifconfig 
interface adresse netmask masque up     où interface est le nom de l'interface réseau 
que vous voulez configurer, adresse est l'adresse IP que cette interface gérera, et 
masque est le masque de sous­réseau que vous utilisez. Les interfaces que vous aurez à 
configurer seront certainement des interfaces Ethernet, auquel cas vous devrez utiliser 
les noms eth0, eth1, etc. dans la commande ifconfig. Si vous désirez configurer 
l'interface loopback, vous devrez utiliser le nom d'interface lo. 

  Le paramètre up donnée à ifconfig lui indique que l'interface doit être activée. Cela 
signifie que dès que la commande ifconfig s'achèvera, votre interface réseau sera active 
et fonctionnelle. On ne peut faire plus simple... Bien entendu, il existe le paramètre 
inverse : down. Ce paramètre s'utilise tout simplement dans la commande ifconfig avec 
la syntaxe suivante :   ifconfig interface down

ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
GNU/Linux et le réseau

Enfin, il est possible d'affecter plusieurs adresses IP à certaines interfaces 
réseau. C'est en particulier le cas pour toutes les interfaces réseau classiques, 
mais bien entendu cela n'est pas réalisable avec les interfaces de type point à 
point comme, par exemple, les interfaces des connexions ppp. Lorsqu'une 
interface dispose de plusieurs adresses, la première est considérée comme 
l'adresse principale de l'interface, et les suivantes comme des alias. Ces alias 
utilisent comme nom le nom de l'interface réseau principale et le numéro de 
l'alias, séparés par deux points (caractère ':'). Par exemple, si l'interface eth0 
dispose d'un alias, celui­ci sera nommé eth0:0. Ainsi, pour fixer l'adresse d'un 
alias d'une interface réseau, on utilisera la syntaxe suivante : 

ifconfig interface:numéro add adresse netmask masque
GNU/Linux et le réseau

Définition des règles de routage

  La deuxième étape dans la configuration du réseau est la définition des règles de 
routage. Il est possible de définir plusieurs règles de routage actives simultanément. 
L'ensemble de ces règles constitue ce qu'on appelle la table de routage. La règle utilisée 
est sélectionnée par le noyau en fonction de l'adresse destination du paquet à router. 
Chaque règle indique donc un critère de sélection sur les adresses, et l'interface vers 
laquelle doivent être transférés les paquets dont l'adresse destination vérifie cette 
règle. 

  La commande utilisée pour définir une route est, chose surprenante, la commande 
système route. Sa syntaxe est donnée ci­dessous : 

route opération [­net | ­host] adresse netmask masque interface

où opération est l'opération à effectuer sur la table de routage. L'opération la plus 
courante est simplement l'ajout d'une règle de routage, auquel cas add doit être utilisé. 
GNU/Linux et le réseau

 L'option suivante permet d'indiquer si le critère de sélection des paquets se fait sur 
l'adresse du réseau destination ou plus restrictivement sur l'adresse de la machine 
destination. En général, il est courant d'utiliser la sélection de toutes les adresses d'un 
même réseau et de les router vers une même interface. Dans tous les cas, adresse est 
l'adresse IP de la destination, que celle­ci soit un réseau ou une machine. Si la destination 
est un réseau, il faut indiquer le masque de sous­réseau masque à l'aide de l'option 
netmask. Enfin, interface est l'interface réseau vers laquelle doivent être envoyés les 
paquets qui vérifient les critères de sélection de cette règle. 

  Par exemple, la règle de routage à utiliser pour l'interface loopback est la suivante : 

route add ­net 127.0.0.0 netmask 255.0.0.0 lo

Cette règle signifie que tous les paquets dont l'adresse de destination appartient au sous­
réseau 127.0.0.0/8 doivent être transférés vers l'interface loopback. Cela implique en 
particulier que les paquets à destination de la machine d'adresse IP 127.0.0.1 (c'est­à­dire 
la machine locale) seront envoyés vers l'interface loopback (ils reviendront donc sur la 
machine locale). 
GNU/Linux et le réseau

Une autre règle de routage classique est la suivante : 

route add ­net 192.168.0.0 netmask 255.255.255.0 eth0

Elle permet d'envoyer tous les paquets à destination du réseau 192.168.0.0/24 vers la 
première interface Ethernet. C'est typiquement ce genre de règle qu'il faut utiliser pour 
faire fonctionner un réseau local. Il n'est normalement pas nécessaire d'ajouter les règles 
de routage pour les réseaux auxquel la machine est connectée. En effet, la configuration 
d'une carte réseau à l'aide de la commande ifconfig ajoute automatiquement à la table 
de routage une règle pour envoyer les paquets à destination de ce réseau par l'interface 
réseau qui y est connectée. Cependant, la commande route devient réellement 
nécessaire lorsqu'il faut définir les passerelles à utiliser pour l'envoi des paquets destinés 
à une machine à laquelle la machine locale ne peut accéder directement. Les règles de 
routage faisant intervenir une passerelle sont semblables aux règles de routage vues ci­
dessus, à ceci près que l'adresse IP de la passerelle à utiliser doit être fournie. Pour cela, 
on utilise l'option gw (abréviation de l'anglais « Gateway »). La syntaxe utilisée est donc 
la suivante :  route add [­net | ­host] adresse netmask masque gw passerelle interface
GNU/Linux et le réseau

où passerelle est l'adresse IP de la passerelle à utiliser pour router les paquets qui 
vérifient les critères de cette règle. Les autres paramètres sont les mêmes que pour les 
règles de routage classique. 
GNU/Linux et le réseau

Par exemple, supposons qu'une machine soit connectée à un réseau d'adresse 
192.168.0.0, et que sur ce réseau se trouve une passerelle d'adresse 192.168.0.1 
permettant d'atteindre un autre réseau, dont l'adresse est 192.168.1.0. Une machine du 
réseau 192.168.0.0 aura typiquement les règles de routage suivantes : 

route add ­net 192.168.0.0 netmask 255.255.255.0 eth0

route add ­net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1 eth0

La première règle permet, comme on l'a déjà vu, de communiquer avec toutes les 
machines du réseau local. La deuxième règle permet d'envoyer à la passerelle 192.168.0.1 
tous les paquets à destination du réseau 192.168.1.0. 

Inversement, si la passerelle utilise l'adresse 192.168.1.15 sur le réseau 192.168.1.0, les 
machines de ce réseau qui voudront accéder au réseau 192.168.0.0 devront spécifier la 
règle de routage suivante : 

route add ­net 192.168.0.0 netmask 255.255.255.0 gw 192.168.1.15 eth0
GNU/Linux et le réseau

Bien entendu, il est nécessaire que toutes les machines des deux réseaux utilisent ces 
règles de routage pour que la communication entre les deux réseaux se fasse dans les 
deux sens.  Le problème de ces règles de routage est qu'elles spécifient l'adresse du réseau 
destination. Il est évidement hors de question d'utiliser une règle de routage différente 
pour toutes les adresses de réseaux possibles. Il est donc possible de définir ce qu'on 
appelle une passerelle par défaut, qui n'est rien d'autre que la passerelle vers laquelle 
doivent être envoyés tous les paquets qui n'ont pas vérifié les critères des autres règle de 
routage. La syntaxe à utiliser pour définir la passerelle par défaut est plus simple, puisqu'il 
n'est plus nécessaire de préciser les critères de sélection : 

route add default gw passerelle interface      où la signification des paramètres passerelle 
et interface est inchangée. Ainsi, pour reprendre l'exemple précédent, supposons que la 
machine 192.168.0.47 dispose d'une connexion à Internet. Pour que toutes les machines 
du réseau local puisse profiter de cette connexion, il suffit de demander à ce que tous les 
paquets qui ne vérifient aucune autre règle de routage soient envoyés à la passerelle 
192.168.0.47. Cela se fait avec la règle de routage suivante :                                               
route add default gw 192.168.0.47 eth0
GNU/Linux et le réseau

Définition du nom de la machine:  La commande de base permettant de manipuler le 
nom de la machine locale est la commande hostname. Appelée telle quelle, elle 
renvoie le nom actuel de la machine : 

hostname

Cette commande permet également de modifier ce nom, simplement avec la syntaxe 
suivante : hostname nom

La plupart des distributions utilisent le fichier /etc/HOSTNAME pour stocker le nom 
de la machine. Vous êtes bien entendu libre de choisir le nom que vous voulez pour 
votre ordinateur, mais vous devez vous assurer que ce nom est unique dans votre 
domaine ! 
GNU/Linux et le réseau

Résolution des noms de domaines
– La commande hostname ne permet de fixer que le nom de la machine locale. Pour 
les autres machines du réseau, il faut mettre en place les mécanismes de résolution 
de noms de domaines. Comme il l'a déjà été indiqué au début de ce chapitre, il 
existe deux solutions pour trouver l'adresse IP d'une machine à partir de son nom : 
la consultation d'une liste de noms stockée en local, soit l'interrogation d'un 
serveur de nom de domaines. 
– Le fichier /etc/host.conf permet de définir le comportement du système lors de la 
résolution d'un nom. Sa structure est très simple, puisqu'il y a une option de 
recherche par ligne. Dans la plupart des cas, les lignes suivantes sont suffisantes : 
– order hosts,bind
– multi on
GNU/Linux et le réseau

Elles permettent d'indiquer que la recherche des noms pour leur résolution doit se faire 
d'abord localement, puis par appel aux DNS si la recherche précédente a échoué. C'est 
en général le comportement désiré. La deuxième ligne permet de faire en sorte que 
toutes les adresses correspondant à une machine soient renvoyées. Si l'on avait utilisé 
l'option multi off, seule la première adresse IP trouvée aurait été renvoyée. 

La liste de noms locale est stockée dans le fichier /etc/hosts (cela explique le nom 
hosts utilisé pour l'option order dans le fichier /etc/host.conf). Votre ordinateur 
connaîtra directement l'adresse IP de toutes les machines référencées dans ce fichier. Il 
est bon de placer ici une entrée pour les ordinateurs les plus couramment utilisés sur le 
réseau. Chaque entrée commence par une adresse IP, et est suivie de la liste des noms 
de la machine possédant cette adresse, séparés par des espaces. Pour ceux qui ne 
disposent pas de réseau local, ce fichier doit être relativement simple : seule la ligne 
affectant l'adresse 127.0.0.1 à la machine locale (appelée « localhost ») doit s'y trouver. 

127.0.0.1    localhost
GNU/Linux et le réseau

De la même manière, le fichier /etc/networks contient les adresses des réseaux. Ce 
fichier est utilisé par la commande route pour donner un nom aux différents réseaux. 
Chaque entrée est constituée du nom du réseau, suivi de son adresse IP. Encore une fois, 
ce fichier se réduit à sa plus simple expression pour ceux qui n'ont pas de réseau local, 
puisqu'il ne contiendra tout au plus qu'une entrée pour le réseau « loopback », sur lequel 
se trouve l'adresse de retour 127.0.0.1. Cette entrée aura donc la forme suivante : 
loopback    127.0.0.0    
La configuration des serveurs de noms est en revanche une opération nécessaire si l'on 
désire accéder à des machines dont on ne connaît que le nom. Le fichier de 
configuration utilisé est cette fois le fichier /etc/resolv.conf. Sa structure est encore une 
fois très simple, avec une option par ligne, chaque option étant introduite par un mot­
clé.  Le mot­clé domain permet d'indiquer le nom du domaine dont fait partie votre 
machine. Par exemple, si votre nom de domaine est « esgis.bj », vous devrez utiliser la 
ligne suivante : 

domain esgis.bj
GNU/Linux et le réseau

Le mot­clé search permet quant à lui de spécifier une liste de noms de 
domaines à ajouter par défaut aux noms de machines non complètement 
qualifiés. Les éléments de cette liste doivent être séparés par des espaces. La 
recherche d'une machine dont le nom ne comprend pas la partie de nom de 
domaine s'effectue en ajoutant au nom de la machine les noms des domaines 
indiqués ici, jusqu'à ce que la résolution du nom en adresse IP soit effectuée. 
Cette recherche commence bien entendu par le nom de domaine local, s'il a 
été défini. Il est donc recommandé d'indiquer votre nom de domaine dans 
cette liste de noms de domaines. Par exemple, si votre machine fait partie du 
domaine « esgis.bj », vous devrez utiliser la ligne suivante :                           
search esgis.bj

Ainsi, si vous recherchez l'adresse de la machine « host1 », la requête au DNS 
se fera avec le nom complètement qualifié « host1.esgis.bj ». Vous êtes bien 
entendu libre d'ajouter d'autres noms de domaines pour le cas où la résolution 
de nom échouerait sur ce domaine. 
GNU/Linux et le réseau

Enfin, l'option nameserver est essentielle, puisqu'elle permet de donner les adresses IP des 
serveurs de DNS auxquels doivent être adressées les requêtes de résolution de noms. Par 
exemple, si vous disposez de deux serveurs DNS, un primaire, d'adresse 192.168.0.10, et 
un secondaire, d'adresse 192.168.0.15, vous utiliserez la ligne suivante : 

nameserver 192.168.0.10 192.168.0.15

Cette ligne est évidemment obligatoire, faute de quoi la résolution des noms de machines 
en adresse IP échouera pour toute machine qui ne se trouve pas dans votre fichier 
/etc/hosts. 
GNU/Linux et le réseau

Utilisation des commandes d’administration de base des services réseaux

ping
Cette commande est normalement connue de tous. Elle existe dans tous les 
systèmes. Elle permet de vérifier si une machine distante répond. Pour 
envoyer 5 pings à la machine dont l'adresse IP est 192.168.0.1.

ping ­c 5 192.168.0.1
On peut aussi utiliser le nom de la machine, si celle­ci est renseignée dans 
votre fichier Hosts ou dans un serveur DNS.
On peut par exemple utiliser ping pour vérifier si la connexion est toujours 
active ou pour la monter.
Si vous ne placez pas l'option ­c 5 pour n'envoyer que 5 pings, la commande 
ne s'arrête pas. 

Utilisez alors Ctrl + C.
GNU/Linux et le réseau

Utilisation des commandes d’administration de base des services réseaux

arp
La commande arp permet de mettre en correspondance des adresses IP et les 
adresses MAC. Les options possibles importantes sont 
arp ­a pour avoir toutes les entrées ARP de la table
arp  ­d nom_de_la_machine pour supprimer une entrée de la table
arp ­s nom_de_la_machine adresses_mac pour ajouter une nouvelle entrée 
dans la table. 

route
Cette commande permet de voir, d'ajouter ou d'enlever les routes se trouvant 
déclarées sur votre machine. Ainsi pour indiquer à votre machine où aller 
trouver les adresses qui ne sont pas les adresses de votre réseau local, vous 
devez lui indiquer la passerelle (ou gateway) vers laquelle elle doit envoyer 
tous les paquets.
Pour voir les routes indiquer  : route –n
GNU/Linux et le réseau

Utilisation des commandes d’administration de base des services réseaux

Pour ajouter une route par defaut : route add default gateway 
192.168.0.1

 (La passerelle vers qui j'envoie tous les paquets qui ne sont pas pour le réseau 
local). 

Pour détruire cette route : route del default
Pour ajouter une route vers une machine indiquer: route add ­host 
195.98.246.28 gateway 192.168.0.1

(Indiquer le netmask si celui­ci n'est pas un mask correspondant à celui 
de votre sous­réseau). 
Pour ajouter une route vers un réseau indiquer : route add ­net 
195.98.246.0 netmask 255.255.0.0 gateway 192.168.0.1
GNU/Linux et le réseau

Utilisation des commandes d’administration de base des services réseaux

netstat
Voilà une commande moins connue et pourtant très utile. Je ne peux ici 
commenter toutes les options, je vous propose de lire le man netstat. Elle 
permet en effet de connaître les ports en écoute sur votre machine,  sur 
quelles interfaces, avec quels protocoles de transport (TCP ou UDP), les 
connexions actives et de connaître les routes. 
Pour voir les connexions actives:  netstat –nt                                                   
Pour les ports ouverts:  netstat ­ntl.
On peut aussi vérifier s'il existe une route par défaut, par exemple existe­t­il 
une route par défaut vers la machine 195.98.246.28 utilisez alors                   
netstat ­nr | grep 195.98.246.28.
L'option ­a énumère les ports en cours d'utilisation ou ceux qui sont écoutés 
par le serveur.
L'option ­i donne des informations sur les interfaces réseau. 
GNU/Linux et le réseau

Utilisation des commandes d’administration de base des services réseaux

traceroute
Traceroute permet de déterminer la route prise par un paquet pour atteindre 
la cible sur internet. On peut utiliser soit l'adresse IP, soit le nom d'hôte. 
Attention certains FireWall ou routeurs ne se laissent pas voir avec la 
commande traceroute.
  La commande traceroute est très utile pour savoir ou peut se trouver un 
blocage (plutôt ralentissement). Il existe un grand  nombre d'options, entre 
autre il est possible de choisir les gateway (jusqu'à 8) pour atteindre une 
machine. Je vous conseille donc encore une fois de lire le man traceroute.  
GNU/Linux et le réseau

Afin de permettre la configuration réseau plus facile Debian fournit un outil de 
configuration haut niveau standard qui comprend les commandes ifup et 
ifdown et le fichier /etc/network/interfaces. Si vous choisissez d'utiliser 
ifupdown pour configurer votre réseau alors vous ne devriez pas utiliser les 
commandes bas niveau aussi. Ifupdown est écrit avec l'hypothèse qu'il sera 
seul utilisé pour configurer et déconfigurer les interfaces réseau. 

Pour mettre à jour la configuration des interfaces, faites ceci : 
# ifdown eth0     
      # editor /etc/network/interfaces  # modifiez à votre convenance                
      # ifup eth0
GNU/Linux et le réseau

Supposons que vous voulez configurer une interface Ethernet de façon à avoir 
l'adresse IP fixe 192.168.0.123. Cette adresse commence par 192.168.0 donc 
elle doit être sur un réseau local. Supposons aussi que 192.168.0.1 est 
l'adresse de la passerelle du réseau local vers l'Internet. Éditez 
/etc/network/interfaces et ajoutez une partie comme suit : 
iface eth0 inet static
address 192.168.0.123
netmask 255.255.255.0
gateway 192.168.0.1
GNU/Linux et le réseau

Si vous avez le paquet resolvconf installé alors vous pouvez ajouter ces lignes 
pour spécifier l'information DNS. Par exemple : 
iface eth0 inet static
address 192.168.0.123
netmask 255.255.255.0
gateway 192.168.0.1
dns­search esgis.tg
dns­nameservers 195.238.2.21 195.238.2.22
GNU/Linux et le réseau

Configurer une interface par DHCP: Pour configurer une interface par DHCP, éditez le 
fichier /etc/network/interfaces afin d'y inclure : iface eth0 inet dhcp

Configurer une interface Wi­Fi: Le paquet wireless­tools inclut un script /etc/network/if­
pre­up.d/wireless­tools qui permet de configurer du matériel Wi­Fi (802.11a/b/g) avant 
qu'une interface soit activée. La configuration se fait à l'aide du programme iwconfig ; 
voir iwconfig(8). Pour chaque paramètre de la commande iwconfig vous pouvez inclure 
une option dans /etc/network/interfaces avec le nom du paramètre préfixé par 
« wireless­ ». Par exemple, pour configurer l'ESSID de eth0 en esgiswifi et la clé de 
chiffrage à 123456789e avant d'activer eth0 par DHCP, éditez /etc/network/interfaces 
comme suit : 
iface eth0 inet dhcp
wireless­essid esgiswifi
wireless­key 123456789e
GNU/Linux et le réseau

iwconfig

lspci pour voir votre controleur wifi

iwconfig eth0 mode managed (configuration du mode)

iwconfig eth0 essid esgiswifi (config de l'ientifiant)

iwconfig eth0 key c8198882882888e6 (configuration de la clé hexadécimale avec WEP)
GNU/Linux et le réseau

Accès à Internet
Mascarade (NAT): Une machine est connecté à internet et doit fournir un 
accès à d'autres ordinateur du réseau local
Deux commandes suffisent à l'activer
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables ­t nat ­A POSTROUTING ­o eth0 ­j MASQUERADE
Dans de nombreuses distributions comme Debian, la première commande est 
remplacée par 
sysctl ­w net.ipv4.ip_forward=1
Elle active la fonction de transfert d'IP du noyau qui est par défaut désactivée. 
La deuxième définit un règle selon laquelle un paquet qui doit quitter le 
réseau local est transmis à l'interface eth0 et manipulé avec le règles du NAT.
Le DNS sous GNU/Linux

Présentation rapide d’un système DNS

L’architecture de réseau TCP/IP sur lequel est basé Internet et la plupart des 
réseaux locaux actuels, utilisent des adresses IP numériques du type 
192.168.0.1. Mais pour faciliter la lecture de ces adresses par l’homme, un 
système permet de transformer ces adresses en adresses plus lisibles comme 
www.esgis.bj. Pour effectuer cette opération, il est nécessaire d’utiliser des 
serveurs DNS. Un serveur DNS fera donc la correspondance entre les adresses 
IP et les noms des domaines. Un serveur DNS s’occupe en général d’un 
domaine limité et s’occupe de transmettre les questions à d’autres serveurs s’il 
ne connaît pas la réponse. 
Le DNS sous GNU/Linux

Principe de fonctionnement de la recherche de noms

Lorsque qu’une demande de résolution de nom est demandée, Linux 
commence par regarder le fichier « /etc/hosts.conf :

order hosts,bind
multi on
● La première ligne de ce fichier indique qu’il faut commencer la recherche en 
regardant la table hosts locale et ensuite il faut interroger le serveur DNS. La 
table hosts locale est enregistrée dans le fichier « /etc/hosts  » elle contient 
une table de correspondance entre des adresses IP et des noms, elle ressemble 
à :
127.0.0.1       localhost.localdomain   localhost
192.168.0.6     debian1.mondomaine.com     debian1
Le DNS sous GNU/Linux

La première ligne est obligatoire pour que le système fonctionne même quand 
le réseau est désactivé. L’adresse IP 127.0.0.1 est toujours associée au nom 
localhost.

Les lignes suivantes peuvent être ajoutées manuellement pour faire la 
correspondance entre des adresses IP et des noms. C’est ce qui est fait en 
l’absence de serveur DNS. Si le résultat n’est pas trouvé dans la table hosts,le 
système recherche le serveur DNS indiqué dans le fichier 
« /etc/resolv.conf » :

search mondomaine.com
nameserver 192.168.0.1
nameserver 194.2.0.50
Le DNS sous GNU/Linux

La première ligne indique quel domaine il faut ajouter au noms si celui­ci n’est 
pas indiqué lors d’une demande de résolution de nom. Exemple : 
 ping serveur.esgis.bj ­> Aucun domaine ne sera ajouté lors de la résolution 
du nom, car le domaine est fourni. 
 ping serveur ­> Le domaine esgis.bj, sera ajouté avant d’effectuer la demande 
de résolution du nom (La recherche du nom, portera donc sur serveur.esgis.bj)

La deuxième ligne indique le serveur DNS principal. Et c’est donc le serveur 
DNS qui sera chargé de donner le résultat s’il connaît la réponse ou de 
transmettre la question à un autre serveur DNS. Si le serveur principal n’est 
pas disponible, le serveur DNS indiqué sur la ligne suivante sera utilisé.
Le DNS sous GNU/Linux

Pourquoi installer un serveur DNS 

Pour au moins deux raisons : 
 Éviter de tenir à jour la table hosts de chaque poste client d’un réseau. 
 Avoir un cache DNS qui accélère la recherche des noms. 
 Sur un réseau locale, un serveur DNS permet d’accélérer le trafic sur le réseau
car de nombreux services ont besoins d’un serveur DNS bien configuré pour 
fonctionner correctement (WEB, POP, SMTP,..)

Installation de Bind 9

Sous Debian, il faut installer le paquet suivant :

# aptitude install bind9
Le DNS sous GNU/Linux

Fichier de Configuration Principal (/etc/bind/named.conf)

Le fichier de Configuration principal « /etc/bind/named.conf » contient la 
liste des zones (ou domaines) que le serveur DNS doit prendre en charge.

Voici un exemple de description de zone :
zone "extraconseil.tg" {
        type master;
        file "/etc/bind/db.extraconseil.tg";
};
Le DNS sous GNU/Linux

Pour chaque domaine à gérer, il faut créer le fichier indiqué dans «  named.conf  ». Dans l’exemple 
précédent, il faudra créer le fichier « /etc/bind/db.extraconseil.tg »

Voici le contenu de ce fichier :

$TTL    604800
Le DNS sous GNU/Linux
@ IN SOA serveur.extraconseil.tg.  olga.extraconseil.tg(
        20041122   ; Serial  ­> N° de série à incrémenter à chaque modif 
                   ;            de ce fichier. Ce N° est utilisé par les
                   ;            serveurs esclaves pour lui indiquer qu'il
                   ;            doit mettre à jour sa base. Par commodité
                   ;            ce n° est une date à l'envers.
        604800     ;Refresh ­>  A l'expiration du délai Refresh exprimé en
                   ;            secondes, le serveur excalve va entrer en
                   ;            communication avec le maitre et si il ne
                   ;            le trouve pas, il fera une nouvelle
                   ;            tentative au bout du délai Retry et si au
                   ;            bout du délai Expire il considerera que le
                   ;            serveur n'est plus disponible.
        86400      ; Retry
        2419200    ; Expire
        604800 )   ; Minimum ­> Durée de vie minimum du cache en secondes                                          
  extraconseil.tg.        IN      NS        serveur.extraconseil.tg.                                                               
   extraconseil.tg.        IN      MX      10      serveur.extraconseil.tg.                                                      
        extraconseil.tg.        IN      A       192.168.1.1                                                                                    
       serveur                    IN      A       192.168.1.1                                                                                     
       www                       IN      CNAME   serveur
Le DNS sous GNU/Linux

La première partie est utilisée pour la gestion maître­esclave des serveurs 
DNS. La deuxième partie  contient la table de correspondance entre les noms 
et les adresses IP. La dernière partie donne les alias possibles pour un même 
nom de serveur.

Résolution Inverse
De nombreux services réseaux utilisent la résolution inverse (Trouver l’adresse 
IP à partir du nom) pour vérifier que le nom est valide. Il est donc nécessaire 
de configurer le serveur pour qu’il prenne également en charge la résolution 
inverse.

Le principe est quasiment le même que pour la résolution classique. il faut 
déjà définir le domaine inverse dans le fichier « named.conf  » comme dans 
l’exemple suivant :

Le DNS sous GNU/Linux
zone "1.168.192.in­addr.arpa" {
        type master;
        file "/etc/bind/db.extraconseil.tg.inv";
};
L’adresse IP doit être indiquée à l’envers et il faut ajouter .in­addr.arpa.
Il faut également définir un nouveau fichier qui ressemblera à ceci :
Le DNS sous GNU/Linux

Installer un serveur secondaire esclave (slave)
– La mise en place d’un serveur secondaire sur un réseau important est vivement 
recommandé pour éviter toute panne de résolutions de noms en cas de 
dysfonctionnement du serveur principale. Sur le deuxième serveur, il faut 
également installer bind :
Le DNS sous GNU/Linux
● Sur le serveur principal, il faut ajouter dans chaque zone à exporter une ligne 
« NS » pour chaque serveur esclave. Exemple :

NS      ServeurEsclave1.mondomaine.com.  ;Nom du serveur esclave N°1
NS      ServeurEsclave2.mondomaine.com.  ;Nom du serveur esclave N°2

Sur le serveur principal, il faut autoriser Bind à transférer les données vers le 
serveur secondaire en ajoutant cette ligne dans 
« /etc/bind/named.conf.options » :

allow­transfer { 192.168.0.1; };

Remarque  : Il faut remplacer l’adresse IP par celle de votre serveur esclave.
Le DNS sous GNU/Linux

Configuration du serveur esclave

Sur le serveur esclave, il faut ajouter dans le fichier « /etc/bind/named.conf.local », les 
zones à importer du serveur principal. Voici un exemple :

zone "extraconseil.tg" {
       type slave;
       file "db.extraconseil.tg ";
       masters {192.168.1.1; };
};

zone "1.168.192.in­addr.arpa" {
       type slave;
       file "db.extraconseil.tg.inv";
       masters {192.168.1.1; };
};
Le DNS sous GNU/Linux

Test du serveur esclave

La mise à jour des données du serveur esclave, se fera au moment du redémarrage 
du serveur maître si le champ «  Serial  » de la zone concernée est supérieur sur le 
maître par rapport à l’esclave. Pour vérifier que tout fonctionne correctement, il 
faut regarder les logs au niveau du serveur esclave et au niveau du serveur maître.

Lors du démarrage du serveur, les fichiers contenant la résolution des noms, 
seront importés dans « /var/cache/bind »

Remarque : Il est possible de supprimer les fichiers enregistrés dans 
« /var/cache/bind » car ils seront recréés au prochain démarrage du serveur 
maître.

Le DNS sous GNU/Linux

Tester la résolution des noms

Il existe plusieurs outils pour tester le bon fonctionnement de la résolution des 
noms :
– ping
– La commande «  ping  » est la plus simple (mais la plus limité). Elle permet de 
tester la résolution du nom, mais pas la résolution inverse :
– $ ping NomDuServeur
– host 
– La commande «  host  », permet de tester la résolution du nom et la résolution 
inverse :
– $ host NomDuServeur ou $ host AdresseIPduServeur
Le DNS sous GNU/Linux
– nslookup
– La commande «  nslookup  » du paquet «  dnsutils  », permet également de 
tester la résolution du nom et la résolution inverse :
– $ nslookup NomDuServeur
– ou :
– $ nslookup AdresseIPduServeur
– dig
– La commande « dig » du paquet «  dnsutils  », permet également de tester la 
résolution du nom et la résolution inverse. Mais la commande «  dig  » permet 
surtout d’interroger directement le serveur bind et obtenir de nombreuses 
autres informations :
Le DNS sous GNU/Linux

$ dig NomDuServeur.NomDuDomaine
– Remarque : Le nom du domaine est obligatoire pour obtenir une réponse 
(ANSWER SECTION)
– ou :
– $ dig ­x AdresseIPduServeur

Remarque : Le paramètre « ­x » est obligatoire pour obtenir une réponse 
(ANSWER SECTION)

dig [@server] [­b address] [­c class] [­f filename] [­k filename][­p port#] 
[­t type] [­x addr] [­y name:key] [­4] [­6] [name]  [type] [class] [queryopt...]
FIN

Vous aimerez peut-être aussi