Vous êtes sur la page 1sur 37

Introduction Administration Revision 2013

Table des matières


1- Installation ------------------------------------------------------------------------------------------------------------------------ 4
1.1- Système -------------------------------------------------------------------------------------------------------------4
a-Partitionnement: -------------------------------------------------------------------------------------------------------------------- 4
b-Désignation des drivers de contrôle du disque -------------------------------------------------------------------------------- 6
1.2- Démarrer (sous) LINUX ----------------------------------------------------------------------------------------7
a-Démarrage du noyau --------------------------------------------------------------------------------------------------------------- 7
b-Connexion --------------------------------------------------------------------------------------------------------------------------- 7
c-Les commandes --------------------------------------------------------------------------------------------------------------------- 7
d-Multi-connexions ------------------------------------------------------------------------------------------------------------------- 7
e-Déconnexion et arrêt (volontaire) ----------------------------------------------------------------------------------------------- 8
f-Les scripts de connexion ---------------------------------------------------------------------------------------------------------- 8
g-Personnalisation du shell ---------------------------------------------------------------------------------------------------------- 8
h-Personnalisation du login utilisateur -------------------------------------------------------------------------------------------- 8
1.3-le processus de démarrage---------------------------------------------------------------------------------------9
1.4-Les niveaux de fonctionnement---------------------------------------------------------------------------------9
1.5-Le premier processus, init ---------------------------------------------------------------------------------------9
1.6-Vie et mort des processus -------------------------------------------------------------------------------------- 10
a-Le multi-boot ----------------------------------------------------------------------------------------------------------------------- 11
b-Le chargeur d'OS LILO ---------------------------------------------------------------------------------------------------------- 11
1.7- Packages --------------------------------------------------------------------------------------------------------- 11
2- Systèmes de fichiers --------------------------------------------------------------------------------------------------------------- 12
2.1- commandes fdisk, mkfs, fsck --------------------------------------------------------------------------------- 13
2.2- commandes mount, umount, dd, df, du -------------------------------------------------------------------- 13
2.3- RAID avec mdadm --------------------------------------------------------------------------------------------- 17
a. Préparation ------------------------------------------------------------------------------------------------------------------------- 17
2.4-Logical Volume Manager-------------------------------------------------------------------------------------- 18
a-Les volumes physiques ----------------------------------------------------------------------------------------------------------- 19
b-Les groupes de volumes ---------------------------------------------------------------------------------------------------------- 19
c- Les volumes logiques ------------------------------------------------------------------------------------------------------------ 19
d- Agrandissements et réductions ------------------------------------------------------------------------------------------------- 20
d- Supprimer un groupe de volumes ---------------------------------------------------------------------------------------------- 21
2.5- Commandes tar, zip, gzip, bzip2 ---------------------------------------------------------------------------- 21
2.6- commande cpio ------------------------------------------------------------------------------------------------- 22
3- Configuration et planification réseau ------------------------------------------------------------------------------------------ 23
3.1 - Cartes réseaux et adresses IP-------------------------------------------------------------------------------- 23
3.2-Fichiers de configuration -------------------------------------------------------------------------------------- 23
4- Gestion des utilisateurs--------------------------------------------------------------------------------------------------------- 25
Les groupes ----------------------------------------------------------------------------------------------------------- 26
les fichiers des comptes et des groupes--------------------------------------------------------------------------- 27
Structure de /etc/passwd -------------------------------------------------------------------------------------- 27
Structure de /etc/group ---------------------------------------------------------------------------------------- 27

A.MESBAHI Page 2 sur 38


Introduction Administration Revision 2013

Structure de /etc/shadow ------------------------------------------------------------------------------------------- 27


Compléments --------------------------------------------------------------------------------------------------------- 28
5- Gestion impression ---------------------------------------------------------------------------------------------------------------- 29
Le système d'impression-------------------------------------------------------------------------------------------- 29
Configuration du service d'impression -------------------------------------------------------------------------- 29
7-Introduction au service NFS ----------------------------------------------------------------------------------------------------- 31
7-1Généralités -------------------------------------------------------------------------------------------------------- 31
7-2-Installation-Sur le serveur NFS ------------------------------------------------------------------------------ 31
7-3-Sur la station cliente -------------------------------------------------------------------------------------------- 32
8-DHCP sous LINUX ---------------------------------------------------------------------------------------------------------------- 33
9-Installation d'un serveur FTP : ProFTP ---------------------------------------------------------------------------------- 35
Accès en anonymous ---------------------------------------------------------------------------------------------------------------- 38

A.MESBAHI Page 3 sur 38


Introduction Administration Revision2013

1- Installation
1.1- Système

Installer Linux sur sa machine est la première étape pour aborder avec profit ce cours d’administration. Installer Linux à
partir d’une distribution sur CD-ROM est relativement aisé si on dispose d’une machine qui peut booter à partir du
lecteur CD et qu’on suive pas à pas les indications du programme d’installation. Toutefois quelques indications sont
utiles pour mener à bien l’installation. Ces indications concernent deux points essentiels de l’installation : le
Partitionnement du disque et le système de boot.
ci-dessous on rappelle une arborescence Linux de base

lib librairies et modules

etc Fichiers de configuration

Commandes principales
bin disponibles pour tous

boot Fichiers de démarrage du


système contenant le noyau

dev Point d’entrée vers les périphériques

/ home Répertoires personnels des utilisateurs

mnt Montage périphériques

usr Logiciels supplémentaires

var Journaux systèmes (log)

Système de fichiers virtuel (VFS) contenant


proc des infos sur les processus en cours d’exécution

root Répertoire personnel du super- utilisateur

a-Partitionnement:
La partition est le concept de base pour le travail avec le disque dur. Le Partitionnement consiste à
transformer un disque physique en un disque de données.
On distingue deux types de partition :
• Partition principale
• Partition étendue ou secondaire
Partition principale :
C’est une partition qui va être amorçable càd que le système peut démarrer avec. Une telle partition
contient un secteur d’amorçage.
On peut avoir quatre partitions principales sur un disque.

A.MESBAHI Page 4 sur 38


Introduction Administration Revision2013

Partition étendue :
Le reste de l'espace sur le disque peut être groupé en une seule partition étendue. Au maximum, on
peut avoir une seule partition étendue.
Lecteur logique :
Les lecteurs logiques divisent la partition étendue. Ainsi il est possible de créer autant de lecteurs
logiques que de lettre de l’alphabet dans les systèmes Windows.

L’outil pour créer des partions dans Windows et Linux : fdisk


Généralement deux interfaces sont disponibles sur le marché :
• IDE récemment remplacé par le SATA
• SCSI
L’interface IDE est le plus répondu sur le marché à cause de sa simplicité et son coût
Deux interfaces sont disponibles sur la carte mère IDE0 et IDE1
Quatre unités de disques ou de CDROM peuvent être montées sur les deux connecteurs. Un réglage
des unités est obligatoire pour les configurer soit en master (maître ) ou (slave). La vitesse de
transfert pour le IDE est moyennement de 16Mo/s. Le connecteur IDE comporte 40 pins.
Le SATA est le nouveau contrôleur équipant l’ensemble des machines . le connecteur a été réduit et
devient série. Donc moins encombrant. La vitesse de transfert est considérablement améliorée
(150Mo/s pour SATA1 600Mo/S pour SATA2)
L’interface SCSI est plus performant que son prédécesseur plus cher. On peut monter jusqu’à sept
unités de disques ou de CD sur la même nappe de 50 Pins. Il nécessite une carte annexe , qui
dispose de son propre BIOS SETUP. La vitesse de transfert pour le SCSI est moyennement de
40Mo/s, actuellement elle est de 640Mo/s poue le SCSI3
Linux peut s’installer sur une partition d’un disque hébergeant d’autres systèmes d’exploitations.
Seule contrainte valable pour tous les systèmes d’exploitations tournant sur PC, le noyau de
démarrage d'Unix doit résider dans une partition se trouvant dans la zone du disque inférieur à 2
Go. Pour cela on se essaye de faire loger les partitions bootables dans la zone du disque inférieure à
2 Go et le reste des fichiers des systèmes d’exploitations ailleurs sur disque.
Pour le chargeur initial de Linux (LILO GRUB ) on a la possibilité de l’installer soit dans le
MBR soit dans le secteur de boot de La partition primaire de boot Linux. Si lilo est installé dans le
MBR, il sera le premier à se lancer et à afficher son prompt “boot” qui risque de dérouter les
éventuels utilisateurs non familiarisé avec Linux. Par contre si lilo est installé dans le secteur de
boot de la partition de boot, on pourra toujours activer la partition Windows (ou autre os) et
lilo/Linux ne sera pas visible. Dans ce cas, si on veut travailler sur Linux on activera la partition de
boot Linux. Quelque soit l’endroit d’installation de lilo, on pourra lancer n’importe quel OS à partir
de lilo. Il est intéressant de séparer les partitions des données (/home et /usr ) de la partition racine
(/) pour des raisons de sécurité et de facilité de maintenance ou d’upgrade du système. La taille
effective des divers partitions dépendra de la nature des fichiers à installer par la suite sur le
système, toutefois on peut observer à titre indicatif les règles suivantes:
Taille typiques et purement indicatives des partitions

A.MESBAHI Page 5 sur 38


Introduction Administration Revision2013

• 10 à 30 Mo suffiront largement à la partition de boot


• la partition de swap aura autant d’espace que de mémoire vive sans toutefois dépasser 128
mégaoctets
• la moitié de l’espace libre sera réservé à /usr et / et /home se partageront le reste
b-Désignation des drivers de contrôle du disque

le type de bus peut être :


• hd : Périphériques IDE
• sc : Périphériques SCSI
• sd : Périphériques SATA
Sur Linux pour PC avec des disques IDE les conventions suivantes sont utilisées:
• /dev/hda désigne le disque (ou CD) monté sur IDEO en master
• /dev/hdb désigne le disque (ou CD) monté sur IDEO en slave
• /dev/hdc désigne le disque (ou CD) monté sur IDE1 en master
• /dev/hdd désigne le disque (ou CD) monté sur IDE1 en slave
de même pour des disques SCSI
• /dev/sca pour le premier disque
• /dev/scb pour le deuxième disque
• /dev/scc pour le troisième disque etc…
De même pour le SATA
• /dev/sda pour le premier disque
• /dev/sdb pour le deuxième disque
/dev/sdc pour le troisième disque
Exemples
• /dev/hda1 : Partition 1 sur le 1er disque IDE
• /dev/sdb2 : Partition 2 sur le 2ème disque Sata
/dev/hda2

/dev/hda1 /dev/hda5 /dev/hda6 /dev/hda7 /dev/hda8 /dev/hda9


D: \ E:\ F: \ G: \ H:\
C: \

Remarquons que les chiffres hda3 et hda4 ne figureront pas lorsque l’on n’a pas ajouté deux autres
partions principales sur le disque.

A.MESBAHI Page 6 sur 38


Introduction Administration Revision2013

1.2- Démarrer (sous) LINUX


a-Démarrage du noyau
• Après le chargement du bios, il y a exécution du chargeur de système LILO (Linux
LOader, installé le plus souvent dans le MBR). Le prompt LILO: s'affiche, et au bout de
quelques secondes (durée réglable), le système par défaut s'installe, pour nous c'est Linux,
version Mandrake 6.1 .
• Usuellement, cette initialisation s'effectue en niveau 3, mode multi-utilisateurs avec les
services réseau activés. Mais le niveau de chargement par défaut est réglable dans le fichier
/etc/inittab.
• Pendant ce court laps de temps, l'utilisateur peut donner des directives à LILO, notamment
pour démarrer le système suivant un autre niveau que le niveau par défaut. Ainsi, on peut
entrer :
o linux 1 (single), si on veut travailler exclusivement en mode mono-utilisateur
o Linux 5, pour démarrer le serveur X, et un Window Manager, directement
en niveau 5 graphique
• Le compte-rendu de l'initialisation, en particulier des chargements des pilotes de
périphériques, se trouve dans /var/log/dmesg Les messages générés pendant l'initialisation
du système sont consultables avec la commande dmesg
b-Connexion
Travailler sous le système LINUX, même en dehors de tout contexte réseau, implique une
connexion au système.Une session monoposte n'est jamais anonyme.
Le processus d'identification est classique :
• Donner le nom d'utilisateur (login :)
• puis le mot de passe (password :)
• Si le compte est authentifié sur la machine, il y a rappel de la précédente connexion sous le
même nom.
• Observer le prompt [user@machine rép-perso] qui est modifiable; sa notation symbolique,
[\u@\h \W]\$, est donnée par echo $PS1voir sa définition dans /etc/profile
c-Les commandes

Les commandes les plus simples sont les plus utilisées : elles sont internes au noyau , comme
ls,cp ...
D'autres peuvent être des alias, des pseudos d'autres commandes.
Par exemple ll est défini comme alias de ls -l , x de startx, m de mc -c ...
Ce shell regarde si la commande que l'utilisateur lui lance est interne. Sinon, s'il s'agit d'un
alias d'une autre commande.
Sinon, il recherche un programme sur le système de fichiers, portant le nom de la commande, en se
servant des chemins listés dans la variable $PATH.
S'il trouve un tel programme, il l'exécute, en lui passant les arguments spécifiés sur la ligne de
commande.

d-Multi-connexions
Le système Linux est multi-utilisateurs . On peut se connecter plusieurs fois sur une même machine
sous des identités différentes.
Pour cela on peut ouvrir des terminaux ou consoles virtuelles avec Alt-Fx, x=1 à 6, puis passer de
l'une à l'autre avec la même commande.

A.MESBAHI Page 7 sur 38


Introduction Administration Revision2013

e-Déconnexion et arrêt (volontaire)


• Pour se déconnecter, entrer exit ou logout
Cela relance l'attente de login.
• Evidemment, il ne faut pas éteindre brutalement ou rebooter sauvagement ! Chaque
processus actif doit recevoir du noyau du système la directive de s'arrêter proprement, les
systèmes de fichiers doivent être démontés.
• En cas de coupure brutale, le système effectuera des réparations au prochain démarrage, à
l'aide de l'utilitaire fsck, avant de procéder à l'initialisation du système.
• Pour arrêter le système, l'administrateur root lance l'une des commandes suivantes :
• arrêt immédiat
halt (= shutdown -h now)
• arrêt différé
shutdown -h <nb mn il s'écoule <nb min minutes entre l'avertissement et
l'arrêt.
• reboot
shutdown -r [<nb mn | now] ou reboot ou ctrl-alt-del
• On peut éteindre à l'invite du message : The system is halted
f-Les scripts de connexion
1. d'abord le script /etc/profile communs à tous les users y compris root
2. celui-ci cherche à exécuter tous les scripts /etc/profile.d/*.sh (percourir
alias.sh et numlock.sh)
3. puis il y a exécution de $HOME/.bash_profile (la variable $HOME contient le chemin
vers le répertoire personnel). Il s'agit ainsi d'un fichier de démarrage personnel et
paramétrable.
4. A son tour il exécute $HOME/.bashrc dans lequel il est recommandé de placer toutes les
fonctions ou alias personnels (car .bashrc est exécuté dans tout shell)
5. Enfin le précédent exécute /etc/bashrc, dans lequel on place les alias globaux et la
définition du prompt $PS1
6. Puis le prompt utilisateur s'affiche et le shell attend une commande ...
g-Personnalisation du shell
/etc/bashrc est le dernier script d'initialisation du shell bash. Il contient des alias
redéfinissables ou à compléter par l'utilisateur root.
Il suffit donc d'éditer et de compléter le fichier par défaut; par exemple :
# vi /etc/bashrc (ou bien sûr utiliser l'éditeur de Midnigth Commander, lancer mc )
alias l=""ls --color=tty -F -b -T 0"
alias ll="l -l"
alias lp="ll | more"
alias la="ll -a"
alias x="startx"
alias m="mc -c"
:wq (pour écrire dans le fichier et quitter vi)

h-Personnalisation du login utilisateur


Chaque utilisateur peut ajouter des commandes shell au fichier de profil personnel,
~/.bash_profile
Par exemple, voici ce que j'ai mis à la fin de ce fichier :
clear
salut="Bonjour $USER !"
# $USER contient le nom de connexion

A.MESBAHI Page 8 sur 38


Introduction Administration Revision2013

echo "Nous sommes le $(date)"


# $( .. ) permet d'obtenir le résultat de l'exécution de la
commande incluse

1.3-le processus de démarrage

Lancement du système : boot et chargement du noyau


• Au boot le BIOS exécute le MBR (Master Boot Reccord) situé sur le premier secteur (512
octets) du support bootable choisi (disque, CD, clef USB, ...)
• Le MBR :
o scanne le disque pour trouver LA partition bootable (flag)
o lance le boot loader (chargeur de démarrage) du secteur de boot (premier secteur) de
la partition bootable
• Le bootloader :
o charge le noyau en mémoire et l'exécute
o charge le ramdisk initrd.img en mémoire
o 2 bootloader possibles:
Lilo (Linux Loader)
Grub (Grand Unified Bootloader)
Une fois le noyau chargé en mémoire, il lance le premier processus : /bin/init
• init est le père de tous les autres processus qui seront créés par l'appel system fork()
• init lit le fichier /etc/inittab pour savoir :
o quel est le fichier à exécuter pour continuer le chargement du système
o quel est le runlevel (niveau d'exécution) par défault
o comment lancer les services pour un runlevel donné

1.4-Les niveaux de fonctionnement


Ces 6 niveaux sont décrits au début du fichier /etc/inittab
• 0 : provoque un arrêt (shutdown) de la machine
• 1 : mode mono-utilisateur, réservé à root
• 2 : mode multi-utilisateurs, sans NFS
• 3 : mode multi-utilisateurs avec tous les services réseaux
• 5 : démarrage du serveur graphique X11 en plus
• 6 : redémarrage de la machine (la commande reboot lance le niveau 6).

La ligne qui suit définit le niveau de fonctionnement par défaut au démarrage (Default runlevel), ici
le niveau 3
id:3:initdefault
Donc pour changer de niveau par défaut, il suffit tout simplement de changer ce numéro !

1.5-Le premier processus, init


Après le chargement du noyau, le script correspondant à sysinit dans fichier inittab est chargé :
o Mandrake : /etc/rc.d/rc.sysinit
o Debian : /etc/rc.d/rcS lance les scripts /etc/rcS.d/S??*
Ce script d'initialisation est chargé de 2 tâches fondamentales :
o charger les modules dans le noyau (gestion des périphériques)
o démarrer les services en exécutant les processus «Deferred Auxiliary Executive Monitor»
(daemons) correspondant, en français : démons
Exemple de démons

A.MESBAHI Page 9 sur 38


Introduction Administration Revision2013

kswapd swap mémoire <-> disque


kflusd écriture physique des données
nfsd serveur fichiers réseaux (NFS)
portmap mise en correspondance numéro de ports TCP/IP <-> numéro de processus RPC
xinetd super-serveur de gestion des services réseau
ftpd serveur de transfert de fichiers (FTP)
httpd serveur http
Le mécanisme de démarrage des services est caractéristique d'une distribution ( : incompatibilités
entre distributions) :
• Mandriva, Debian, RedHat, ... mécanisme dérivé d' «Unix System V»
• Slackware, FreeBSD, NetBSD, ... mécanisme dérivée d' «Unix BSD»
le répertoire /etc/init.d contient tous les scripts de gestion des services installés (1 service <-> 1 ou
plusieurs démon(s))
• les lignes «/etc/rc.d/rc x» du fichier /etc/inittab déterminent le lancement des scripts pour le
runlevel x
• Le runlevel de l'action initdefault est lancé par le ligne correspondante

Le runlevel (numéro de 0 à 6) fixe le répertoire de démarrage des services :


o Mandrake -> répertoires /etc/rc.d/rc[0-6].d
o Debian -> répertoires /etc/rc[0-6].d
rcX.d : contient des liens symboliques vers les scripts de gestions des services qui sont dans le
répertoire :
o /etc/rc.d/init.d (Mandrake, + lien symbolique vers /etc/init.d)
o /etc/init.d (Debian)
Les liens sont formés selon la syntaxe : [S|K]XX<nom_du_script>
o -S lance le script avec l'argument start (démarrage du service)
o -K lance le script avec l'argument stop (arrêt du service)
o XX est un rang qui fixe l'ordre dans lequel les scripts sont lancés

1.6-Vie et mort des processus


Un processus est un programme en cours d'exécution.
Le noyau Linux lance, gère les processus et contrôle leur échanges avec les périphériques. Il tient à
jour une table des processus en exécution
Le premier processus, ancêtre de tous les autres est init. Tous les processus successifs sont créés
par un processus parent et appartiennent à un utilisateur. Chacun est identifié par un numéro, son
PID
Il peut être important de connaître le PID d'un processus, ne serait-ce pour pouvoir le "tuer", s'il ne
répond plus et bloque une console
Voici comment consulter la table des processus et si besoin agir !
ps liste des processus
ps aux : donne tous les processus, avec leur numéro PID
ps aux | less : pour contrôler le défilement
ps aux | grep X11 : pour n'afficher que les lignes concernant le
processus cherché.
kill PID : met fin normalement à la tâche
kill -9 PID : action si nécessaire encore plus radicale !

A.MESBAHI Page 10 sur 38


Introduction Administration Revision2013

a-Le multi-boot
• La cohabitation est tout-à-fait possible et même fructueuse entre les 2 systèmes sur la même
machine. On les installe dans 2 partitions différentes.
• Gestion du multiboot avec :
• GRUB
• LILO.
b-Le chargeur d'OS LILO
Exemple commenté de fichier /etc/lilo.conf

# lilo est installé dans le MBR du 1er disque


pour l'installer sur disquette, mettre boot=/dev/fd0

boot = /dev/hda
# transmission à LILO du fichier binaire contenant la description des noyaux
map=/boot/map
# fichier binaire utilisé comme secteur de démarrage
install=/boot/boot.b
# indique le label de l'image à chager, sinon c'est le premier rencontré
default=Linux
# affiche un texte explicatif au démarrage
message=/boot/message
# vga spécifie l'affichage en mode texte
# normal (80x25), extended (132x44 ou 132x60) ou ask (choix au demarrage)
vga = normal
# active le mode interactif
prompt
# chargement automatique dans 5 secondes du premier système
timeout = 50
# fichier contenant l'image du noyau Linux à charger
image=/boot/vmlinuz-2.2.13-7mdk
label = linux
# partition où se trouve la racine / du système de fichiers
# Pour une disquette root=/dev/fd0
# Si rien n'est specifie, le système utilise le résultat de la commande rdev.
root = /dev/hda2
read-only

1.7- Packages
Un package est un produit (logiciel) dont les divers éléments nécessaires à son installation ont été
rassemblé dans un unique fichier facilement instalable.
• Le format Read Hat (RPM : ReadHat Package Manager) : fichiers *.rpm
• Le format DEBIAN (DPKG : Debian PacKaGe) : fichiers *.deb
• Le format tar (archive) :
fichiers *.tar : archive créée par la commande Unix tar
fichiers *.tar.gz : archive tar comprimée par gzip
fichiers *.tar.bz2 : archive tar comprimée par bzip
Les systèmes de gestions de paquets Read Hat ou Debian permettent une gestion très puissante des
applications installées sous GNU/Linux :
• Création des paquets (compilation et création du paquet source ou du paquet binaire)
• Installation des paquets (gestion des composants nécessaires)
• mise à jour des paquets (gestions des dépendances, des conflits, ...)
• Suppression des paquets (gestion des dépendances, et de tout ce qui a été installé)
• Interrogation :
liste des paquets,

A.MESBAHI Page 11 sur 38


Introduction Administration Revision2013

fichiers contenus dans un paquet donné,


quel paquet contient un fichier donné,
Mandriva (comme Debian) propose 2 niveaux de commandes :
Niveau du paquet : rpm (Debian : dpkg)
la gestion des dépendances est purement informative, sans résolution automatique => il faut
installer tous les paquets » à la main »
Niveau global : urpm[iqfe] (Debian : apt (advanced paquet tool))
la gestion des dépendances est totale : les paquets requis sont automatiquement rajoutés à la liste
des paquets à installer
Il existe des interfaces graphiques pour le niveau global :
• Mandriva : drakrpm
• Debian : synaptic, aptitude
Commande rpm : infos sur les paquets installés
options de confort :
v : verbose mode ;
h : barre d'avancement tracée avec des #
• Installation (install) : rpm -ivh nom_du_paquet
Exemple : rpm -ivh acpid-1.0.4-4mdk.rpm
• mise à jour (update) : rpm -Uvh nom_du_paquet
• Exemple :: rpm -Uvh acpid-1.0.4-4mdk.rpm
• Suppression (erase) : rpm -e nom_du_paquet
Exemple : : rpm -e acpid
• Interrogation (query) :
- Informations sur un paquet : rpm -q nom_paquet_court
Exemple : : rpm -q emacs (réponse : emacs-21.3-20mdk)
- informations sur un paquet : rpm -qi paquet
- liste des fichiers d'un paquet installé :
rpm -ql paquet_installé , ou rpm -ql -p fichier_rpm
Exple : rpm -ql cups
- liste de tous les paquets installés : rpm -qa
- rechercher si un paquet est installé : rpm -qa | grep paquet
- recherche des paquets installés contenant un fichier :
rpm -qf nom_de_fichier_absolu
Exemple : rpm -qf /usr/sbin/cupsd
Commande urpmi (installer un paquet) : urpmi gère les installations à partir de divers médias :
• ftp, http,
• volumes nfs et locaux,
• médias amovibles (CD, DVD, ...)
La configuration des sources (origines) de l'installation est donnée par le fichier
/etc/urpmi/urpmi.cfg
On peut modifier les sources de la distribution :
• urpmi.removemedia : permet de supprimer des entrées
• urpmi.addmedia : permet d'ajouter de nouvells entrées
Syntaxe de urpmi est très simple : urpmi nom_du_paquet
Si nécessaire, urpmi demande d'insérer le médium nécessaire

2- Systèmes de fichiers
Un système de fichiers est un espace de stockage d’informations sur un média donné (disque,

A.MESBAHI Page 12 sur 38


Introduction Administration Revision2013

cdrom, etc) structuré (formaté) selon une organisation donnée. Le système de fichier utilisé par
défaut sous Linux est le format Ext2. Les cdroms utilisent le standard iso9660, le système DOS
utilise FAT, Windows 98 VFAT et Windows NT utilise NTFS.
Unix utilise obligatoirement un système de fichier racine “monté” dans un répertoire “/“. Ce
système de fichier peut occuper tout un disque ou uniquement une partition sur disque. Tous les
autres disques et ou partitions doivent être “montés”, c’est-à-dire attachés, à un sous répertoire
direct ou pas du répertoire racine. La notion de “lecteur” qu’on trouve sous Windows n’existe pas.
Les lecteurs sont de simples répertoires auxquels on a attaché le répertoire racine de l’unité en
question qu’elle soit disque ou partition. On peut également sous Unix attacher (monter) tout type
de systèmes de fichier, même non Unix.

2.1- commandes fdisk, mkfs, fsck


fdisk permet de gérer les partitions sur disque. On l’invoque avec comme paramètre le fichier
device du disque, par exemple fdisk /dev/hda Principales commandes de fdisk
• m : obtenir une aide sur les commandes
• p : afficher la table des partitions
• d : supprimer une partitionnement
• a : active / désactive une partition principale.
• n : crée une nouvelle partition
• q : quitter sans sauvegarde w: quitter avec sauvegarde
mkfs permet de créer un système de fichier sur un device. Créer un système de fichier est en
quelques sorte “formater” selon ce système de fichier. La syntaxe générale de mkfs est:

mkfs -t type device

par exemple mkfs. -t ext2 /dev/hda3 créera (formatera) la partition /dev/hda3 en ext2.

Fsck permet de tester et éventuellement réparer un système de fichier suite à problème survenu sur
le disque, par exemple si le système est arrêté sans shutdown. La syntaxe de cette commande est
simplement “fsck device”, par exemple

fsck -a /dev/hdb2
la commande précédente répare automatiquement sans poser de questions tous les problèmes
rencontrés.

2.2- commandes mount, umount, dd, df, du


Les commandes mount et umount permettent respectivement de monter et démonter un système
de fichier. La syntaxe générale de mount est:
mount -t type device répertoire
où type est le type de systèmes de fichier, device le fichier device (driver) contrôlant le périphérique
ou l’adresse réseau (pour nfs) et répertoire est le répertoire où sera attaché le nouveau système de
fichier. On remarquera que le contenu initial du répertoire sera caché par le système de fichier
monté durant tout le temps ou celui-ci reste monté.
Exemples:
mount -t vfat /dev/hda2 /win
la commande précédente monte la partition (/dev/hda2) Windows de type vfat dans un répertoire
unix (/win)

A.MESBAHI Page 13 sur 38


Introduction Administration Revision2013

mount -t nfs 192.168.10.1:/expert/partage /partage -o ro


la commande precédente monte un répertoire partagé par un serveur nfs dans le répertoire unix
/partage en lecture uniquement (-o ro)
mount -t smbfs //domsrvd /dsqd -o ip= 192.168.10. 1O,workgroup=compta,rw,guest

la commande précédente monte un répertoire partagé par Windows ou par un serveur samba dans le
répertoire unix /dsqdc. On a spécifié dans les options l’adresse IP du serveur, le nom du workgroup
windows, le fait qu’on monte le système de fichier en read/write et le fait qu’on y accède sans mot
de passe (guest).
mount / -o rw,remount
la commande précédente remonte (sans démonter) le système de fichier racine en mode read/write.
Cette commande est utile parfois quand le démarrage se plante et le système démarre en mono-
utilisateur avec un système de fichier en lecture uniquement. Or on ne peut pas “démonter” / pour la
remonter ensuite, d’où l’utilité du “remount”.
mount -t iso9660 cd.image /cd -o loop,blocksize=1M

la commande précédente est une merveilleuse particularité du système Ext2 de Linux. Elle permet
de monter de manière récursive (loop) un système de fichier dans un fichier appartenant à un autre
système de fichier ! En clair, cd.image contient par exemple l’image d’un CD-ROM créée par la
commande dd. En montant cette image dans le répertoire /cd, celui-ci devient la réplique exact du
CD-ROM dont on a sauvegardé une image. Remarquez que cette astuce permet d’économiser
énormément d’espace qu’une simple copie des fichiers du CD-ROM vers le disque. En effet le
disque à un système de fichier forcément plus expansif (plus gourmand, mais plus sophistiqué)
qu’un système de fichier sur CD-ROM.
peut automatiser les opérations de montage des systèmes de fichier lors du démarrage du système
en précisant dans le fichier /etc/fstab les systèmes de fichiers et leurs propriétés.
umount s’utilise simplement de la manière suivante “umount device” ou “umount
répertoire” Remarquez qu’on ne peut démonter un device utilisé par un process quelconque. On
ne peut non plus éjecter un CD-ROM monté.
dd est la commande “disk dump” elle est précieuse quand on veut faire des images de cdrom, de
disquette, de partitions ou de disques entiers dans un seul fichier Cette commande copie “bêtement”
secteur par secteur en effectuant éventuellement des blocs de taille à préciser par l’utilisateur. Par
exmple

dd if=/dev/fdO of=disquette.image

la commande précédente créée l’image fidèle d’une disquette dan le fichier disquette.image Avec
cette commande, vous pouvez sauvegarder sur disque toutes les disquettes des drivers que vous
avez sur disquette et que vous risquez de perdre suite à des défectuosité sur disquette.

dd if=disquette.image of=/dev/fdO
la commande précédente effectue la commande inverse de la précédente, à savoir créé une disquette
à partir d’une image stoker sur disque.

dd if=/dev/cdrom of=cd.image bs=1M count=637

la commande précédente stoque dans le fichier cd.image l’image d’un cdrom en premant 637 blocs
de i méga-octets. Cette information sur la taille du CD-ROM en mégaoctets peut être obtenue par la
commande “df -h”

A.MESBAHI Page 14 sur 38


Introduction Administration Revision2013

df affiche l’espace disque libre sur les partitions montés, avec l’option -h l’affichage est plus lisible.

du donne l’usage du disque en terme d’espace occupé par fichiers et répertoires. Un usage typique
est:

du -s * I sort -n -r

cette commande donne le résumé des tailles des répertoires et fichiers du répertoire courants et tri le
résultat un tri numérique par taille décroissante des fichiers.

Les quotas disques


1. Définitions
Les quotas permettent de poser des limites à l’utilisation de systèmes de fichiers. Ces limites sont
de deux types :
• inodes : limite le nombre de fichiers.
• blocs : limite la taille disque.
Les quotas sont implémentés par système de fichiers individuel et pas pour l’ensemble des systèmes
de fichiers. Chaque utilisateur peut être géré de manière totalement indépendante. Il en est de même
pour les groupes. Pour chaque utilisation (inode ou bloc), vous pouvez mettre en place deux limites
dans le temps :
• Limite dure (hard) : quantité maximale d’inodes ou de blocs utilisés que l’utilisateur ou le groupe
ne peuvent absolument pas dépasser. Dans ce cas, plus rien ne sera possible (création de fichier ou
fichier dont la taille dépasse la limite).
• Limite douce (soft) : quantité maximale d’inodes ou de blocs utilisés que l’utilisateur ou le
groupe peuvent temporairement dépasser. Dans ce cas, les créations et modifications seront
possibles jusqu’à un certain point : limite dure et délai de grâce.
• Un délai de grâce est mis en place. Durant ce temps, l’utilisateur peut continuer à travailler sur le
système de fichiers. Le but est qu’il revienne à terme sous la limite douce. Le délai dépassé, la
limite douce devient la limite dure. Quoi qu’il arrive, l’utilisateur ne pourra jamais dépasser la
limite dure.
Les quotas sont implémentés dans le noyau Linux et au sein des systèmes de fichiers. Pour les
utiliser, les outils de quotas (packages quota) doivent être installés. Les manipulations suivantes
sont effectuées sur un système de fichiers ext3.
2. Mise en place
Pour activer le quota sur sur la partition /home en respectant les étapes suivantes :
• dans /etc/fstab. On rajoute dans les options usrquota (utilisateur) ou grpquota (groupe), ou les
deux.
LABEL=/home /home ext3 defaults,usrquota 1 2
• Remontez le système de fichiers.
# mount -o remount /home
• Créez les fichiers contenant les informations de quota (base de données de quotas).
# cd /home
# touch aquota.user aquota.group
• Mettez à jour la base de données avec la commande quotacheck.
# quotacheck -c /home
• Démarrez (ou arrêter) les quotas. Cette opération n’est pas nécessaire après un redémarrage de
Linux car la mise en place des quotas est comprise dans les scripts de démarrage. La commande
quotaon démarre les quotas pour le système de fichiers indiqué (-a pour tous).
#quotaoff stoppe les quotas.
#quotaon /home active les quotas sur /home

A.MESBAHI Page 15 sur 38


Introduction Administration Revision2013

• Éditez les quotas pour les utilisateurs ou les groupes. La commande edquota est utilisée. En
pratique, si tous les utilisateurs doivent avoir les mêmes quotas ou avec quelques variantes, on crée
un utilisateur lambda dont on recopiera les propriétés.
Établir les quotas pour hassan :
# edquota hicham # = edquota -u hassan
Les quotas de hassan sont identiques à ceux de laila :
# edquota -p laila hassan
• Établissez le délai de grâce. Le délai accepte les unités « seconds », « minutes », « hours », « days
», « weeks »,« monthes ».

# edquota -t
• Vérifiez les quotas. Les utilisateurs peuvent vérifier l’état de leurs quotas avec la commande
quota. L’administrateur peut générer un rapport avec repquota. Enfin la commande warnquota
qui peut être exécutée via cron peut envoyer un mail aux utilisateurs pour les prévenir en cas de
dépassement.
Une dernière nécessité est d’utiliser régulièrement la commande quotacheck pour maintenir la
cohérence des informations de quotas des systèmes de fichiers. En effet, en cas arrêt des quotas ou
de problème (arrêt inopiné par exemple), il peut parfois être nécessaire de vérifier et de réactualiser
les informations.
# quotacheck –avug

Partitionnement avancé RAID


1. Définitions
Le RAID (Redundant Array of Inexpansive Disks) a été défini par l’université de Berkeley en 1987
dans le double but de réduire les coûts et d’augmenter la fiabilité du stockage des données. Le but
est de combiner plusieurs petits disques physiques indépendants en une matrice (array : tableau,
ensemble, rangée, matrice) de disques dont la capacité dépasse celle du SLED (Single Large
Expensive Drive). Une matrice apparaît comme une unité logique de stockage unique.
Le MTBF (Mean Time Between Failure - temps moyen entre pannes) de l’ensemble est égal au
MTBF d’un disque individuel divisé par le nombre de disques dans l’ensemble et donc
théoriquement, une solution RAID peut être inadaptée pour des tâches critiques. Heureusement, le
RAID peut être tolérant aux fautes en stockant de manière redondante ses informations selon
plusieurs méthodes :
• RAID-0 : appelé stripe mode : deux disques au moins forment un seul volume. Les deux disques
ont en principe la même taille. Chaque opération de lecture/écriture sera fractionnée et effectuée sur
chacun des disques. Par exemple, 4 ko seront écrits sur le disque 0, 4 ko sur le disque 1, 4 ko sur le
disque 2, puis 4 ko sur le disque 0, etc.

Ainsi, les performances sont accrues puisque les opérations de lecture et d’écriture sont effectuées
en parallèle sur les disques. Si N est le nombre de disques et P la vitesse de transfert, la vitesse de

A.MESBAHI Page 16 sur 38


Introduction Administration Revision2013

transfert du volume RAID est en principe proche de N*P mbps. Le RAID-0 n’a aucune redondance.
En cas de panne d’un des disques, il est probable que l’ensemble des données soit perdu.
• RAID-1 : appelé mirroring : premier mode redondant. Il peut être utilisé à partir de deux disques
ou plus avec d’éventuels disques de secours (Spare Disk). Chaque information écrite sur un disque
est dupliquée sur les autres. Si N-1 disques du RAID viennent à tomber, les données restent
intactes. Si un disque de secours est présent, en cas de panne, il est automatiquement reconstruit et
prend la place du disque défaillant.

Les performances en écriture peuvent être mauvaises : écriture sur N disques en même temps,
risquant de saturer le contrôleur disque et le bus. Les performances en lecture sont bonnes, car
RAID emploie un algorithme qui peut lire les données sur chaque disque (puisqu’ils sont
identiques).
• RAID-5 : RAID avec bande de parité redistribuée. C’est le mode le plus utilisé car c’est celui qui
offre le meilleur compromis entre le nombre de disques, l’espace disponible et la redondance. Il
faut au moins trois disques avec d’éventuels disques de secours. La parité est présente sur chacun
des disques.

La taille finale est celle de N-1 disques. Le RAID-5 survit à une panne de disque. Dans ce cas, si un
disque de secours est présent, il sera automatiquement reconstruit. Les performances en lecture sont
équivalentes à celles du RAID-0 tandis qu’en écriture, elles dépendent de l’algorithme employé et
de la mémoire de la machine.

2.3- RAID avec mdadm


a. Préparation
L’outil mdadm remplace les outils raidtools des anciennes distributions Linux. Cet outil unique est
plus simple et permet d’effectuer l’ensemble des opérations. Son fichier de configuration est
/etc/mdadm.conf.
Afin de créer des matrices RAID, il faut que les partitions qui vont servir à créer la matrice soient
de type 0xFD (Linux RAID autodetect). Les partitions doivent être logiquement sur des disques
différents, mais pour des tests, le support RAID autorise des partitions sur le même disque. Dans ce
cas, on veille à ce que les partitions aient la même taille.
Exemple1

A.MESBAHI Page 17 sur 38


Introduction Administration Revision2013

Soient deux partitions /dev/sdb1 et /dev/sdc1. On crée une partition RAID-1 , assemblage de ces
deux
partitions.
# mdadm --create /dev/md0 --level=raid1 --raid-devices=2 /dev/sdb1 /dev/sdc1

L’option --create Créer un RAID.


L’option --level définit le nivenau du RAID
/dev/md0 est le périphérique représentant la matrice RAID
Exemple2
# mdadm --create /dev/md1 --level=raid5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1 --
spare-devices=1 /dev/sde1
Dans cet on a crée un raid5 à partir de trois disques de données /dev/sdb1, /dev/sdc1, /dev/sdd1 et
un disque de secours /dev/sde1.
Principales options de mdadm
-r :retire un disque du raid
-f : signale une panne sur le disque
-a : ajout d’un disque de remplacement

2.4-Logical Volume Manager


Le Logical Volume Manager est un système de gestion très perfectionné des supports de stockage.
Le but est de dépasser, voire transcender la gestion physique des disques, et leur organisation
logique basique (les partitions) pour étendre la capacité globale des supports, à l’aide d’une gestion
entièrement logique de celle-ci.
Le LVM regroupe les disques physiques, ou tout autre support de stockage dit physique (disque,
RAID matériel, RAID logiciel, support de stockage en provenance d’un SAN), qu’il appelle des
volumes physiques PV (Physical Volume) en un groupe de volumes VG (Volume Group). Ce
groupe VG est vu par le LVM comme une sorte de métadisque, dans lequel on peut créer des
volumes logiques LV (Logical Volume) à volonté.
• Volume physique PV : un support de stockage de données dit physique : disque dur par
exemple
• Groupe de volumes VG : un regroupement logique de 1 à n VG
• Volume logique LV : un découpage logique au sein d’un VG.

A.MESBAHI Page 18 sur 38


Introduction Administration Revision2013

Un volume logique est vu comme une partition, et est utilisable comme telle. Il peut contenir des
données, il suffit de créer un système de fichiers ordinaire (ext3 par exemple) et de le monter de
manière tout à fait classique.
Etapes de création du LVM

a-Les volumes physiques


Un volume physique peut être un disque complet ou une partition classique au sein d’un disque.
Dans ce cas, la partition doit être de type 0x8e.

la commande pvcreate sur une première partition (plusieurs partitions peuvent être précisées)
permet de créer le volume physique
# pvcreate /dev/sdb2
Physical volume "/dev/sdb2" successfully created

La commande pvdisplay permet de visualiser l’ensemble des volumes physiques accessibles sur
votre système. Elle peut prendre aussi un nom de volume spécifique.

# pvdisplay /dev/sdb2
b-Les groupes de volumes
Pour créer un groupe de volumes, on doit disposer d’au moins d’un volume physique. La
commande vgcreate crée un VG portant un nom.
# vgcreate vg01 /dev/sdb2
Volume group "vg01" successfully created

Le groupe de volumes a de nombreuses propriétés. Il peut être étudié avec la commande vgdisplay.
# vgdisplay vg01

La commande vgdisplay accepte le paramètre -v qui donne plus de détails, et notamment la liste des
volumes physiques qui le composent.
# vgdisplay -v vg01

c- Les volumes logiques


Un volume logique est un découpage d’un VG (groupe de volumes) qui est l’équivalent d’une
partition dans laquelle on peut créer un système de fichiers. Un volume logique LV occupe un
certain nombre de PE (extensions physiques) d’un VG, contigus ou non. Ceci a son importance
pour la suite car :
• il est possible d’agrandir un LV tant qu’il reste des PE de libres dans le VG.
• il est possible de réduire un LV, ce qui libérera des PE dans le VG, utilisables pour créer de
nouveaux LV ou pour les agrandir.

A.MESBAHI Page 19 sur 38


Introduction Administration Revision2013

La commande lvcreate crée un volume logique portant un nom et disposant d’une taille exprimée
soit en extensions logiques LE (Logical Extension) qui sont la représentation des PE au sein d’un
LV, soit en Ko, Mo, Go.
# lvcreate -n data01 -L 6g vg01
Logical volume "data01" created

La commande suivante crée un volume logique appelé data01 au sein du VG vg01, d’une taille de
6Go. Le -L précise que l’unité est en Mo (m), Go (g), To (Teraoctet,t), Po (Petaoctet), ou Eo
(Exaoctet).

# ls -l /dev/vg01/data01
lrwxrwxrwx 1 root root 23 sept. 13 09:27 /dev/vg01/data01 -> /dev/mapper/vg01-data01

Les propriétés d’un volume logique sont accessibles par la commande lvdisplay :
# lvdisplay /dev/vg01/data01

On peut créer un système de fichiers et monter le LV comme pour n’importe quelle partition et
l’attacher à un point de l’arborescence
# mkfs -t ext3 /dev/vg01/data01

# mount -t ext3 /dev/vg01/data01 /mnt/data01


# df /mnt/data01

d- Agrandissements et réductions

1- Les groupes de volumes

On va rajouter au sein de ce VG un nouveau volume physique. Ceci se fait avec la commande


vgextend qui fonctionne de la même manière que vgcreate.

# pvcreate /dev/sdb3
Physical volume "/dev/sdb3" successfully created
# vgextend vg01 /dev/sdb3

# lvcreate -n data02 -L 6g vg01


# mkfs -t ext3 /dev/vg01/data02
# mount -t ext3 /dev/vg01/data02 /mnt/data02

2-Agrandir un volume logique


L’agrandissement d’un volume logique se fait dans cet ordre :
• Agrandissement du LV avec la commande lvextend

A.MESBAHI Page 20 sur 38


Introduction Administration Revision2013

Agrandissement du système de fichier avec resize2fs ccext3)les lignes Segments et la liste des segments proposés.
La commande lvextend autorise les paramètres -l (nombre d’extensions logiques LE) ou -L comme pour lvcreate.
On peut préciser ensuite la nouvelle taille du LV ou, rajouter un + en préfixe, la taille additionnelle souhaitée.
on peut aussi préciser, en dernier argument, le nom du PV sur lequel forcer l’extension du LV (c’est aussi possible avec
lvcreate). Ca ne marchera que si le ou les PV précisés disposent d’assez de PE.
exemple la commande suivante rajoute 1536 LE (4x1536=6144 Mo soit 6 Go) dans data01 :

# lvextend -l +1536 /dev/vg01/data01

d- Supprimer un groupe de volumes

1-Étapes
Pour supprimer un groupe de volumes, vous devez suivre les étapes suivantes :
• Démonter tous les systèmes de fichiers des LV associés.
• Supprimer tous les volumes logiques avec lvremove.
• Retirer tous les volumes physiques du VG avec lvreduce.
• Détruire le VG avec vgremove.

2- Supprimer un volume logique

Démontez les volumes


# umount /data01
# umount /data02
Supprimez les volumes logiques avec lvremove :
# lvremove /dev/vg01/data01 /dev/vg01/data02
Do you really want to remove active logical volume "data01"? [y/n]: y
Logical volume "data01" successfully removed
Do you really want to remove active logical volume "data02"? [y/n]: y
Logical volume "data02" successfully removed

3- Retirer tous les volumes physiques


Utilisez la commande vgreduce avec le paramètre -a pour ALL :
# vgreduce -a vg01
Can’t remove final physical volume "/dev/sdb2" from volume group
"vg01"
Remarquez que la commande vgreduce laisse toujours au minimum un PV dans le VG, car il faut au moins un PV
pour constituer un VG.

4- Détruire un groupe de volumes


Utilisez la commande vgremove pour détruire un groupe de volumes :
# vgremove vg01
e. Supprimer un volume physique
Les deux volumes physiques peuvent maintenant être détruits puisqu’ils ne sont plus utilisés. Vous
pouvez détruire les informations contenues dans le volume avec la commande pvremove.
Cependant, si vous détruisez la partition via fdisk ou que vous créez un système de fichiers dessus,
l’effet est le même.

2.5- Commandes tar, zip, gzip, bzip2


tar permet de créer ou de restaurer des archives. Sa syntaxe générale est:

• tar cvf archive.tar liste des fichiers : pour créer une archive.tar à partir des fichiers
spécifiés
• tar xvf archive.tar [liste des fichiers] pour extraire des fichiers de l’archive archive.tar

A.MESBAHI Page 21 sur 38


Introduction Administration Revision2013

• tar tvf archive.tar [liste des fichiers] : pour afficher les fichiers de l’archive
• tar cvfM /dev/fd0 liste des fichiers : pour créer une archive multi-volumes sur disquettes,
c’est-à-dure tar demandera les disquettes supplémentaires si une disquette ne suffit pas. Pour
restaurer en multivolume on utilise tar xvfM
• tar cvfZ archive.tgz liste des fichiers : pour créer une archive.tgz “taré” et “gzipé” a partir
des fichiers spécifiés. L’extraction par la commande tar xvfZ archive.tgz

zip commande compatible avec winzip permet de créer une archive compressée. Sa syntaxe est zip
archive.zip liste des fichiers Pour extraire, on utilise la commande unzip archive.zip Pour
consulter sans extraire unzip -I archive.zip

gzip n’archive pas plusieurs fichiers comme tar ou zip. Elle se contente de compresser un seul
fichier. gunzip fait l’opération inverse. La taux de compression de gzip est meilleur que zip et
celui de bzip2 est le meilleur de tous. Usage gzip : “gzip fichier” crée un fichier compressé
fichier.gz. “gunzip fichier.gz” restaure le fichier d’origine. Usage bzip2 : “bzip2 fichier” crée
un fichier fichier.bz2, “bzip2 -d fichier.bz2” restaure le fichier d’origine.

2.6- commande cpio


cpio travaille en trois modes distincts : le mode archivage avec l’option -o (copy-out), le mode
restauration avec l’option -i (copy-in) et le mode transfert d’arborescence avec l’option -p (pass
through).

Mode archivage (cpio -o),


• cpio -o attend en entré standard la liste des fichiers à archiver, un par ligne. Généralement,
on utilise find ... cpio -o
• le fichier archive en affiché en sortie standard sauf si celle-ci est redirigée ou si l’option -F
[user©host:]archive est précisée

Mode restauration cpio -i

• cpio -i attend en entré standard le fichier archive sauf si on précise l’option -F


[user©host: ]archive
• l’arborescence d’origine est restaurée avec toute sa structure, ses dates, ses propriétaires et ses
modes de protection, sauf si l’option --no-preserve-owner est précisé. Dans ce cas le
propriétaire des fichiers restaurés sera celui qui exécute la commande.
Mode transfert d’arborescence cpio -p
• c’est une combinaison des deux modes précédents sans passer par une archive.
• attend en entré standard la liste des fichiers à copier, un par ligne. Généralement, on utilise find
... I cpio -o “ ou simplement echo répertoire I cpio -o pour copier un seul répertoire avec
toute son arborescence.
• Le répertoire destination de la copie est simplement précisé en argument. Exemple
echo /usr  cpio -pv /home/myusr va copier l’arborescence /usr vers /home/myusr.
L’option -v (verbose) recommandée dans tous les modes affiche au fur et à mesure les fichiers
traités.

A.MESBAHI Page 22 sur 38


Introduction Administration Revision2013

3- Configuration et planification réseau


3.1 - Cartes réseaux et adresses IP
Les réseaux sous unix tournent sous TCP/IP. Planifier un réseau local consiste à choisir un
découpage éventuel en segments de sous-réseaux et à choisir un plan d’adresses. Le découpage est
en général fait pour améliorer les performances du réseau et éviter que des paquets fassent le tour
de systèmes auxquels ils ne sont pas destinés. Si on choisit de découper, il faut prévoir des
machines qui effectueront le routage des paquets entre les divers segments du réseau.
• Le choix d’un plan d’adresse est fixé par des contraintes de standardisation. La norme TCP/IP
consacre les choix suivants:
• les adresses de type 192.168.x.y sont réservées aux réseaux locaux, aucun routeur public ne
routera un paquet ayant comme destination une adresse de cette forme. Par conséquent la
sécurité du réseau local se trouve renforcée puisque les adresses locales sont invisibles de
l’extérieur. Autre conséquence, les postes de travail de l’Intranet ne peuvent accéder aux
ressources Internet qu’à travers des proxy : proxy Web, ftp, etc.
• l’adresse 127.0.0.1 est réservée à l’adresse de l’interface réseau de bouclage (loopback)
Avant de configurer une carte réseau, il faut que le noyau de Linux la reconnaisse ou que son
driver soit chargé dans un module. Les distributions actuelles de Linux fournissent en général
les drivers des principales cartes du marché sous forme de modules choisis lors de l’installation
de Linux et chargés automatiquement lors de chaque démarrage.
Pour assigner une adresse IP à une interface réseau on utilise la commande ifconfig ainsi:
ifconfig eth0 192.168.25.10 netmask 255.255.255.0
Une interface (carte réseau) dispose en principe d’une seule adresse IP il se peut toutefois
qu’une même interface appartiennent a deux réseaux logiques différents et par conséquent doit
disposer de plusieurs adresses IP. Voici la commande pour assigner une deuxième adresse
réseau:
ifconfig eth0:0 192.168.2.1 netmask 255.255.255.0
Pour ajouter une troisième adresse, utiliser eth0:1 à la place de eth0:0 et ainsi de suite. Pour
supprimer cette adresse il suffit d’entrer la commande:
ifconfig eth0:1 down
Pour rendre ces modifications permanentes et applicables à chaque démarrage les distributions
Linux utilisent des fichiers différents pour stocker cette information. Sous suze Linux, les
adresses IP des interfaces sont consignées (avec d’autres informations) dans le fichier
/etc/rc.config au niveau des lignes suivantes:

NETCONFIG=''_0_1''
IPADDR_0=''192.168.1.1''
IPADDR_1='' ''
NETDEV_0=''eth0''
NETDEV_1=''eth1''
IFCONFIG_0=''192.168.1.1 broadcast 192.168.1.255 netmask 255.255.255.0 up''
IFCONFIG_1=''dhcspclient''

3.2-Fichiers de configuration
/etc/HOSTNAME nom de la machine dans le domaine (obtenu aussi par la commande $ hostname)
pxx.mesbahi.edu

/etc/hosts table de correspondance des adresses IP des machines du sous-réseau et de leur nom
d'hôtes.
127.0.0.1 localhost
10.194.2.101 p01.mesbahi.edu p01

A.MESBAHI Page 23 sur 38


Introduction Administration Revision2013

10.194.2.102 p02.mesbahi.edu p02


10.194.2.103 p03.mesbahi.edu p03
...........

Remarques :
Si on n'utilise pas de serveur de nom DNS local pour connaitre la correspondance entre l'adresse IP
de la machine et son nom, il faut lister ainsi toutes les machines du sous-réseau et copier ce fichier
/etc/hosts sur toutes les machines du sous-réseau.
Pour des réseaux de taille modeste, il est habituellement recommandé de maintenir cette liste des
machines dans /etc/hosts, plutôt que de configurer et de gérer un serveur de noms.

Dans /etc/host.conf, la ligne order hosts, dns indique que chaque machine cherche d'abord
l'adresse de la requête dans ce fichier.
L'adresse 127.0.0.1 est par convention l'adresse IP de la machine d'une machine isolée se
connectant à elle-même (boucle interne); pour constater cette auto-connection : ping localhost

/etc/sysconfig/network-scripts/ifcfg-eth0 fichier d'activation au démarrage de l'interface


eth0

DEVICE = eth0
IPADDR = 10.194.2.1xx
NETMASK = 255.255.255.0
NETWORK = 10.194.2.0
BROADCAST = 10.194.2.255
ONBOOT = yes

Plus généralement, les interfaces à activer automatiquement au boot sont définies dans les fichiers
du répertoire
/etc/sysconfig/network-scripts/

/etc/sysconfig/network
NETWORKING = yes
FORWARD_IPV4 = no (empêche le transfert automatique des paquets ?)
HOSTNAME= pxx
DOMAINNAME = mesbahi.edu
GATEWAY= 10.194.2.245
passerelle par défaut, par où chercher si l'adresse IP n'est pas dans le sous-réseau
GATEWAYDEV = eth0

/etc/host.conf D'abord rechercher les hôtes dans le fichier /etc/hosts, puis dans le serveur de nom

order hosts, bind


# une machine peut avoir plusieurs adresses IP
#dans le cas de multiples interfaces réseaux
multi on
/etc/resolv.conf

#nom de domaine local de l'ordinateur


domain mesbahi.edu
#adresse du serveur primaire DNS de Créteil
nameserver 195.98.246.50

A.MESBAHI Page 24 sur 38


Introduction Administration Revision2013

#liste de domaines à essayer, si le nom d'hôte ne précise pas son domaine


domainsearch ac-creteil.fr

/etc/networks
# décrit les noms et adresses IP des différents sous-réseaux routables à partir de l'hôte

/etc/conf.modules
modules installés
alias eth0 wd
options wd io=0x240

4- Gestion des utilisateurs


Créer un utilisateur sous Unix peut se faire aisément via un utilitaire spécifique à la distribution ou
via des commandes comme useradd ou adduser. Cependant une méthode qui marche dans les
Unix consiste modifier à la main les trois fichiers gérant les utilisateurs /etc/passwd , /etc/group
et /etc/shadow La démarche de création d’un utilisateur serait la suivante
• ajouter une ligne dans /etc/passwd. Veiller à l’unicité du login et de l’UID. Remarquez d’un
login avec UID=0 sera automatiquement un superutilisateur comme root.
• Créer éventuellement un groupe dans /etc/group ou ajouter le login créé à des groupes déjà
existant dans /etc/group
• ajouter une ligne dans /etc/shadow en dupliquant une ligne existante par exemple.
• assigner un mot de passe au nouvel utilisateur avec la commande passwd
• créer le répertoire par défaut de l’utilisateur avec mkdir
• faire appartenir le répertoire ainsi crée à l’utilisateur créé tester votre travail en vous connectant
avec cet utilisateur

Les principales commandes


useradd, usermod, userdel gestion des comptes utilisateur
groupadd, groupmod, groupdel gestion des groupes
pwck, grpck vérification des fichiers
passwd changer le mot de passe d'un utilisateur
chfn, id, groups, finger utilitaires divers

• 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ép. personnel.
Mais aussi dans une configuration réseau, de pouvoir se connecter à son compte par telnet et ftp, et de pouvoir
bénéficier de services réseau de partage distant (sous Linux par NFS et sous Windows 9x par SMB).

• Pour créer l'utilisateur stagex, root passe la commande :


useradd stagex
Ceci crée :

o le répertoire personnel /home/stagex, portant par défaut le nom du compte

o une nouvelle entrée dans les 2 fichiers fondamentaux /etc/passwd et /etc/group.

o Pour connaitre les options de useradd (indispensable pour gérer les comptes à l'aide
de scripts)

A.MESBAHI Page 25 sur 38


Introduction Administration Revision2013

• Pour lui attribuer le mot de passe :


passwd stagex
saisir 2 fois stgx

• Supprimer le compte d'un utilisateur (non connecté), au hasard .. totox.


userdel [-r] totox
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'utiliseurs.

• Modifier le compte de l'utilisateur toto


usermod [options] totox
Les options sont les mêmes que useradd
usermod -G stagiaire,prof stagex ajoute stagex dans les 2 groupes stagiaire et profs
(qui doivent exister)

Remarques
• Attention : si root passe la commande passwd il s'apprête à redéfinir son propre mot de passe !

• Un utilisateur quelconque ne peut pas créer de compte, même s'il a le privilège de faire partie du groupe root.
A tester !

• Par contre, il peut modifier lui-même son mot de passe.

• Voir les diverses options avec useradd -h


• Pour une gestion sous interface graphique, utiliser l’outil drakconf ou linuxconf

Les groupes
1. Un groupe est, aussi pour Linux, un ensemble d'utilisateurs qui partagent les mêmes fichiers et répertoires.
Nous verrons que les fichiers accordent des droits d'accès réglables à ces groupes.

2. 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.

3. Ainsi, dans /etc/passwd chaque utilisateur possède un groupe par défaut, précisé par son
identifiant gid dans ce fichier.
4. L'appartenance au groupe primaire n'étant pas exclusive, tout utilisateur peut faire partie
de plusieurs autres groupes, appelés ses groupes secondaires.
Mais le rôle joué par le groupe primaire demeure prépondérant, comme nous le verrons dans
le système des permissions des fichiers.
5. Pour lister tous les groupes (primaire et secondaires) d'un utilisateur :
groups stagex

6. Pour créer un nouveau groupe


7.
groupadd stagiaire

8. Supprimer un groupe, au hasard .. encore totox.

A.MESBAHI Page 26 sur 38


Introduction Administration Revision2013

groupdel totox

Le groupe est supprimé du fichier /etc/group.

9. 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 .

les fichiers des comptes et des groupes

• 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 seulement par
root.

Structure de /etc/passwd

Ce fichier comprend 7 champs, séparés par le symbole :

1. nom de connexion

2. ancienne place du mot de passe crypté

3. numéro d'utilisateur uid, sa valeur est le véritable identifiant pour le système Linux; l'uid de root est 0, le
système attribut conventionnellement un uid à partir de 500 aux comptes créés.

4. numéro de groupe gid, dans lequel se touve l'utilisateur par défaut; le gid de root est 0, des groupes
d'utilisateurs au delà de 500

5. nom complet, il peut être suivi d'une liste de renseignements personnels (cf chfn)

6. rép. personnel (c'est également le rép. de connexion)

7. shell, interprétateur de commandes (par défaut /bin/bash)

Structure de /etc/group

Ce fichier comprend 4 champs, séparés par le symbole :

1. nom du groupe

2. x pour remplacer un mot de passe non attribué maintenant

3. numéro de groupe, c-à-d l'identifiant gid

4. la liste des membres du groupe

Structure de /etc/shadow
séparateur de champ, le deux-point “:“, la liste des champs est dans l’ordre
• login
• mot de passe crypté
• date dernier changement de mot de passe, en nombre de jours depuis 1/1/1970
• nombre de jours minimum avant l’autorisation de changer le mot de passe
• nombre de jours maximum pour changer son mot de passe
• nombre de jours avant avertissement d’expiration du mot de passe. Si le mot de passe

A.MESBAHI Page 27 sur 38


Introduction Administration Revision2013

expire, l’utilisateur est invité à le changer tout en restant autorisé à travailler sur le système
tant que le compte est actif.
• nombre de jours minimum avant de rendre le compte inactif.
• date d’expiration du mot de passe, en nombre de jours depuis 1/1/1970
• non utilisé.

Compléments
Options de la commande useradd (pour détails cf man useradd)
Nous avons jusqu'ici utilisé cette commande avec ses options par défaut.
La maitrise de cette commande est indispensable pour écrire des scripts de génération automatique de comptes.
Syntaxe : useradd [options] nom_login
Exemple : useradd toto -u 1200 -p moi -g 520 -G groupes -s /bin/bash
Options :

-u uid pour fixer l'identifiant uid


-g groupe-primaire
fixe l'appartenance de l'utilisateur à une liste
-G liste de groupes secondaires (séparateur , sans
espace)
-s shell par défaut, attribution du shell par défaut bash
-c commentaire
-d rep. personnel par défaut dans le répertoire /home
fixe la date d'expiration du compte (format
-e date-expiration
MM/JJ/AA)
-m pour créer le répertoire personnel
recopie le contenu de rep-skel dans le rép.
-k rep-skel
personnel, par défaut /etc/skel

• La recopie du répertoire /etc/skel est très important pour l'administrateur, car il lui permet de configurer
de façon uniforme les sessions de travail des utilisateurs.
C'est ainsi que tous les utilisateurs qui passe en mode graphique KDE hérite du même bureau.

• Pour examiner les valeurs par défaut appliquées par useradd :


commande useradd -D ou éditer /etc/default/useradd
• GROUP=100 identifiant du groupe primaire
• HOME=/home racine des rép. personnels
• INACTIVE=-1 (nb de jours avant destruction du compte
• EXPIRE= nb de jours avant expiration du mot de passe
• SHELL=/bin/bash shell de connexion attribué au compte
• SKEL=/etc/skel fichiers recopiés par défaut dans chaque rép. personnel
• La commande passwd
Elle est chargée du cryptage du mot de passe dans /etc/shadow
Syntaxe : passwd [option] nom-login
Options

o --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 " ")

A.MESBAHI Page 28 sur 38


Introduction Administration Revision2013

o -d , pour supprimer le mot de passe, l'utilisateur pourra se


connecter sans !

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

o -u , pour déverrouiller.

• Connaître l'uid et le gid de l'utilisateur courant


• Commande id
• uid=501(stage1) gid=501(stage1) groups=501(stage1), 504(stagiaire)
• 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).

• 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 être 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. Pour plus de détails , consulter man pwconv

5- Gestion impression
Le système d'impression
Il est assuré par le "démon" lpd (=line printer deamon), lancé au démarrage.
Comme beaucoup de démons, il est géré par un script situé dans /etc/rc.d/init.d/lpd
Le script lpd attend un des arguments start, stop ou status, selon que l'on veut
commander le démarrage du démon, son arrêt ou de l'info par le script
Il parait que le démon est instable, il faut donc savoir le relancer
Lorsqu'il est rendu actif, ce démon lpd lit le fichier de configuration /etc/printcap, imprime les
fichiers d'impression éventuellement en attente et se met à l'écoute de nouvelles tâches
d'impression.
lpd active 2 autres démons listen et accept, qui sous-traitent les tâches d'impression.
Le sous-système d'impression sait gérer aussi bien des imprimantes connectés physiquement au
serveur (imprimante locale), que des imprimantes accessibles par le réseau (imprimante lointaine).
En particulier on peut envoyer des fichiers d'impression dans une file d'attente Linux, à partir de
station Win95/98 via le protocole Samba.
Les requêtes d'impression provenant du réseau sont écoutées sur le port 515 nommé printer (pour
le voir éditer le fichier /etc/services)

Configuration du service d'impression


• La configuration lors de l'installation est recommandée.
• Le fichier de config /etc/printcap contient des informations sur les imprimantes
rattachées localement ou lointaine avec lesquelles le démon doit communiquer.
• On conseille de ne pas directement le modifier (très risqué à cause de la difficulté de
respecter les formats d'écriture).
• Le lire (mc -c) -- il contient la ligne lp=/dev/lp0:\ qui assigne à l'imprimante par défaut
nommée lp, le fichier de périphérique /dev/lp0, qui correspond au port parallèle LPT1
Pour tous les détails voir le manuel : man printcap
• Exemples
# nom court de l'imprimante locale

A.MESBAHI Page 29 sur 38


Introduction Administration Revision2013

lp:\
# nom du répertoire de la file d'attente (sd=spool directory)
:sd=/var/spool/lpd/lp:\
# la taille maximum du fichier est illimitée (car 0)
:mx#0:\
# pas de page de séparation
:sh:\
# nom du fichier spécial pour printer locale
:lp=/dev/lp0:\
# nom du fichier de traitement du fichier
:if=/var/spool/lpd/lp/filter:
# nom court de l'imprimante REMOTE
lp:\
# nom du répertoire de la file d'attente
:sd=/var/spool/lpd/lp:\
............................
# nom du serveur d'impression distant (rm=remote machine)
:rm=pc1.cfipen.fr:\
# nom de l'imprimante distante (rp=remote printer)
&nbModifications, ajout d'une imprimantesp; :rp=lp:\

Les terminaux sous Unix sont de deux types les terminaux accédant par telnet ou équivalent
(comme ssh) ou les terminaux séries accédant via une liaison série simple ou avec modem. Les
terminaux série sont activés au niveau du fichier /etc/inittab dans les lignes suivantes:

1:123:respawn:/sbin/mingetty --noclear tty1


2:123:respawn:/sbin/mingetty tty2
3:123:respawn:/sbin/mingetty tty3
4:123:respawn:/sbin/mingetty tty4
5:123:respawn:/sbin/mingetty tty5
6:123:respawn:/sbin/mingetty tty6
S0: 123:respawn:/sbin/agetty -L 9600 ttyS0

les lignes numérotés i à 6 définissent les terminaux virtuels accessibles par les touches AIt-Fl à alt-
F6 sur un PC. La dernière ligne autorise un login sur la ligne /dev/ttyS0 qui correspond au premier
port série du PC.

A.MESBAHI Page 30 sur 38


Introduction Administration Revision2013

7-Introduction au service NFS

Le service NFS (Network File System), permet le partage d'un système de fichiers sur un réseau
Linux
7-1Généralités

• Il s'agit du protocole standard de partage réseau entre machines Unix, créé par SUN vers
1980.
Il comprend l'ajout de fonctionnalités supplémentaires (dans la couche session au dessus de
TCP/IP), les RPC =(Remote Procedure Calls)

• Donc une machine joue le rôle de serveur de fichiers. Elle est appelée serveur NFS, et
o on dit qu'elle exporte tout (arborescence racine /) ou partie de son système de
fichiers,
o en le partageant par une liste de stations accessibles par réseau,
o en installant toutefois des restrictions d'accès.
• Comme toute ressource extérieure doit être intégrée dans le système de fichiers Linux, cet
accès ne pourra être permis qu'à l'aide d'un processus de montage : une partie de
l'arborescence d'une machine Linux "serveur", est exportée ce qui lui permet d'être intégré
dans le système de fichiers d'une machine Linux "cliente".
• L'utilisateur peut monter cette arborescence exportée par le serveur, sur un point de
montage, de façon tout-à-fait semblable au montage de systèmes de fichiers des divers
périphériques.
Le montage peut s'effectuer en cours de session de travail par la commande interactive
mount.

• Mais dans un cadre de travail stable, où le serveur est dédié, il est souhaitable de monter la
ressources NFS au démarrage.
Il suffit pour cela d'inclure la description du montage sur une ligne de /etc/fstab. On peut
comparer le processus à la "connexion à un lecteur réseau" sur d'autres systèmes.
• Dès lors, pour l'utilisateur sur la machine cliente, la ressource est accessible comme si elle
résidait sur un périphérique local.

7-2-Installation-Sur le serveur NFS

• Tout d'abord, les services portmap qui gère les connexions RPC, et nfs ont dû être installés initialement.
(sur une distribution Mdke 7.2, il s'agit des packages portmap-4.0 .. et nfs-utils

• Vérifier avec l'utilitaire ntsysv que les services portmap et nfs sont bien activés automatiquement au
démarrage.

• Pour vérifier que les processus correspondant sont bien en exécution :


• ps aux | grep portmap
• NFS, comme les autres services, se gère avec un script placé dans /etc/rc.d/init.d/.
Voici pour lancer NFS (sur une distribution de type RedHat)

A.MESBAHI Page 31 sur 38


Introduction Administration Revision2013

• # service portmap start


• Starting portmapper: [OK]
• # service nfs start
• Starting NFS services: [OK]
• Starting NFS quotas: [OK]
• Starting NFS deamon: [OK]
• Starting NFS mountd: [OK]
• Le fichier /etc/exports.
Ce fichier (à créer s'il est absent) contient la liste des exportations.
Sur chaque ligne, on précise un répertoire du système de fichiers, suivi par la liste des machines distantes
clientes autorisées à les monter. Si cette liste est vide, toutes les stations accessibles sont autorisées.
Exemples d'exportation déclarées dans le fichier /etc/exportssur le serveur p00

• # repertoire liste-machines (liste-options)
• /home/jean pc2(ro) pc3(rw)
• /usr/bin pc2(ro) pc3(ro)
• /var/www/html *.fctice.ac-creteil.fr (ro) pc3 (rw)
• /usr/share/doc (ro)

Pour valider un changement opéré dans ce fichier de configuration, faire appel à la commande :
# exportfs -a

7-3-Sur la station cliente

• On crée un rép. de montage, situé pour des tests, dans /mnt, par exemple sur la machine pc3 :
[root@pc3 /]# mkdir /mnt/nfs

• Puis on effectue le montage, sur le point de montage précédent, de la ressource


/var/www/html (qui a été exportée par p00 [root@pc3 /]# mount -t nfs
p00:/home/httpd/html /mnt/nfs L'utilisateur sur pc3 pourra alors mettre à jour le site
WEB distant sur p00
• Syntaxe générale
mount -t nfs nom-machine:arborescence point-montage

• Respects par nfs des droits


Bien sûr les permissions des fichiers importés s'appliquent vis à vis de l'utilisateur,
notamment en ce qui concerne la directive (rw). On ne pourra mettre à jour sur la station
cliente, un fichier exporté que s'il posséde la permission w vis-à-vis de l'utilisateur.
• Automatisation du montage
Pour cela, il suffit d'ajouter le contenu de la commande précédente dans une ligne du fichier
/etc/fstab
p01:/home/httpd /mnt/nfs nfs auto, user

A.MESBAHI Page 32 sur 38


Introduction Administration Revision2013

8-DHCP sous LINUX

La configuration du serveur DHCP consiste à configurer 2 fichiers:


• /etc/dhcpd.conf : ce fichier sert à la configuration même du serveur (plage d'adresses,
paramètres distribués…)
• /etc/dhcpd.leases : ce fichier va servir à l'inscription des clients. Il peut ne pas se trouver
dans ce répertoire, cela dépend de la version installée, on peut aussi le trouver dans
/var/dhcpd. Chaque client DHCP, génère l'écriture d'un enregistrement dans ce fichier. Cela
permet le suivi, les statistiques… de l'activité du serveur.
1. Installer le serveur dhcp

DHCP est le plus souvent installé par défaut sur votre machine, si cela n'est pas le cas installer
la version rpm ou tar sur votre machine. Elle se trouve sur le CD de votre distribution préférée.
Si vous utilisez une version RPM, vous avez alors un fichier /etc/rc.d/init.d/dhcpd pour démarrer
votre serveur dhcp.

2. Le fichier dhcpd.conf
[root@mon_serveur_linux /etc]# more dhcpd.conf
# ici il s'agit du réseau 192.168.0.0
subnet 192.168.0.0 netmask 255.255.255.0 {
#La plage d'adresses disponibles pour les clients
range 192.168.0.10 192.168.0.200;
# Les clients auront cette adresse comme passerelle par défaut
option routers 192.168.0.254;
# Ici c'est le serveur de nom, le serveur privé, il faut aussi mettre le DNS donné par votre
provider. Pour Créteil #195.98.246.50 On peut en mettre plusieurs.
option domain-name-servers 192.168.0.1;
option domain-name-servers 195.98.246.50
# On donne le nom du domaine
option domain-name "ac-creteil.fr";
# Et l'adresse utilisée pour la diffusion
option broadcast-address 192.168.0.255;
#Le bail a une durée de 86400 s par défaut, soit 24 h
# On peut configurer les clients pour qu'ils puissent demander une durée de bail spécifique
default-lease-time 86400;
#On le laisse avec un maximum de 7 jours
max-lease-time 604800;
}
Lorsque un client cherche à obtenir une adresse IP, il reçoit les informations suivantes :
Une adresse IP (la première de la liste dans votre plage d'adresse et ainsi de suite) :
192.168.0.10
La passerelle : 192.168.0.254
Le dns : 192.168.0.1
Le deuxième dns : 195.98.246.50
Le nom du domaine : ac-creteil.fr
L'adresse de broadcast : 192.168.0.255

A.MESBAHI Page 33 sur 38


Introduction Administration Revision2013

La durée du bail ici une journée


La durée maximale d'un bail ici 7 jours

3. Création d'un fichier d'incription /etc/dhcpd.leases


Ce fichier doit être créé, sans quoi le serveur DHCP ne pourra pas démarrer. Il suffit de créer un
fichier vide (Les dernières versions le crée dans le répertoire /var/dhcpd/) . Pour cela taper la
commande echo > /etc/dhcpd.leases. Le fichier est créé. Voici ce que l'on peut avoir dedans après
l'inscription du premier client:

[root@mon_serveur_linux /etc]# more /etc/dhcpd.leases


lease 192.168.0.10 {
starts 1 1999/05/20 22:15:21;
ends 1 1999/05/20 22:15:38;
hardware ethernet 00:40:21:3c:f2:dd;
uid 01:00:40:21:3c:f2:dd;
client-hostname "Client1";
}
On distingue les informations suivantes (Début du bail, Fin du bail, adresse MAC du client, le nom
d'hôte du client. Attention ce nom est différent du nom netbios utilisé sur les réseaux Microsoft.
Le serveur est configuré, il faut l'arrêter et le redémarrer.

• pour arrêter le service: /etc/rc.d/init.d/dhcpd stop


• pour démarrer le service : /etc/rc.d/init.d/dhcpd start
4. Fournir une adresse IP en fonction de l'adresse MAC du client
On peut ajouter dans le fichier dhcpd.conf une instruction propre à chaque client. Pour cela
l'instruction pour identifier une station est la suivante :

host ma_station {
hardware ethernet 00:00:88:88:aa:aa;
fixed-address 192.168.0.2;
}

Dans l'exemple, host est le nom de l'instruction et ma_station le nom de votre client. Vous
pouvez donner les informations que vous avez donné dans global, par exemple si vous souhaitez
donner pour cette station un autre serveur DNS vous pouvez ajouter option domain-name-
servers 193.10.0.1. Elles sont alors prioritaires par rapport aux options globales.

A.MESBAHI Page 34 sur 38


Introduction Administration Revision2013

9-Installation d'un serveur FTP : ProFTP

Installation d'un serveur FTP


Pourquoi installer un serveur FTP ?
un serveur FTP permet de stocker des fichiers, des répertoires et de mettre ceux-ci à la
disposition des clients. Deux catégories de clients sont à considérer : les utilisateurs
authentifiés avec noms et mots de passe d'une part et les anonymes d'autre part.
Les utilisateurs ont le droit de déposer et de charger des fichiers à partir de leur
répertoires personnels sur le serveur.
Les anonymes ne peuvent que charger des documents du serveur vers leur machine.
Les utilisateurs authentifiés
FTP est donc un outil puissant au service du travail collaboratif. Je vais mettre encore
une fois Lisa et Jean à contribution dans ce cours. Lisa et Jean travaillent un texte en
commun, la messagerie électronique suffit largement à leur besoin. Lisa travaille sur le
texte original puis l'envoie à Jean en fichier attaché. Jean le corrige et l'envoie ...Il n'y a
pas besoin dans ce cas de mécanisme plus complexe.
Les choses se compliquent un peu lorsque Jean et Lisa travaillent sur une centaine de
fichiers communs et une vingtaine de répertoires distincts. Il faudrait qu'au cours de
chaque échange les utilisateurs précisent bien de quel fichier ils parlent et à quel endroit
de l'arborescence il est rangé. Les fichiers peuvent en effet avoir le même nom à des
endroits différents.
C'est dans cette situation que ftp rends de grands services. Tous les fichiers et
répertoires sont sur le serveur. Chacun rapatrie sur sa machine le ou les fichiers sur
lesquels il veut travailler. Ils les modifie, les enregistre, puis les remets en place sur le
serveur.
Conditions de départ.
On part de l'installation de base Mandrake 9.0. Le serveur ftp que nous allons installer
est ProFTP version 1.2.5-3mdk
C'est celui qui est sur les CD de la distribution. Si vous installez ce service sur une
machine visible de l'internet, renseignez vous et installez la dernière version et/ou les
correctifs de sécurité.
Installation.
Connectez vous en root, ouvrez une console et tapez :
[root@pc_mic root]# rpm -q proftpd

q pour query, demande. Vous venez de demander à la machine si le paquetage proftpd


était installé. Si la réponse est « proftpd-1.2.5-3 » alors vous aviez proftpd sans le savoir.

A.MESBAHI Page 35 sur 38


Introduction Administration Revision2013

Sinon il nous faut l'installer. Je suppose que le cdrom d'installation de Mandrake est
dans le lecteur.
[root@lnxmes root]# rpm -ivh /mnt/cdrom/Mandrake/RPMS/proftpd-1.2.5-
3mdk.i586.rpm

On installe également le package proftpd-anonymous pour le service public cad pour


des accès anonymes
L'installation devrait se faire sans difficulté.

Notre paquet de logiciels est donc installé. Nous avons encore deux choses à faire pour
qu'il fonctionne :
1. régler des choses dans le système pour que proftpd se lance à chaque démarrage

2. régler les paramètres pour qu'il réponde à nos clients

Démarrage sytème
Vous êtes en root, restez y. vroooom (je l'aime bien celle là)
Pour démarrer, stopper, vérifier : service proftpd start|stop|status
Le démon proftpd est actif, les clients qui ont un compte doivent pouvoir se connecter.
En mode console

• ftp nomduserveur ou adresseIP


à partir d’un navigateur Internet ( internet Explorer, Konqueror, mozilla etc…)

• ftp://adresseIP ou ftp://nomserveur
fichier de configuration pricipal /etc/proftpd.conf :

# This is a basic ProFTPD configuration file (rename it to


# 'proftpd.conf' for actual use. It establishes a single server
# and a single anonymous login. It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.
ServerName "ProFTPD Default Installation"
ServerType standalone
DefaultServer on
# Allow FTP resuming.
# Remember to set to off if you have an incoming ftp for upload.
AllowStoreRestart on
# Port 21 is the standard FTP port.
Port 21
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022
# To prevent DoS attacks, set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server

A.MESBAHI Page 36 sur 38


Introduction Administration Revision2013

# that allows you to limit maximum number of processes per service


# (such as xinetd)
MaxInstances 30
# Set the user and group that the server normally runs at.
User nobody
Group nogroup
# Normally, we want files to be overwriteable.
<Directory /*>
AllowOverwrite on
</Directory>
# Needed for NIS.
PersistentPasswd off
# Default root can be used to put users in a chroot environment.
# As an example if you have a user foo and you want to put foo in /home/foo
# chroot environment you would do this:
# DefaultRoot /home/foo foo

Classiquement les # en début de ligne signifient que la ligne ne sera pas


interprétée.C'est donc pratique pour faire des commentaires.
ServerName "ProFTPD Default Installation"
Le nom du serveur. C'est le nom qui s'affiche lors de la connexion d'un client.
ServerType standalone
Le démon ftpd sera toujours actif et c'est lui qui répondra aux sollicitations des clients
FTP. Un autre réglage pourrait être xinetd pour que ce soit xinet qui, à la demande du
client ne réveille le démon. Laissons le réglage de base.
DefaultServer on
Si on en crois la doc trouvée sur Internet, c'est pour des hôtes virtuels.
AllowStoreRestart on
C'est pour autoriser les clients à reprendre un téléchargement vers le serveur. C'est
notre cas puisque nous voulons que les utilisateurs authentifiés puissent télécharger des
fichiers vers leurs répertoire.
Port 21
C'est le port classique de ftp possible de le modofier
Umask 022
Pour faire simple, les fichiers téléchargés pourront être lus et écrits par les clients mais
pas éxécutés sur le serveur.
MaxInstances 30
Le nombre de processus fils maxi sera de 30. La doc me dit qu'il ne faut pas aller plus
loin sinon il y a des risques. je ne touche à rien.
User nobody Group nogroup

A.MESBAHI Page 37 sur 38


Introduction Administration Revision2013

L'utilisateur normal est nobody, son group est nogroup. Nobody est fait pour ça. On ne
touche pas.
AllowOverwrite on
Nous voulons que les clients authentifiés aient le droit de mettre à jour leurs fichiers
donc "on"
PersistentPasswd off
Nécessaire si on compte travailler sur des serveurs NIS.

Pour démarrer, stopper, vérifier : service proftpd start|stop|status

Accès en anonymous
• Il faut créer la section anonymous pour que les clients puissent se connecter sans authentification,
en fait au nom de l'utilisateur ftp, dont le répertoire personnel est /var/ftp, et qui n'a pas de shell,
comme le confirme l'examen de /etc/passwd

• Voici une configuration de base, permettant le téléchargement à partir du rép. /var/ftp, et les dépôts
sans droit de lecture (uploads) dans /var/ftp/depot

• <Anonymous ~ftp>
• User ftp
• Group ftp
• UserAlias anonymous ftp
• MaxClients 10
• RequireValidShell off
• AnonRequirePassword off
• # pas de droit en écriture en général
• <Limit WRITE>
• DenyAll
• </Limit>

• # le sous-rép. de dépot est en écriture seule
• <Directory depot/*>
• <Limit READ>
• DenyAll
• </Limit>
• <Limit STOR>
• AllowAll
• </Limit>
• </Directory>
• </Anonymous>

A.MESBAHI Page 38 sur 38

Vous aimerez peut-être aussi