AteliersLinux Ver.0.2

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 62

FORMATION LINUX

Serge BEDE – 2013 Ver.0.2


SOMMAIRE

PARTIE I : RAPPELS DE LINUX..............................................................4

CHAPITRE I : Commandes de bases de Linux.........................................5

I.1. Gestions des fichiers / Répertoires...........................................................................5

I.2. Gestion des comptes utilisateurs..............................................................................7

I.3. Notions sur les droits...............................................................................................9

CHAPITRE II : Administration réseau ..................................................11

II.1. Configuration TCP/IP .........................................................................................11

II.2. Partage réseau sous Linux (NFS).........................................................................14

II.3. Partage réseau windows / Linux (Samba)............................................................16

CHAPITRE III : Mise en place des serveurs Linux................................18

III.1. Le serveur DNS...................................................................................................18

III.2. Le serveur de messagerie....................................................................................24

III.3. Mise en place d'un serveur de web......................................................................26

PARTIE II : ATELIER DE LINUX...........................................................28

A : Commandes de bases de Linux............................................................31

Atelier N° 1 : Gestions des fichiers / Répertoires.........................................................31

Atelier N° 2 : Gestion des comptes utilisateurs...........................................................34

Atelier N° 3 : Gestion des partions et montages...........................................................36


B : Administration réseau .........................................................................39

Atelier N° 4 : Configuration TCP/IP.............................................................................39

Atelier N° 5 : Partage réseau sous Linux (NFS)...........................................................42

Atelier N° 6 :Partage réseau Windows/Linux (samba).................................................44

C : Mise en place des serveurs Linux........................................................48

Atelier N° 7 :Mise en place d'un serveur DNS.............................................................48

Atelier N° 8 :Mise en place d'un serveur de Messagerie.............................................53

Atelier N° 9 : Mise en place d'un serveur de web........................................................56


FORMATION LINUX

PARTIE I : RAPPELS DE
LINUX

Serge BEDE – 2013 4 / 62 Ver.0.2


FORMATION LINUX

CHAPITRE I : Commandes de bases de


Linux
I.1. Gestions des fichiers / Répertoires
la racine (répertoire racine noté /) de l'arborescence de fichiers contient
un certain nombre de répertoires dans lesquels se trouvent des fichiers et d'autres
répertoires.

/ Racine
/home Répertoires personnels des utilisateurs
/home/ake Répertoire personnel de l'utilisateur ake
/var Répertoire des fichiers dont le contenu varie au cours du temps
/var/log Répertoire contenant tous les fichiers des événements
/etc Répertoire contenant la quasi-totalité de la configuration du
système
/root Répertoire personnel de l'administrateur (root)
/tmp Répertoire de stockage des fichiers temporaires

Il existe 2 méthodes pour spécifier un chemin dans le système de fichiers


1. Chemin relatif : Dépend du répertoire courant
• Chemin absolu : Débute à la racine du système (« / »)

Commandes usuelles de manipulation de fichiers et répertoires

Nom commande Action


Divers
man nom_commande Aide en ligne
clear Effacer l'écran
Gestion et déplacement dans l'arborescence de fichiers
pwd Indiquer le chemin absolu du répertoire courant.
ls Visualiser le contenu d'un répertoire.

Serge BEDE – 2013 5 / 62 Ver.0.2


FORMATION LINUX

Cd nom_répertoire Se déplacer dans l'arborescence.


mkdir nom_répertoire. Créer des répertoires
cat nom_fichier Visualiser le contenu d'un fichier.
less nom_fichier Visualiser, de façon conviviale, le contenu d'un
fichier en permettant de se déplacer à l'aide des
flèches du clavier (q pour quitter).
more nom_fichier Visualiser le contenu d'un fichier en provoquant
l'arrêt de la visualisation quand l'écran est plein (q
pour quitter).

tail nom_fichier Afficher les dernières lignes d'un fichier.


head nom_fichier Afficher les premières lignes d'un fichier.
touch nom_fichier Créer un fichier vide.
> nom_fichier
rm nom_fichier Supprimer un fichier.
rmdir nom_répertoire Supprimer un répertoire.
rm rf nom_répertoire Supprimer un répertoire non vide, ainsi que tous les
répertoires et fichiers qu'il contient.
mv ancien_nom nouveau_nom Renommer un fichier ou un répertoire.
mv source destination Déplacer un fichier.
cp source destination Copier un fichier ou un répertoire
Gestion des liens
ln fichier_source fichier_cible Créer un alias du fichier source. Le fichier cible
peut se trouver à n'importe quel endroit et ne pas
avoir forcément le même nom que le fichier source.
ln -s Créer un lien symbolique (si l'original disparaît, la
fichier_source fichier_cible liaison n'existe plus).
Gestion des paquets .deb (Debian)
apt-get update Mise à jour de la liste des paquets disponibles
(version, taille...).
apt-get install nom_paquet Installer un paquet.
apt-get remove nom_paquet Supprimer un paquet.
dpkg -reconfigure nom_paquet Reconfigurer un paquet.

Serge BEDE – 2013 6 / 62 Ver.0.2


FORMATION LINUX

dpkg -s nom_paquet Obtenir des informations sur un paquet.


dpkg -l Lister les paquets connus de l'OS.
apt-cache search mot_clef Rechercher le nom d'un paquet à partir d'un mot
clef.
Archivage
tar xvf nom_fichier.tar Désarchiver une archive .tar.
gunzip nom_fichier.gz Décompresser un fichier .gz.
bzip2 -d nom_fichier.bz2 Décompresser un fichier .bz2.
tar xvfz nom_fichier.tar.gz Décompresser un tarball (fichier .tar.gz). Les
sources des logiciels sont souvent distribués dans ce
format.

I.2. Gestion des comptes utilisateurs


 La gestion des utilisateurs
L’ensemble des informations qui caractérisent les paramètres de connexion d'un
utilisateur sont définies dans le fichier /etc/passwd.
Le fichier /etc/group défini les groupes supplémentaires auxquels un utilisateur peut se
connecter en cours de session.
Le fichier /etc/passwd, comme le fichier /etc/group, sont des fichiers texte dont chaque
ligne défini respectivement un compte utilisateur (/etc/passwd) ou un groupe
(/etc/groupe).
Chaque ligne est composée de champs séparés par le symbole ‘:’.
 /etc/passwd
- Le login

- Mot de passe (sur les systèmes sécurisé, remplacé par le caractère ‘x’, le mot de
passe étant déporté dans le fichier /etc/shadow accessible en lecture
uniquement au root).

- L’uid : caractérise l’utilisateur et est mémorisé dans les descripteurs de fichier


pour en identifier le propriétaire

- Le gid : Il identifie le groupe de connexion de l’utilisateur le fichier


/etc/group associe un nom de groupe à ce numéro de groupe

- Le gecos : en règle générale, on y mets le nom complet de l’utilisateur

- Le chemin du répertoire personnel de l’utilisateur

Serge BEDE – 2013 7 / 62 Ver.0.2


FORMATION LINUX

- La commande de connexion (en général, un shell)

• /etc/group
- Le nom du groupe

- Mot de passe (plus utilisé, demandé lorsqu’un utilisateur désire se connecter au


groupe alors qu’il ne fait pas partie des membres de ce groupe).

- La liste des utilisateurs : ce numéro caractérise l’utilisateur et est utilisé dans les
descripteurs de fichier pour en identifier le propriétaire
• /etc/shadow
- Le login

- Le mot de passe crypté

- Le nombre de jours écoulés depuis le 01/01/1970 jusqu’au dernier


changement de mot de passe

- Le nombre de jours durant lesquels le mot de passe est encore valide

- Nombre de jours avant l’expiration du mot de passe impliquant


l’avertissement de l’utilisateur

- Nombre de jours après l’expiration du mot de passe impliquant la


désactivation du compte

- Numéro du jour depuis le 01/01/1970 à partir duquel le compte à été


désactivé

- Champs réservés

Les commandes de gestion des utilisateurs

useradd, usermod, userdel Gestion des utilisateurs


groupadd, groupmod, Gestion des groupes
groupdel
finger Donne des informations sur un
utilisateur
chsh, chfn Change le shell ou le gecos d’un
utilisateur

Serge BEDE – 2013 8 / 62 Ver.0.2


FORMATION LINUX

passwd Change le mot de passe / verrouille un


compte / déverrouille un compte
su Permet de se connecter à un autre
compte
id Permet de connaître son identité
groups Donne la liste des groupes d’un
utilisateur

I.3. Notions sur les droits


Sous Linux, n'importe quel fichier ou répertoire appartient à un utilisateur, qui lui-même
appartient à un groupe. Les droits sont répartis de la manière suivante : Exemple : -rwxr--
r--1 ake jury 510 sep 17 11:20 notes

Commande Actions
ls – l nom_fichier Connaître les droits d’un
fichier/répertoire
Deux méthodes : Changer les droits d’un
chmod ugoa {+||=} fichier/répertoire
rwx fichier
u :user ; g :groupe ; o :other ; a : tout le monde
chmod mode fichier
chown nom_nouveau_propriétaire fichier Changer le propriétaire d’un
fichier/répertoire
chgrp nom_nouveau_groupe fichier Changer le groupe d’un
fichier/répertoire

• Exemples de modifications de droits d'un fichier/répertoire


Syntaxe : chmod ugoa {+|-|=} rwx nom_fichier

Exemple : chmod arwx, u+rwx nom_fichier

Retire tous les droits sur le fichier sauf pour l’utilisateur qui aura le droit de lire, écrire et
exécuter.

Syntaxe : chmod mode nom_fichier


Exemple : chmod 700 nom_fichier

Serge BEDE – 2013 9 / 62 Ver.0.2


FORMATION LINUX

mode représente, en base 8, les droits du fichier. Trois termes représentent les droits.
Chaque terme est regroupé en puissance de 2 (r = 4, w = 2, x = 1, =0).
Donne tous les droits au propriétaire (7 = 4 + 2 + 1 donc rwx) et aucun droit au groupe ni
aux autres.

Serge BEDE – 2013 10 / 62 Ver.0.2


FORMATION LINUX

CHAPITRE II : Administration réseau


II.1. Configuration TCP/IP
• Installation de la carte réseau
Pour obtenir la liste des interfaces réseau qui ont été détectées, on peut utiliser la
commande
#ifconfig -a

Les sections qui commencent par ethX correspondent aux cartes ethernet, ou X est le
numéro de la carte.

Le noyau donne parfois des informations utiles sur les cartes réseau. On peut rechercher
les messages contenant "eth0" pour avoir plus d'informations sur la première carte réseau
détectée :
#dmesg | grep eth0

La commande suivante permet d'afficher les cartes réseaux reliées au bus PCI :
#lspci | grep Ethernet

• Configuration de la carte réseau


Une fois votre carte reconnue par le noyau, vous devez au moins préciser l'adresse IP et le
masque de sous-réseau de la carte. Dans le cas d'un réseau local connecté a Internet, vous
devez aussi ajouter l'adresse IP de la passerelle et l'adresse IP d'un ou plusieurs serveurs
DNS.

• Adresse IP
Pour attribuer une adresse IP a une interface reseau, on peut utiliser la commande
ifconfig :
ifconfig <interface> <adresse ip>
Par exemple :
#ifconfig eth0 192.168.1.12
Le masque de sous-réseau est déterminé automatiquement en fonction de la classe de
l'adresse IP. S'il est différent on peut le spécifier avec l'option netmask :
#ifconfig eth0 192.168.1.12 netmask 255.255.255.128
Pour voir si la carte réseau est bien configurée, on peut utiliser la commande :
#ifconfig eth0

• Passerelle et routage
Pour ajouter une passerelle, on peut utiliser la commande route :

Serge BEDE – 2013 11 / 62 Ver.0.2


FORMATION LINUX

#route add default gw <adresse ip>


Pour afficher les routes vers les différents réseaux :
#route -n

• Tester le réseau
Pour tester si la carte réseau fonctionne, on peut essayer de communiquer avec une autre
machine avec la commande
ping <adresse ip>
La commande ping envoi un paquet a l'adresse IP puis attend que la machine réponde.
Elle affiche ensuite le temps qu'a pris toute l’opération, en millisecondes.

• Informations sur les interfaces


Pour vérifier le statuts de toutes les interfaces on peut utiliser la commande
#netstat -i

• Nom d'hôte (hostname)


Le fichier /etc/hostname contient le nom de la machine et du domaine. Il est lu au
démarrage du système ou lorsqu'on lance :
#/etc/init.d/hostname.sh

• Configuration automatique au démarrage


Le fichier /etc/network/interfaces permet de configurer les cartes réseau. Ce fichier est
lu au démarrage du système et lorsqu'on utilise les commandes ifup et ifdown. Par
exemple :
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1

Et si l'interface eth0 doit être configurée automatique grâce a un serveur DHCP :


iface eth0 inet dhcp

• Résolution de noms
Le fichier /etc/host.conf indique comment les noms doivent être résolus (c'est a dire,
comment passer d'une adresse IP a un nom, et inversement). Par exemple : #nano
/etc/host.conf
# D'abord traduire avec les serveurs DNS et ensuite avec /etc/hosts.
order bind,hosts
# Il existe des machines avec plusieurs adresses
multi on
# Vérifie l'usurpation d'adresse IP

Serge BEDE – 2013 12 / 62 Ver.0.2


FORMATION LINUX

nospoof on

 Serveurs DNS
Le fichier /etc/resolv.conf contient les adresses IP des serveurs DNS. Par exemple :
#nano /etc/resolv.conf
nameserver 208.164.186.1
nameserver 208.164.186.2
search cfs
La commande search indique que si un nom de domaine n'est pas trouve, il faudra essayer
en lui ajoutant .cfs.

• Fichier hosts
Le fichier /etc/hosts contient une liste de résolutions de noms (adresses IP et noms de
machine). Par exemple: #nano /etc/hosts
192.168.105.2 pctest.monseminaire.ci pctest
Ce fichier indique que pctest correspond a l'adresse IP 192.168.105.2, qui sera accessible
par cet alias.

Serge BEDE – 2013 13 / 62 Ver.0.2


FORMATION LINUX

II.2. Partage réseau sous Linux (NFS)


Le protocole NFS (Network file system) permet de partager des fichiers entre
desmachines Unix, Linux.
C'est un modèle client-serveur : une machine met a disposition
(exporte) des répertoires de son système de fichier local sur le réseau. Suivant les droits
d’accès, les autres stations du réseau peuvent monter ces répertoires, qui seront alors vus
comme des répertoires locaux. Un ordinateur peut être a la fois client et serveur NFS.

 Installation coté serveur

Installation de nfs :
#apt-get install nfs-kernel-server

Commencer par vérifier que les deamons NFS (nfsd) ne sont pas déjà lancés avec, par
exemple, la commande :
#ps ax | grep nfsd
Pour lancer les daemons manuellement sous Debian :
#/etc/init.d/nfs-kernel-server start
ou, si c'est le serveur NFS en espace utilisateur qui est installe :
#/etc/init.d/nfs-user-server start
On peut remplacer start par restart pour redémarrer le serveur.

 Configuration
Pour partager (ou exporter) des répertoires, il faut renseigner le fichier /etc/exports. Il
indique la liste des répertoires partages et le nom des machines qui y ont accès.
Chaque ligne correspond a un répertoire et a la forme :
<répertoire local> <nom ou IP des machines autorisées à se connecter>
(<options>) <autres machines> (<options>)...

Par exemple :
/home pclinux(rw) station1(ro)
/projet station1(rw) (ro)
/brouillon
Le serveur exporte son répertoire /home. La machine pclinux pourra le monter en
lecture/écriture (rw), station1 en lecture seule (ro), et les autres machines ne pourront pas
se connecter.
De même, station1 pourra accéder en lecture/écriture au répertoire projet et toutes les
autres stations en lecture seule.
Enfin, tout le monde pourra accéder en lecture/écriture au répertoire brouillon (l'option
rw est celle par défaut).

Serge BEDE – 2013 14 / 62 Ver.0.2


FORMATION LINUX

Un fois le fichier /etc/exports correctement configuré, il suffit de relancer le service NFS


par la commande suivante pour que les modifications soient prises en compte :
#/etc/init.d/nfs-kernel-server reload

 Installation coté client


C'est relativement simple puisque le "système de fichier réseau" NFS est directement
intégré au noyau. Il suffit de vérifier que le service a bien demarrer.
Pour monter un système de fichier distant, utiliser la commande mount avec l'option nfs :

#mount -t nfs <machine distante>:<répertoire partagé>


<répertoire local> -o <options>

Par exemple :

#mount -t nfs 192.168.105.2:/armor/plages /mnt/cotes -o ro

Cette commande montera le répertoire /armor/plages, exporte par la station


192.168.105.2, dans le répertoire local /mnt/cotes, en lecture seule.

Serge BEDE – 2013 15 / 62 Ver.0.2


FORMATION LINUX

II.3. Partage réseau windows / Linux (Samba)


Samba est un service permettant de partager des repertoires et imprimantes entre des
stations Linux et des stations Windows.

• Configuration du service Samba


Pour la configuration de ce service le principal fichier a modifier est smb.conf qui se
trouve généralement dans /etc ou /etc/samba selon la distribution.

Paramètres rôles
[global] contient les options communes a tous les
répertoires partages. Voici quelques options
utilisables
workgroup Nom du groupe de travail. Les ordinateurs du
même groupe de travail se retrouvent cote à cote
dans le voisinage réseau de Windows.
server string Description du serveur, qui apparaîtra a coté de
son nom dans l'explorateur Windows. Si la
description contient le terme %h, il sera
remplacé par le nom d'hôte de la machine.
encrypt passwords Détermine si les mots de passe doivent être
cryptes avant d'être transmis.
max log size Taille maximale du fichier journal, en Kio.

Serge BEDE – 2013 16 / 62 Ver.0.2


FORMATION LINUX

De nombreuses autres options sont disponibles. Elles sont detaillees dans la page de man
de smb.conf.

• Configuration du partage des répertoires


path Le chemin du répertoire partage. C'est le
contenu du répertoire indique qui sera
partagé.
read only Détermine si les clients pourront écrire ou
non dans le répertoire partage.
public Autoriser ou non les connexions sans mot
de passe.
valid users Liste des seuls utilisateurs autorises a se
connecter sépares par des espaces. Si on
veut autoriser tous les utilisateurs il ne faut
pas mettre cette option.
browseable Détermine si le partage apparaîtra dans la
liste des partages du serveur.
La section [homes] est un partage
particulier. Elle définit le partage des
répertoires utilisateur des comptes unix de
la machine.
• Commande usuelles
sudo service smbd restart Redémarrer les services samba

smbclient //<nom du serveur>/<nom du Pour se connecter en ligne de commande a


partage> -U <utilisateur> un partage a partir de Linux, on peut
utiliser la commande
smbmount //<nom du serveur>/<nom du Il est également possible de monter un
partage> <répertoire local> partage Samba avec
Connexion au démarrage Ajouter les lignes suivantes dans le
<ordinateur distant>:<répertoire distant> fichier /etc/fstab
<répertoire local> nfs <options> 0 0 ex : pclinux:/armor/plages /mnt/cotes nfs
auto,rw,user,soft 0 0

Serge BEDE – 2013 17 / 62 Ver.0.2


FORMATION LINUX

CHAPITRE III : Mise en place des serveurs


Linux
III.1. Le serveur DNS
Le service DNS assure, principalement, la conversion de noms de domaine en adresses IP
et la détermination d'un serveur de messagerie pour une adresse électronique. Le service

DNS d'Internet est un système distribué constitué de l'ensemble des serveurs DNS.

- Domaine :un sous arbre de l'espace de nommage


contient serveur de qui fait autorité sur le domaine, maintien collection
d'information sur les equipements qui lui sont rattachés. Le serveur décide
de la relatif : nom relatif -nom absolu (FQDN) - adresse ip

- Sous Domaine :Lorsque le nombre d'équipements devient trop important à gérer,


l 'administrateur peut partager le domaine en sous domaines.Il délèguera son
autorité à chaque administrateur de sous-domaine.

- Zone :Une zone comprend un ensemble de données dans le domaine ou le sous-


domaine. En règle générale une zone est représentée par un fichier.

Arborescence des noms de domaine

Serge BEDE – 2013 18 / 62 Ver.0.2


FORMATION LINUX

• domaine in-addr.arpa
resolution = nom d'hote → Adresse Ip ( resolution directe )
processus inverse doit être possible :
resolution de nom inverse = Adresse Ip → Nom d'hote
c'est la zone particulière in-addr.arpa qui permet cela.

• Fichiers, structure et contenus


deux types de fichiers :

- le fichier /etc/bind/named.conf, qui décrit la configuration générale


du serveur DNS (specifie ou sont les fichiers d'initialisation et de
configuration du serveur dns)

- les fichiers qui contiennent les enregistrements de ressources pour la zone


dans /etc/bind. On crée, en général, un fichier pour la résolution directe
d'une zone, et un fichier pour la résolution inverse.

• Structure des enregistrements

Les enregistrements qui enrichissent une base de données DNS sont de plusieurs types,
dont voici les principaux :

Enregistrement de type SOA (Start Of Authority) : indique l'autorité sur la zone. Ces
enregistrements contiennent toutes les informations sur le domaine. Par exemple le délai
de mise à jour des bases de données entre serveurs de noms primaires et secondaires, le
nom du responsable du site

Syntaxe :
Nom-domaine. IN SOA nom-site. --- contact. --- (
vl ; Version
v2 ; Refresh
v3 ; Retry
v4 ; Expiration
v5); Minimun

• Signification

Nom-domaine : nom du domaine en FQDN. souvent Remplacé par @


Nom-site : Nom du serveur maître (en FQDN) du domaine.
contact : Adresse électronique (en FQDN) du responsable du domaine.
V1 : Numéro de Version de la base du domaine, en général exprimé

Serge BEDE – 2013 19 / 62 Ver.0.2


FORMATION LINUX

en AAAAMMJJVV. A chaque modification de la base, ce


numéro doit être incrémenté sur le serveur maître afin que les
serveurs esclaves puissent demander la réplication.

V2 : Intervalle de temps en secondes pour la vérification du numéro


de version par le serveur esclave. Mise à jour des fichiers
de l'esclave si la version du maître a changé (vdf : 10800s
(3h)).

V3 : Intervalle de temps en secondes au bout duquel un serveur


esclave doit contacter un serveur maître si une mise à jour
a échoué. (vdf : 3600s (1 h)).

V4 :Temps en secondes après lequel un serveur esclave doit éliminer


les données non mises à jour par le serveur maître (vdf :
604800s= 1 semaine)

V5 : Durée de vie en secondes par défaut pour les RR qui n'en c


contiennent pas. Les infos concernant ces RR seront
détruites des caches après ce délai (vdf : 38400s (10h et
40mn)).

exemple

@ IN SOA linux1.monseminaire.ci admin.monseminaire.ci (


2 ; Version
3600 ; Refresh d'1 heure
300 ; Retry de 5mn
86400 ; Expire de 24h
38400 ) ;Minimum de 10h 40mn = vdf

• Enregistrements de type NS (Name Server) : ces enregistrements donnent les


adresses des serveurs de noms pour le domaine.

Syntaxe :
Nom-domaine. [temps-de-vie] IN NS nom-site.s/dom1. ---.dom-racine.

exemple

monseminaire.ci IN NS linux1.monseminaire.ci

Serge BEDE – 2013 20 / 62 Ver.0.2


FORMATION LINUX

• Enregistrement de type A (Adresse) : ces enregistrements permettent de définir


les noeuds fixes du réseau (ceux qui ont des adresses IP statiques). Serveurs,
routeurs, switchs ...

Syntaxe :
nom-site.s/dom IN A a.b.c.d

exemple
linux1.monseminaire.ci IN A 192.168.20.2

linux2.monseminaire.ci IN A 192.168.20.3

linux3. monseminaire.ci IN A 192.168.20.4

local host.monseminaire.ci IN A 127.0.0.1

• Enregistrements de type MX (Mail eXchanger) : ils servent pour déclarer les


serveurs de messagerie. Il faudra déclarer une enregistrement de type MX pour la
réalisation du TP sur la messagerie.

Syntaxe :
nom-domaine. [ttlJ IN MX préférence nom-
de site.

exemple

monseminaire.ci IN MX 10
linux1.monseminaire.ci

monseminaire.ci IN MX 20
linux2.monseminaire.ci

• Enregistrement de type PTR (Pointeur) : ils permettent la résolution de noms


inverse dans le domaine in-addr.arpa.

Syntaxe :
d.c.b.a.in-addr.arpa. IN PTR nom-site.s/doml. ---.dom-racine.

Exemple

2.20.168.192.in-addr.arpa. IN PTR linux1.monseminaire.ci

Serge BEDE – 2013 21 / 62 Ver.0.2


FORMATION LINUX

1.0.0.127.in-addr.arpa. IN PTR localhost.monseminaire.ci

• Serveur maître.
C'est le serveur qui a autorité sur le domaine.
Il contient les fichiers références du domaine et est le seul à les posséder.
Exemple
Pour le serveur maître (type master) pour le domaine « monseminaire.ci » les
enregistrements seront stockés dans le fichier /etc/bind/db.monseminaire.ci.
L'instruction notify no indique que BIND ne doit pas notifier les serveurs esclaves lors du
changement du fichier de zone. Par défaut, BIND notifie les serveurs esclaves précisés
dans les enregistrements NS.

zone "monseminaire.ci" {
type master;
notify no;
file "/etc/bind/db.monseminaire.ci";
};

• Serveur(s) esclave(s)
Ils sont avant tout prévus pour être en esclave du maître et contiennent une
copie des fichiers transmis par réseau.
Ils peuvent être définis comme serveur DNS à interroger pour un client.
Une fonctionnalité de réplication automatique est définissable pour que leurs
fichiers soient mis à jour lors du changement de version des fichiers du
maître.

Exemple
Pour un serveur esclave (type slave) pour le domaine « monseminaire.ci » dont les
données seront récupérées à partir du serveur précisé par l'instruction masters {...}.
L'instruction file est optionnelle, elle permet au serveur esclave de sauvegarder les
données de la zone sur le disque afin de les utiliser en cas de redémarrage.

zone "monseminaire.ci" {
type slave;
file "/var/cache/bind/db.monseminaire.ci";
masters { 192.168.1.1; }; // adresse IP du serveur maître
};

Le fichier de configuration du serveur maître doit être rectifié pour autoriser le transfert
de zone vers le(s) serveur(s) esclave(s) en ajoutant l'instruction allow-transfer {...}:

Serge BEDE – 2013 22 / 62 Ver.0.2


FORMATION LINUX

zone "monseminaire.ci" {
type master;
file "/etc/bind/db.monseminaire.ci";
allow-transfer { 192.168.1.2; }; // liste des adresses IP des serveurs esclaves
};

Serge BEDE – 2013 23 / 62 Ver.0.2


FORMATION LINUX

III.2. Le serveur de messagerie


Principes et concepts
− Quand un client (un utilisateur) envoie un message, il utilise un MUA (Mail
User Agent), par exemple Outlook Express, Thunderbird, Evolution, Kmail,
Mutt, etc.

− Le MUA envoie le message au MTA (Mail Transport Agent). Le MTA étudie


l’adresse électronique pour isoler l’utilisateur et le domaine de destination. Puis
il vérifie les informations DNS de type MX (Mail exchanger) pour le domaine
choisi, pour savoir à quel serveur transmettre le courrier. Si aucun MTA n’est
disponible, le message est placé en file d’attente et relance la distribution plus
tard (le délai dépend de la configuration du MTA).

− Le MX peut être soit un autre MTA, qui jouera le rôle de routeur (cas d’une
redirection vers un sous-domaine par exemple), soit un MDA (Mail Delivery
Agent). Le MDA place le message dans un fichier temporaire, peut le filtrer, etc.

− À ce niveau, le destinataire reçoit le message : soit il le récupère en lisant


directement le fichier temporaire (cas de la commande mail par exemple) soit il
passe par un protocole de type POP ou IMAP.

− Le protocole de transport de messages est le SMTP (Simple Mail Transfer


Protocol) sur le port 25.

− Les protocoles de réception de messages soit POP (Post Office Protocol) sur le
port 110 (POP3), soit IMAP (Internet Message Access Protocol).

Deux suites de courrier électronique se partagent l’essentiel du marché sur Unix :


sendmail et postfix.

• La suite libre sendmail est la plus connue et la plus utilisée. Sendmail a été créé
en 1981 par Eric Allman et a été intégré à BSD 4.2 en 1983. On estimait en 2000
son utilisation à plus de 100 millions de serveurs de courrier électronique. Tant
qu’il ne faut pas modifier fortement sa configuration de base, sendmail est idéal.

Si vous souhaitez aller plus loin, l’achat d’un livre complet s’avère plus que
nécessaire. La configuration de sendmail est si complexe qu’un langage de
macros appelé m4 a été inventé rien que pour lui . Aussi, vous n’éditez pas (ou
très rarement) le fichier de configuration de sendmail : vous éditez le fichier

Serge BEDE – 2013 24 / 62 Ver.0.2


FORMATION LINUX

source des macros et vous le « recompilez » : m4 va créer le fichier de configuration de


sendmail.
Sendmail est devenu un monstre de puissance et de configuration.

• Le produit postfix tend à être de plus en plus utilisé non pas par les déçus de
sendmail mais par ceux qui craignent de devoir le configurer. C’est une
alternative à sendmail. Les buts de ses développeurs (dont certains sont ceux de
sendmail) sont :
• la compatibilité avec sendmail
• la rapidité (plus de un million de messages par jour sur un
simple Pentium 4)
• la simplicité d’administration (fichier de configuration simple et lisible)
• la sécurité (peut être chrootée)
• la modularité (décomposition des traitements).

On retiendra la simplicité. En effet, on peut configurer postfix avec une seule commande
sans avoir besoin d’éditer de fichier. C’est ce serveur que nous allons utiliser.

Pré-réquis avant la mise en œuvre :


• Avoir un service DNS fonctionnel: Bind9 ( déclaration NS et MX)
• Choisir le MTA à installer pour acheminer le courriel d'un serveur à
l'autre (Postfix )
• Choisir le MDA qui va se charger de la gestion des boîtes aux lettres et livrer
le courriel dans la boîte à messages du destinataire (courrier-imap)
• Choisir un MUA pour le client de messagerie (mailutils et evolution )

Serge BEDE – 2013 25 / 62 Ver.0.2


FORMATION LINUX

III.3. Mise en place d'un serveur de web


Apache 2 est le serveur HTTP le plus utilisé actuellement sur les serveurs Web. Sa
configuration et sa flexibilité en font un serveur incontournable.

Lorsqu’un serveur Apache reçoit des requêtes, il peut les redistribuer à des processus fils.
La configuration permet de lancer des processus de manière anticipée et d’adapter
dynamiquement ce nombre en fonction de la charge.

Apache est modulaire. Chaque module permet d’ajouter des fonctionnalités au serveur.
Le module le plus connu est probablement celui gérant le langage PHP, « mod_php ».
Chaque module s’ajoute via les fichiers de configuration, et il n’y a même pas besoin de
relancer le serveur Apache : on lui donne juste l’ordre de relire sa configuration.

Apache peut gérer plusieurs sites Web en même temps, ayant chacun leur nom, à l’aide
des hôtes virtuels.

Installation de Apache 2

Avant toute manipulation, il faut mettre à jour notre système


Nous utilisons une distribution ubuntu :
$ sudo apt-get update && sudo apt-get dist-upgrade

$ sudo apt-get install apache2

Vérification

Serge BEDE – 2013 26 / 62 Ver.0.2


FORMATION LINUX

Les fichiers de configuration de apache2 sont présents dans /etc/apache2/


− httpd.conf est le fichier utilisé par apache1, il est conservé vide dans Apache2 pour
assurer la rétrocompatibilité. Il ne nous servira pas ;

− envvars est utilisé pour définir des variables d'environnement propres à Apache ;

− ports.conf contient la directive listen qui spécifie les adresses et les ports
d'écoutes ; apache2.conf est le fichier principal de configuration c'est à partir de
lui que tous les autres fichiers sont chargés ;

− conf.d est un répertoire qui contient plusieurs petits fichiers qui seront analysés par
apache. Le seul fichier pour le moment est charset, qui spécifie l'encodage à
utiliser par défaut ;

− mods-available contient la liste des modules d'apache installés (pas forcément


activé) ;

− mods-enabled celle des modules utilisés (activés);

− sites-available contient la liste des vhosts installés ;

− sites-enabled celle des vhosts utilisés

Par défaut la racine du serveur, celle où sont placées les pages du site, est dans /var/www
ou /srv/www . Cette position dépend de la directive DocumentRoot dans les fichiers de
configuration .

Serge BEDE – 2013 27 / 62 Ver.0.2


FORMATION LINUX

PARTIE II : ATELIER DE
LINUX

Serge BEDE – 2013 28 / 62 Ver.0.2


FORMATION LINUX

Serge BEDE – 2013 29 / 62 Ver.0.2


FORMATION LINUX

Domaine : stage1.monseminaire.ci
Adresse de Réseau : 192.168.20.0/24

NOM-MACHINE ADRESSE FONCTIONS


RESEAU
Linux1.stage1.monseminaire.ci 192.168.20.1/24 Dns Primaire / serveur ftp /
serveur Samba
Linux2.stage1.monseminaire.ci 192.168.20.2/24 Dns secondaire / serveur
web
Linux3.stage1.monseminaire.ci 192.168.20.3/24 Serveur de messagerie

Domaine : stage2.monseminaire.ci
Adresse de Réseau : 192.168.30.0/24

NOM-MACHINE ADRESSE FONCTIONS


RESEAU
Linux4.stage2.monseminaire.ci 192.168.30.4/24 Dns Primaire / serveur ftp /
serveur Samba
Linux5.stage2.monseminaire.ci 192.168.30.5/24 Dns secondaire / serveur
web
Linux6.stage2.monseminaire.ci 192.168.30.6/24 Serveur de messagerie

Domaine : stage3.monseminaire.ci
Adresse de Réseau : 192.168.40.0/24

NOM-MACHINE ADRESSE FONCTIONS


RESEAU
Linux7.stage3.monseminaire.ci 192.168.40.7/24 Dns Primaire / serveur ftp /
serveur Samba
Linux8.stage3.monseminaire.ci 192.168.40.8/24 Dns secondaire / serveur
web
Linux9.stage3.monseminaire.ci 192.168.40.9/24 Serveur de messager

Serge BEDE – 2013 30 / 62 Ver.0.2


FORMATION LINUX

A : Commandes de bases de Linux

Atelier N° 1 : Gestions des fichiers / Répertoires

1- Ouvrir une session avec le compte administrateur (root) sur la première console
virtuelle (/dev/tty1).
Pour information, la combinaison des touches [CTRL][ALT][Fx] permet de passer d'une
console à une autre.

2- A l'aide de la documentation (man), préciser le rôle de chaque commande donnée ci-


dessous.
Commande Role
ls
ls -l
ls /
ls /home
ls -l /home
ls -l -h
ls ~
ls -a
ls -R /var
ls -alR /var
ls -t
ls .b*
ls -i
ls -al | less

3- Exécuter les commandes ci-dessous. Placez vous dans votre répertoire d'accueil. Soit
la succession suivante de commandes :
cp /etc/hosts a
mkdir b c
cd b
cp ../a d

Serge BEDE – 2013 31 / 62 Ver.0.2


FORMATION LINUX

mkdir ../e f
cd
cp a b/f/g
cd b/f
cp g ../../e
cd ..
rm ../a
rmdir ../c
mv ../e/g ../e/x

- Dessinez l'arborescence résultante.

- Quel est le répertoire courant à la fin de l'opération ?


Il n'est pas nécessaire de taper les commandes pour faire cet exercice.

4- Se positionner dans le répertoire personnel de l'administrateur


Réponse :

5- Création de répertoires : Exécuter les commandes ci-dessous et compléter le tableau.

Commande Role
mkdir /ap
mkdir ap

6- Se positionner dans le répertoire /tmp et créer dans celui-ci deux répertoires nommés
ap1 et ap2.
Réponse :

7- Copie de fichiers et de répertoires : Exécuter les commandes ci-dessous et compléter


le tableau.
Constater la différence entre les deux commandes.

Commande Role
cp -a /etc /tmp/ap1
cp -a /etc/* /tmp/ap2

8- Se positionner dans le répertoire personnel de l'administrateur puis exécuter et


expliquer la commande...
cp -a /var/log/news .
Réponse :

Serge BEDE – 2013 32 / 62 Ver.0.2


FORMATION LINUX

9- Suppression de fichiers et de répertoires : Exécuter les commandes ci-dessous et


compléter le tableau.

Commande Role
rm /tmp/ap1/*
rm -rf /tmp/ap2

10- Déplacements de fichiers et de répertoires : Se positionner dans le répertoire


personnel de l'administrateur, puis exécuter les commandes ci-dessous.

Commande Role
mv ~/news /tmp
mv /tmp/news /tmp/old

11- Visualisation du contenu des fichiers : Exécuter les commandes ci-dessous.

Commande Role
cat /etc/services
more /etc/services
less /etc/services
Tail -n 5 /etc/services
Head -n 5 /etc/services

Serge BEDE – 2013 33 / 62 Ver.0.2


FORMATION LINUX

Atelier N° 2 : Gestion des comptes utilisateurs

Partie1

1 : Créer les groupes sav et syndicat.


Réponse :
2 : Vérifier que les groupes créés précédemment figurent dans le fichier des
groupes.
Réponse :
3 : Créer l'utilisateur Pierre kouakou, dont le login est pckouakou , qui appartient
au groupe syndicat.
Réponse :

4 : Vérifier que l'utilisateur pckouakou a bien été créé.

5 : Quel est le répertoire de base de l'utilisateur pckouakou ?


Réponse :

6 : Quel l'interpréteur de commandes de l'utilisateur pckouakou ?


Réponse :

7 : Vérifier que le répertoire personnel de Pierre KOUAKOU a bien été créé.


Réponse :

8 : Appliquer à l'utilisateur pckouakou le mot de passe pierro.


Réponse :

9 : Vérifier que Pierre KOUAKOU peut ouvrir une session.


Réponse :
10 : Créer l'utilisateur Lise SERY, dont le login est lsery, qui appartient aux
groupes sav et syndicat, et dont le répertoire de base sera /home/secretaire/lsery
Réponse :

11: Appliquer à l'utilisateur lsery le mot de passe trustnoone.


Réponse :

12 : Vérifier que Lise SERY peut ouvrir une session.


Réponse :
13 : Dans le fichier /etc/passwd, à quel groupe appartient l'utilisateur lsery ?
Réponse :

Serge BEDE – 2013 34 / 62 Ver.0.2


FORMATION LINUX

14 : Comment savoir à quels autres groupes Lise SERY appartient elle ?


Réponse :

15 : Modifier l'utilisateur pckouakou pour qu'il appartienne au groupe


syndicat mais aussi au groupe sav.

Réponse :

16 : Vérifier que l'utilisateur pckouakou appartient au groupe sav.

Réponse :

17 : Quels sont les fichiers créés par défaut dans le répertoire personnel de
pckouakou ?

Réponse :

18 : Quels sont les fichiers créés par défaut dans le répertoire personnel de lsery ?

Réponse :

19 : Quels sont les fichiers présents dans le répertoire /etc/skel ?

Réponse :

20 : Créer un fichier vide nommé essais.txt dans le répertoire /etc/skel.

Réponse :

21 : Créer un nouvel utilisateur nommé aka.

Réponse :

22 : Quels sont le fichiers créés par défaut dans le répertoire personnel de aka ?

Réponse :

23 : A quel groupe appartient l'utilisateur aka.


Réponse :

24 : Supprimer l'utilisateur aka.


Réponse :

Serge BEDE – 2013 35 / 62 Ver.0.2


FORMATION LINUX

Atelier N° 3 : Gestion des partions et montages

1- Créer (machine virtuelle à l'arrêt) un disque SCSI d'une capacité de 1Go


(option "Store virtual disk as a single file" sélectionnée). Ce disque sera désigné
par /dev/sdb1. Puis, démarrer la machine virtuelle.

2- Afficher la table des partitions du disque désigné par /dev/sda (commande


fdisk). Quelles sont les partitions existantes ?

3-
Afficher les informations (capacité, espace libre...) concernant la partition
/dev/sda1 (commande df).

Commande :
Capacité :
Espace occupé :
Espace libre :
Point de montage :

4- Créer deux partitions principales (commande fdisk) sur le disque


/dev/sdb1.
Réponse :

5- Formater la première partition principale (commande mkfs.ext3). Pour


information, la première partition principale du nouveau disque est désignée
par /dev/sdb1.
Réponse :

6- Vérifier l'existence des deux partitions sur le disque /dev/sdb (commande


fdisk).
Réponse :

7- Créer le répertoire /media/dd2.


Réponse :

8- Monter (rattacher à l'arborescence) la partition /dev/sdb1 dans /media/dd2.


Réponse :

Serge BEDE – 2013 36 / 62 Ver.0.2


FORMATION LINUX

9- Se positionner dans le répertoire /media/dd2, puis créer le répertoire


/media/dd2/nospartages.
Réponse :

10- Démonter la partition /dev/sdb1 de l'arborescence (commande umount).


Réponse :

11- Expliquer pourquoi la commande précédente n'a pas fonctionné et


proposer une solution.
Réponse :

12- Créer le répertoire /media/dd_partages.


Réponse :

13- Monter la partition /dev/sdb1 dans /media/dd_partages/.


Réponse :

14- Vérifier que la commande précédente a été exécutée avec succès. Puis,
démonter la partition /dev/sdb1 de l'arborescence.
Réponse :

15- Modifier le fichier /etc/fstab de façon à ce que la partition /dev/sdb1 soit


automatiquement montée dans /media/dd_partages au démarrage.
Réponse :

16- Redémarrer la machine virtuelle, puis vérifier que la partition /dev/sdb1 a


bien été monté dans /media/dd_partages.
Réponse :

17- Modifier le fichier /etc/fstab de façon à ce qu'il retrouve son contenu


d'origine. Enfin, redémarrer la machine virtuelle.
Réponse :

18- Créer le répertoire /media/mon_cd.


Réponse :

19- Monter le CD-ROM (demander l'image ISO au professeur) dans le


répertoire /media/mon_cd.
Réponse :

20- Parcourir le contenu du CD-ROM.


Réponse :

Serge BEDE – 2013 37 / 62 Ver.0.2


FORMATION LINUX

21- Ejecter le CD-ROM


Réponse :

22- Expliquer pourquoi la commande précédente n'a pas fonctionné et


proposer une solution.
Réponse :

23- Rechercher la commande permettant de créer une image ISO à partir d'un
CD-ROM
Réponse :

Serge BEDE – 2013 38 / 62 Ver.0.2


FORMATION LINUX

B : Administration réseau

Atelier N° 4 : Configuration TCP/IP

1- A l'aide de la commande ifconfig (affichage de la configuration IP),


relever la dénomination de l'interface réseau Ethernet, l'adresse IP ainsi que
l'adresse MAC (champ HWaddr) de la carte réseau.

Nom de l'interface réseau :


Adresse IP :
Adresse MAC :

3- A l'aide de la commande ping, vérifier que la machine virtuelle peut


"communiquer" avec celle du voisin (lui demander l'adresse IP de sa machine
virtuelle).
Commande :

4- A l'aide de la commande netstat (netstat nr), relever l'adresse du routeur


(ligne correspondant à la "route par défaut") de la salle.
Adresse du routeur :

5- Vérifier que la machine virtuelle peut "communiquer" avec le routeur ou


la passerelle de la salle (192.168.20.12)
Commande :

6- Vérifier que la machine virtuelle peut "communiquer" avec le serveur de


la machine hôte
Commande :

7- A l'aide de la commande ifconfig, modifier l'adresse IP de la votre carte


réseau : 192.168.x0.yyy (x vaut 2,3,4 et y).
Commande :

8- Vérifier que la machine virtuelle peut "communiquer" avec la passerell de


la salle.
Commande :

9- La machine virtuelle peut elle "communiquer" une machine d'un autre


réseau ?

Serge BEDE – 2013 39 / 62 Ver.0.2


FORMATION LINUX

Commande :
Résultat obtenu :

10- A l'aide de la commande netstat, expliquer le résultat obtenu à la question


précédente.
Explications :

11- Redémarrer la machine virtuelle


(commande reboot)

12- Les modifications précédentes ont elles été conservées ? Quelle


commande faut il utiliser pour le savoir ?

Modifications conservées : Oui / Non


Commande utilisée :
13- Editer le fichier /etc/network/interfaces et modifier l'adresse IP (adresse
IP imposée à la question 7).
Commande :
14- Afficher la configuration IP de la carte réseau.
Commande :

15- La nouvelle adresse IP a t'elle était prise en compte ?


Réponse :

16- Redémarrer le service réseau (commande /etc/init.d/networking restart).

17- Afficher de nouveau la configuration de la carte réseau et indiquer si la


nouvelle adresse IP a été prise en compte.

Commande :
Résultat :

18- Redémarrer la machine virtuelle.


Commande :

19- Afficher de nouveau la configuration de la carte réseau et indiquer si la


nouvelle adresse IP a été prise en compte.
Commande :
Réponse :

20- La machine virtuelle peut elle "communiquer" avec le serveur DNS ?


Indiquer la commande utilisée.
Commande :

Serge BEDE – 2013 40 / 62 Ver.0.2


FORMATION LINUX

Réponse :

21- Où est précisée l'adresse du routeur ("passerelle par défaut") ?


Réponse :

22- Visualiser le contenu du fichier /etc/resolv.conf. En déduire le rôle de ce


fichier.
Réponse :

23- Visualiser le contenu du fichier /etc/hostname. En déduire le rôle de ce


fichier.
Réponse :

24- Exécuter la commande ifconfig eth0 0, puis visualiser la configuration IP


de la carte réseau. En déduire le rôle de cette commande.
Réponse :

25- La machine peut elle "communiquer" avec un autre poste du réseau ?


Pourquoi ?
Réponse :

26- Que peut on faire pour restaurer la configuration IP ? Mettre en œuvre la


solution proposée.
Réponse :

27- Exécuter la commande ifconfig eth0 down, puis visualiser la configuration de


la carte réseau. La machine peut elle "communiquer" avec un autre poste du
réseau ? En déduire le rôle de cette commande.

Résultat obtenu :
Rôle :
28- Comment annuler l'effet de la commande de la question 27 ?
Commande :

Serge BEDE – 2013 41 / 62 Ver.0.2


FORMATION LINUX

Atelier N° 5 : Partage réseau sous Linux (NFS)

Partie 1

Objectifs :
Configurer un service de partage de disque pour un client Linux.

Vous allez créer deux répertoires partagés qui seront accessibles par le client :
/tmp sur le serveur sera accessible en lecture/écriture
/usr/share/doc sur le serveur sera accessible en lecture pour le client.
Ces répertoires seront montés respectivement sur les répertoires locaux /mnt/tempo et
/mnt/doc

Utiliser man pour connaître les rôles des commandes suivantes :

exports, mount, showmount, rpcinfo. fstab,


linux3 192.168.20.3:serveur nfs

1. Installer les services nfs sur le serveur


Editez le fichier /etc/exports, et déclarez les répertoires exportés.

Activez le service portmap. Vérifiez qu'il est bien actif.


# rpcinfo -p :

2. Vérifiez sur le serveur les fichiers exportés avec la commande


showmount -e

Attention, si vous montez une arborescence sur un répertoire local, et que ce répertoire
contenait des fichiers, ces derniers seront masqués le temps du montage.

3. Créez sur le client les points de montage, montez les dossiers exportés du
serveur et testez les accès à partir du client.

4. Vérifiez les permissions d'accès lecture et lecture/écriture.

5. A partir du client, créez un fichier sur le fs (file system) accessible en


écriture.

6. Ouvrez une autre session sur le serveur dans un autre terminal et essayez
de démonter les répertoire montés. Que se passe t-il, pourquoi ?

7. Vérifiez sur le serveur les fichiers exportés avec la commande showmount

Serge BEDE – 2013 42 / 62 Ver.0.2


FORMATION LINUX

-a.

8. Démontez les systèmes de fichiers.

Deuxième partie

Le fichier /etc/fstab permet de déclarer tous les points de montage.

1. Editez et modifiez le sur le client afin d'inclure les systèmes de fichiers nfs
exportés par le serveur.
Utilisez l'exemple que vous avez dans /etc/fstab.

2. Rajoutez les lignes nécessaires en vous servant de l'exemple ci-dessous.


serveurNFS:/usr/share/doc /mnt/doc nfs user

3. Vérifiez que les modifications que vous avez apportées dans le fichier
fstab fonctionnent.

4. Supprimez l'option user sur les lignes que vous avez mises dans le fichier
fstab, enregistrez. Essayez ensuite de monter l'arborescence en utilisant un
compte autre que “ root ”.

Que se passe-t-il ?

5. Restaurez l'environnement.

Serge BEDE – 2013 43 / 62 Ver.0.2


FORMATION LINUX

Atelier N° 6 :Partage réseau Windows/Linux (samba)

Installation d'un serveur SAMBA

Objectifs
Cet atelier permettra la mise en œuvre du protocole SMB et la mise en place du partage
de fichiers et d'imprimantes dans un environnement windows / Linux

1. Déroulement des opérations

Les opérations vont se dérouler en 5 étapes :

• Configuration du fichier /etc/smb.conf et démarrage des services.


• Création de comptes utilisateurs.
• Création de ressources disques partagées en lecture et en lecture/écriture.
• Configuration du client Windows XP.
• Procédure de test.

Configuration du fichier smb.conf et démarrage des services


Le fichier de configuration smb.conf est dans le répertoire /etc/samba.
• Faites une copie de sauvegarde de ce fichier
• ouvrez l'original avec un éditeur.
• Modifiez-le afin que les utilisateurs puissent accéder au répertoire /tmp du serveur
en rw et à leur répertoire personnel en rw également.

Création de comptes utilisateurs

Vous allez tout d'abord :


• créer le compte linux

• créer le compte système samba si il n'existe pas à l'aide de la commande useradd


et la comande smbpasswd
#smbpasswd -a nomUser

Serge BEDE – 2013 44 / 62 Ver.0.2


FORMATION LINUX

Vérification de la configuration sur le serveur SAMBA


• Démarrez le service. Vous pouvez utiliser la commande testparm pour valider la
configuration du serveur.

• Vérifiez également la table des processus et les traces dans le fichier log. Le
fichier diagnosis.html de la documentation de samba, donne une procédure en 10
points pour vérifier que tout fonctionne. Localisez ce fichier, (en général dans
/usr/share/doc/samba) ouvrez-le avec un navigateur et réalisez la procédure de
test qui y est décrite.

Procédure de test à partir d'un client Linux

• Interface ligne de commande (smbclient)


En ligne de commande (man smbmount smbclient mount), il est fortement
déconseillé de mettre le mot de passe en clair, car outre le fait qu'il soit visible lors
de sa saisie sur la console, il apparaitra en clair dans la liste des processus avec un
simple ps.

Exemple :
- pour se connecter au service (ici un partage) d’une machine :
smbclient //machine/service -U login%passwd

- Pour lister les services proposés par une machine:

smbclient -L hostname -U login%passwd # liste des ressources

#mkdir -p /mnt/samba
# smbmount //@ipduserveur/partage /mnt/smbmnt -o username=fds
Password:

• Montage
Montez un système de fichiers SMB avec la commande smbmount.
#smbmount //machine/partage /mnt/mountpoint -o username=login

Montez un système de fichiers SMB avec la commande cifs


#mount.cifs //machine/partage /mnt/mountpoint -o guest

• Pour un montage automatique du système de fichiers partagés dans fstab par


exemple, on utilisera un fichier avec l'option du même nom et on veillera à
positionner les droits minimum.

Editez le ficier /etc/fstab.

Serge BEDE – 2013 45 / 62 Ver.0.2


FORMATION LINUX

NB : Tout comme avec nfs, c’est un service spécialisé qui montera et démontera les
partages. Les derniers noyaux Linux ont remplacé smbfs par cifs (installez le paquet
cifs: #apt-get install cifs-utils) :

Autre exemple montage ponctuel :


Smbmount //machine/partage /mnt/mountpoint cifs defaults,username=nobody 0 0

- Accès authentifié :
#mount.cifs //machine/partage /mnt/mountpoint -o username=IDENTIFIANT

- Montage Automatique dans /etc/fstab


//machine/partage /mnt/mountpoint cifs _netdev,guest 0 0

• Interface graphique nautilus ou konqueror


Lancez konqueror ou nautilus à partir d'un autre client linux et utilisez l'url suivante :
smb://@IP_Du_Serveur/un_partage_Samba_public
ou
smb://loginname@Nom_Du_Serveur/.
Vous devriez avoir une fenêtre équivalente à celle donnée ci-dessous.

Serge BEDE – 2013 46 / 62 Ver.0.2


FORMATION LINUX

Procédure de test à partir d'un client Windows

La procédure de test sera réalisée à partir d'un client XP.


Il faudra se référer à la documentation située en général dans /usr/share/doc/samba.
Configurez votre client Windows pour qu'il puisse faire partie de votre domaine (mettre
une adresse IP dans le même réseau que le serveur Samba) déclaré sur votre serveur
Linux.
Au démarrage du PC, vous pouvez vous authentifier avec un compte propre au poste XP.
Une fois la session ouverte vous utilisez la procédure suivante:
• Accédez aux Favoris réseaux,
• Voir les ordinateurs du groupe de travail,
• sélectionnez Réseaux Microsoft Windows
• Sélectionnez le nom de votre domaine Samba, puis cliquez sur votre serveur
• Vous devrez alors vous identifier avec un des utilisateurs définis sur votre serveur
Samba.
• Vérifiez les accès en lecture / écriture sur les espaces disques partagés.
Modification de l'environnement serveur
• Créez sur le serveur les espaces supplémentaires /mnt/apps et /mnt/partage. Le
premier est en lecture uniquement, le deuxième en lecture / écriture.
• Donnez des droits à certains utilisateurs seulement.
• Modifiez smb.conf, relancez le service serveur,
• testez les accès.

Serge BEDE – 2013 47 / 62 Ver.0.2


FORMATION LINUX

C : Mise en place des serveurs Linux

Atelier N° 7 :Mise en place d'un serveur DNS

PARTIE 1 : Installation d'un serveur maître

Préalable
Configuration Réseau :
- Vérification des adresses :
configurer vos ordinateurs comme présentée dans la figure 1

exemple :
NOM-MACHINE ADRESSE RESEAU FONCTIONS
Linux1.stage1.monseminaire.ci 192.168.20.1/24 Dns Primaire
Linux2.stage1.monseminaire.ci 192.168.20.2/24 Dns secondaire
Linux3.stage1.monseminaire.ci 192.168.20.3/24 Serveur de messagerie

#ifconfig -a
ping des autres ordinateurs du réseau

Mise à jour des packages


Vérification des mise jour et des dépendances avant
l'installation de bind
# apt-cache search bind
Renvoie la liste des packages du serveur DNS bind.
Installation de Bind
#apt-get install bind permet l'installation de packages.

Installation et Configuration du serveur

Nom de Machine : linux1


On installe BIND et sa documentation en tapant dans le terminal la commande suivante :
#apt-get install bind bind-doc dnsutils

Démarrer le service bind


#service bind start

Serge BEDE – 2013 48 / 62 Ver.0.2


FORMATION LINUX

Modification du fichier de configuration


Editez le fichier /etc/bind/name.conf.local, on tape les lignes suivantes :

zone "stage1.monseminaire.ci" {
type master;
notify yes ;
file "/etc/bind/db.stage1.monseminaire.ci ";
};

stage1.monseminaire.ci est le nom de domaine pour lequel notre serveur sera primaire
(c'est à dire où c'est se serveur DNS qui sera utilisé),

stage1.monseminaire.ci désigne le fichier /etc/bind/db.stage1.monseminaire.ci où seront


stockés les enregistrements de la zone.
On crée le fichier stage1.monseminaire.ci et on tape les lignes suivantes :
;;BIND reverse data file for broadcast zone
;
$TTL 604800
stage1.monseminaire.ci IN SOA linux1 [email protected] (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
stage1.monseminaire.ci. IN NS linux1
linux1 IN A 192.168.20.1
linux2 IN A 192.168.20.2
linux3 IN A 192.168.20.3
stage1monseminaire.ci. IN MX 10 linux3
mail1.stage1.monseminaire.ci IN CNAME linux3

Sur le serveur principal (linux1), il faut autoriser Bind à transférer les données vers le
serveur secondaire (linux2) en ajoutant cette ligne dans « /etc/bind/named.conf.options
»:
allow-transfer { 192.168.20.2; }; l'adresse Ip du serveur secondaire

Mise en place résolution inverse

Pour la résolution inverse,


Editez le fichier named.conf.local, on rajoute :

zone "20.168.192.in-addr.arpa" {

Serge BEDE – 2013 49 / 62 Ver.0.2


FORMATION LINUX

type master;
file "/etc/bind/db.stage1.monseminaire.ci.rev ";
};

puis on crée le fichier /etc/bind/db.stage1.monseminaire.ci.rev

#touch /etc/bind/db.stage1.monseminaire.ci.rev

On l'édite puis on y ajoute les lignes suivantes.

;;BIND reverse data file for broadcast zone


;
$TTL 604800
;$ORIGIN 20.168.192.in-addr.arpa.
@ IN SOA linux1 [email protected] (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS linux1 .stage1.monseminaire.ci.
1 IN A linux1
2 IN A linux2
3 IN A linux3

Une fois les modifications faites,


on redemarre bind
#service bind restart

Vérification de la configuration

#tail -f /var/log/syslog
on repère les lignes des fichiers dans lesquelles il y a des erreurs.

Tests
• Résolution directe
dig @localhost linux1.stage1.monseminaire.ci A
• Résolution inverse
dig @localhost -x 192.168.20.1

En résultat nous obtenons:

Serge BEDE – 2013 50 / 62 Ver.0.2


FORMATION LINUX

avec la première commande nous avons la correspondance IP du nom alors qu'avec la


deuxième commande nous avons la correspondance du nom par rapport à l'IP.
Cela atteste que la résolution directe et la résolution inverse fonctionne.

Configuration d'un client linux

Modification du fichier /etc/resolv.conf pour permettre la résolution de nom.


On édite /etc/resolv.conf
On y ajoute les lignes suivantes
search stage1.monseminaire.ci
nameserver 192.168.20.1

Tests ping
$ping linux1.stage1.monseminaire.ci
Si la commande marche, c'est que le fichier /etc/resolv.conf est bien configuré.

PARTIE 2 : Installation d'un serveur secondaire

Nom de machine : linux2


Domaine : stage1.monseminaire.ci

Installation et Configuration de bind


#apt-get install bind bind-doc dnsutils

Sur le serveur secondaire linux2 :


On édite le fichier named.conf.local, on tape :

zone "stage1.monseminaire.ci" {
type slave; //on indique que c'est un serveur secondaire
file "/etc/bind/db.stage1.monseminaire.ci "
masters {192.168.20.1}; //on indique que le serveur primaire
est 192.168.20.1 (liunx1)
};

#Résolution inverse
zone "20.168.192.in-addr.arpa" {
type slave;
file "/etc/bind/db.stage1.monseminaire.ci.rev ";
masters {192.168.20.1};
};
Sur le serveur esclave (linux2),
il faut l’autoriser à s’envoyer des notifications pour éviter d’avoir des
messages d’erreurs dans les logs.

Serge BEDE – 2013 51 / 62 Ver.0.2


FORMATION LINUX

Pour cela, il faut ajouter cette ligne dans le fichier


« /etc/bind/named.conf.options » :
allow-notify { 192.168.20.1; };

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.

#tail – f /var/log/syslog

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 des services sur le serveur maître .

Serge BEDE – 2013 52 / 62 Ver.0.2


FORMATION LINUX

Atelier N° 8 :Mise en place d'un serveur de Messagerie

Installation d'un serveur de messagerie postfix + imap

#apt-get install postfix courier-imap courier-imap

Ensuite il faut répondre à une serie de questions :


1. Configuration type du serveur de messagerie :
Réponse: Site Internet
2. Nom de courrier :
Réponse : votre nom de domaine (stage1.monseminaire.ci)
3. Destinataire des courriels de « root » et de « postmaster » :
Réponse : votre login sur le serveur (par exp : aka)
4. Autres destinations pour lesquelles le courrier sera accepté :
Réponse : rajoutez votre nom de domaine dans la liste
(stage1.monseminaire.ci)
5. Forcer des mises à jour synchronisées de la file d’attente des
courriels
Réponse : non (laisser par défaut)
6. Réseaux internes :
Réponse : 127.0.0.0/8, 192.168.20.0/24 notre identifiant de
réseau local
7. Protocoles internet à utiliser :
Réponse : ipv4 (pour faire plus simple)

Editez le /etc/postfix/main.cf, vous retrouverez toutes ces informations.


Ajouter la ligne suivante à la fin du fichier :
home_mailbox=Maildir/ //(important pour faire fonctionner imap )
Enregistrez puis relancer postfix : #service postfix restart

Serge BEDE – 2013 53 / 62 Ver.0.2


FORMATION LINUX

Tests de postfix:
On peut tester notre serveur en exécutant les commandes suivantes à partir du terminal:

Configuration de courier-
imap
Configuration de Maildir:
configuration du repertoire de stockage de mail pour l'utilisateur: le MAILPATH (ou
MAILDIRPATH),
Editez et modifiez le fichier /etc/courier/imapd comme suit :
MAILDIRPATH=Maildir
enregistrez et redémarrer
#service postfix restart && service courrier-imap restart service autdaemon restart

Serge BEDE – 2013 54 / 62 Ver.0.2


FORMATION LINUX

Tests de courier imap:

Test avec le client thunderbird


Configurer votre client thunderbird et envoyer vous un mail

Surveiller le système :
#tail -f /var/log/mail.log
Cette commande trace toute l'activité du serveur : envoie et réception de mails.
Ajouter d'autres utilisateurs
Prendre en compte les utilisateurs crées dans l'atelier N°
tester l'envoi de mail entre ceux ci

Serge BEDE – 2013 55 / 62 Ver.0.2


FORMATION LINUX

Atelier N° 9 : Mise en place d'un serveur de web

A. Configurer un site web

Objectifs :
Création des répertoires et des fichiers du site
(page par défaut, répertoire des images et des pages web )
Adaptation des fichiers de configuration ( mise en place des directives essentiel du site,
Alias et option Directory, …..)

Un peu de pratiques

Aller dans le répertoire /var/www/ et créer dedans les dossiers suivants :


siteweb,
siteweb /data
siteweb /div
siteweb/img
Créer dans le dossier /var/www/siteweb, un fichier texte index.html contenant les balises HTML et
affichant le message suivant : Bienvenue dans mon premier site.
Pour cela faire :
$ sudo nano /var/www/siteweb/index.html

ajouter la directive suivante :


<H1> Bienvenue dans mon premier site </H1>

• Créer dans le dossier /var/www/siteweb/data, un fichier nommé


pageperso.html, avec un message différent (ex : bienvenue dans ma page perso).
Faites comme précédemment en modifiant le contenu du message.

• Créer dans le dossier /var/www/siteweb/img, un fichier nommé image1.html,


avec un message différent (ex : bienvenue dans Image).

• Créer dans le dossier /var/www/siteweb/div, un fichier nommé divers1.html,


avec un message différent (ex : bienvenue dans mes divers).

Modification des fichiers configurations pour prendre en compte mon site

Avec un éditeur de texte ( ex : gedit, nano, vim ….) editez le fichier de configuration :

Serge BEDE – 2013 56 / 62 Ver.0.2


FORMATION LINUX

# gedit /etc/apache2/sites-available/default
Modifier la ligne :
DocumentRoot /var/www/siteweb

A jouter les alias suivantes lignes :


Alias /pages/ /var/www/siteweb /data/
Alias /images/ /var/www/siteweb /img/
Alias /divers/ /var/www/siteweb /div/

Relancer le serveur web en tapant :


# service apache2 restart

Remarque : après modification des fichiers de configuration il faut toujours relancer le serveur Apache pour
prendre en compte les modifications.

Exploitation et test de configuration


• Lancer un navigateur pour les tests à partir du poste client sous Windows XP, et
taper les
adresses suivantes :
http://AdresseIPServeur
http://AdresseIPServeur/pages/pageperso.html
http://AdresseIPServeur/divers/divers1.html
http://AdresseIPServeur/images/image1.html

• Afficher le contenu access.log qui contient toutes les connexions en tapant la


commande :
tail -f /var/log/apache2/access.log
ou
nano /var/log/apache2/access.log
ou gedit
Observer le contenu du fichier error.log qui contient toutes les erreurs de connexion.

Indexation des répertoires


• A partir du poste client accéder à votre siteweb en tapant l’URL :
http://adresseIPserveur
• Editer le fichier de configuration : sudo gedit /etc/apache2/sites-
available/default
Ajouter dans les lignes suivantes :
<Directory /var/www/siteweb>
Options Indexes
</Directory>
• Relancer le serveur web en tapant : sudo /etc/init.d/apache2 restart

Serge BEDE – 2013 57 / 62 Ver.0.2


FORMATION LINUX

• A partir d’un navigateur à partir du poste client windows XP accéder à votre


siteweb
(http://adresseIPserveur/)
Qu'obtenez-vous ?

• Renommer index.html en index.bak


A partir du poste client accédez à votre siteweb ( http://adresseIPserveur/)
Qu'obtenez-vous ?
• Renommer index.bak en index.html
• A partir du poste client accédez à votre siteweb ( http://adresseIPserveurr/)

B. Mise en place d'un accès sécurisé

Objectifs
Interdire l’accès à tout le monde.
Sécuriser l’accès à ce site par un mot de passe
interdire l’accès à fichier
Tester la configuration.

Interdire l’accès à tout le monde


• Pour cela vous allez modifier le fichier de configuration d’Apache et y mettre les
lignes suivantes :
<Directory /var/www/siteweb >
order deny,allow
deny from all
</Directory>
• Enregistrez et relancez le serveur et faites un test à partir d’un navigateur. Notez le message qui
apparaît.
• Supprimer cette interdiction
Sécuriser l'accès à ce site
On désire protéger l'accès au répertoire /var/www/siteweb.
La méthode Basic
Directives : Voici les directives usuelles et leur signification

Serge BEDE – 2013 58 / 62 Ver.0.2


FORMATION LINUX

Objectifs :
 Modifier la configuration d’accès au répertoire siteweb,
 Créer le mot de passe crypté

• Modifier la configuration d’accès au répertoire siteweb, et son accès réservé à un


ensemble d'utilisateurs : tito et tita
• Ajouter la directive dans le fichier default
<Directory /var/www/ siteweb >
AuthType Basic
AuthUserFile /etc/apache2/users
AuthName "Accès privé"
require valid-user
</Directory>
• Relancer le serveur et tester l'accessibilité au siteweb : http://adresseIPserveur

• Création des comptes


Les comptes doivent être placés dans le fichier spécifié par la clause AuthUserFile (dans notre
cas c’est le fichier users), et sont créés avec la commande htpasswd.
Créer les 2 comptes Apache tito et tita (qui n'ont pas de raison d'être des comptes du système hôte)
en tapant les commandes suivantes :

$ cd /etc/apache2
$ sudo htpasswd -c users tito ( l'option -c permet de créer le fichiers users)
→ un mot de passe demandé, puis confirmé

• Ajouter l’utilisateur tita suivant : Taper


$ sudo htpasswd users tita
• Éditer et examinez le fichier /etc/apache2/users. Une ligne doit être présente par
compte Apache créé

Tester la configuration.

Serge BEDE – 2013 59 / 62 Ver.0.2


FORMATION LINUX

• Ouvrez une session à l’aide d’un navigateur et ouvrez l’URL


http://adresseIPserveur
• Une fenêtre doit s’ouvrir, entrez le nom d’utilisateur et le mot de passe.
Réaliser les opérations avec les machines des autres étudiants et faites tester votre configuration.

Interdire l’accès à un fichier


Pour protéger l’accès au fichier image1.html, vous utiliserez les balises
<Files image1.html >
order deny,allow
deny from all
</Files>
C. Mise en place d'un serveur virtuel
Principe :
La mise en place de serveurs webs virtuels, permet de faire cohabiter plusieurs serveurs sur un même hôte.
Il existe 2 façons de paramétrer le fichier de configuration des sites virtuels :
 Soit en ajouter les paramétrages du site dans le fichier /etc/apache2/sites-available/default
 Soit créer dans ce même répertoire un fichier pour chaque serveur virtuel.
2 types de serveurs virtuels
• Serveurs virtuels basés sur adresses Ip
Chaque serveur aura sa propre adresse IP. Vous devrez également avoir un serveur de noms (Bind) sur
lequel toutes les zones et serveurs sont déclarés, car c'est ce dernier qui assurera la correspondance "adresse
ip ↔ nom du serveur" :
• Serveurs virtuels basés sur les noms
On désigne pour une adresse IP sur la machine (et si possible le port), quel est le nom utilisé
(directive ServerName), et quelle est la racine du site (directive DocumentRoot). Le nom de
serveur (ServerName) et la racine web (DocumentRoot) doivent exactement correspondre respectivement
au nom sous lequel le serveur virtuel sera nommé dans lesURL clientes et au chemin du répertoire d'accueil
des documents du site.

Mise en d'un serveur virtuel basé sur une @Ip

Pour les mises en place suivantes, s'assurer des pré-réquis suivants :


- Création d'alias d'adresse ip
- Installation et vérification du fonctionnement de notre Dns
Création de 2 alias Ip l'interface réseau de notre serveur
exemple #ifconfig eth0:0 192.168.20.3
#ifconfig eth0:1 192.168.20.10
1. Declaration dans les fichiers de configurations
Créer et éditez les fichiers de configuration default

# cd /etc/apache2/sites-available

Serge BEDE – 2013 60 / 62 Ver.0.2


FORMATION LINUX

#nano default
Ajouter les lignes suivantes :
#conf_site2
#conf_site1 # serveur web basé ip
# serveur web basé ip <VirtualHost 192.168.20.10>
<VirtualHost 192.168.20.3> DocumentRoot
DocumentRoot /var/www/siteweb2
/var/www/siteweb1 ServerName www.monsite2
ServerName www.monsite1 </VirtualHost>
</VirtualHost>
2. préparez les pages web
# mkdir -p /var/www/siteweb1 /var/www/siteweb1
#echo "<H1>Salut bienvenue monsite1 </H1>" > /var/www/siteweb1/index.html
#echo "<H1>Salut bienvenue monsite2 </H1>" > /var/www/siteweb2/index.html

On relance Apache :
#service apache2 restart

On test www.monsite1 et www.monsite2 sur un navigateur

Remarque : s'assurer que la résolution de noms se fait normalement au niveau du client (


verifier que les ping www.monsite1 et ping www.monsite2 repondent normalement)

Mise en d'un serveur virtuel basé sur le nom

On va utiliser la même @Ip de mondomaine.ci pour les url wiki.mondomaine.ci et docs.mondomaine.ci


wiki et docs sont deux zones de déploiement de site web différentes, sur un même serveur HTTP.Déclarer
les deux noms wiki.mondomaine.ci et docs.mondomaine.ci sur la même adresse IP dans
le serveur de noms (cname).

conf_wiki conf_docs

# serveur web basé ip # serveur web basé ip


NameVirtualHost 192.168.20.3 NameVirtualHost 192.168.20.3
<VirtualHost 192.168.20.3> <VirtualHost 192.168.20.3>
DocumentRoot /var/www/wiki DocumentRoot /var/www/docs
ServerName wiki.mondomaine.ci ServerName
</VirtualHost> docs.mondomaine.ci
</VirtualHost>
Serge BEDE – 2013 61 / 62 Ver.0.2
FORMATION LINUX

2. Créer les pages web


#mkdir -p /var/www/wiki /var/www/docs
#echo "<H1>mon site wiki </H1>" > /var/www/wiki/index.html
#echo "<H1>mon site documentaire </H1>" > /var/www/docs/index.html

On relance Apache :
#service bapache2 restart

On test wiki.mondomaine.ci et docs.mondomaine.ci

Serge BEDE – 2013 62 / 62 Ver.0.2

Vous aimerez peut-être aussi