Академический Документы
Профессиональный Документы
Культура Документы
Dédicace
A ma Famille
III
Remerciements
La réalisation de ce rapport n'a été possible que grâce au concours de plusieurs personnes
à qui je voudrais témoigner toute ma reconnaissance. Il m’est ainsi agréable d’exprimer ma
gratitude en adressant mes sincères remerciements:
Au président et tous les membres du jury, pour avoir accepté d'évaluer ce travail,
malgré leurs multiples occupations;
A M. EKONG EKONG Charles Guy, déjà pour avoir accepté m'accueillir au sein de sa
structure, en suite pour sa patience, sa disponibilité et surtout ses judicieux conseils, qui ont
contribué à alimenter ma réflexion;
IV
Avant-propos
L’Ecole Normale Supérieure d’Enseignement Technique (ENSET) de Douala, créée
par arrêté présidentiel N° 260 / CAB / PR du 10 aout 1979, est un établissement
d’enseignement supérieur, située à Douala et ayant pour missions :
La formation des enseignants destinés aux Lycées d’Enseignement Technique du
Cameroun ;
Le recyclage et le perfectionnement du personnel enseignant dans le cadre de la
formation continue ;
La recherche appliquée pédagogique.
C’est dans cette optique que nous avons effectué un stage en entreprise sous le thème
« Mise sur Pied d’un Contrôleur de Domaine SAMBA avec Authentification via un
Annuaire LDAP et Gestion des Quotas de Disque » et présentons ce rapport en vue de
l’obtention du Master 1.
V
Résume
Pour la clôture de l'année académique du Master 1 à l'ENSET de Douala, les étudiants
sont appelés à faire un stage en entreprise et produire un rapport. A cet effet, j'ai effectué un
stage dans la société NIS SYSTEMS, qui fait dans la prestation des services informatiques.
Pendant ce stage j'ai travaillé sur le projet d'un établissement de formation. Il était
question de mettre en place un contrôleur de domaine, un annuaire et la gestion de l'espace de
stockage (disque dur) entre les différents utilisateurs. Le travail a été fait sous Linux avec la
distribution Redhat. Nous avons ainsi travaillé avec SAMBA comme contrôleur de domaine,
LDAP comme annuaire et les quotas disque ont été configurés.
La livraison de la commande du client a été faite en ajoutant l'ensemble des postes de
travail au domaine, la création des comptes des différents utilisateurs et des tests ont été faits
sur le respect des quotas disque par utilisateurs.
VI
Abstract
For the closing of the academic year of the Master 1 at the ENSET of Douala, students are
asked to do an intership in compagny and produce a report. For this purpose, I did an intership
in the NIS SYSTEMS company, which is involved in the delivery of IT services.
During this intership, I worked on the project of a training institute. There was talk of
setting up a domain controller, a directory and storage space management (hard disk) among
the different users. The work was done on Linux with the redhat distribution. We worked with
SAMBA as a domain controller, LDAP as a directory, and disk quotas have been configured.
The delivery of the customer's order was by adding all workstations to the domain,
creating the accounts of different users and testing was done on compliance with disk quotas
per user.
VII
Liste des tableaux
Tableau 1.1:Les standards de la norme X.500............................................................................9
VIII
Liste des figures
IX
Sigles et abréviations
ACL: Access Control List
X
NSS: NSSwitch, Name Service Switch
XI
TABLE DES MATIERES
XII
TABLE DES MATIERES
XIII
Introduction Générale
Un poste de travail peut être utiliser par plusieurs personnes, chacun disposant d'un
compte (login et mot de passe). Ce compte est valable uniquement lorsque l'utilisateur se
connecte sur le poste de travail en question. Pour avoir accès à un autre poste, un nouveau
compte devra être crée sur ce dernier. Il se pose rapidement un problème de gestion
d'authentification des utilisateurs sur les postes de travail au sein d'une entreprise ou une
structure, d'où la nécessité de mettre en place un système permettant aux utilisateurs de
changer de poste, se loger sur leur compte personnel et récupérer leurs données, mais sans
avoir à créer un nouveau compte pour chaque changement de poste. Pour cela, nous devons
avoir un système avec une gestion centralisée des comptes. Le système doit être assez flexible
pour pouvoir incorporer par la suite d'autres services. Nous avons donc le choix d'utiliser un
Annuaire libre pour les serveurs Linux ou propriétaire comme Active Directory pour les
serveurs Windows. Le logiciel Samba s'appuyant sur le protocole SMB/CIFS et permettant le
partage de fichiers, d'imprimantes et de faire office de contrôleur de domaine servira à mettre
en place un domaine.
LDAP est un protocole d'accès à un annuaire, normalisé à la fin des années 1990.
LDAP comme annuaire, permet de stocker des données organisées selon des classes
particulières et présentées dans un arbre. On peut y stocker bien de choses telles que : des
comptes Unix, des données personnelles, des données sur des objets plus ou moins abstraits,
comme des données d'identification, des certificats, un parc matériel, et plus généralement
tout ce qui peut être nommé et à qui on peut attacher des informations.
Depuis la version 2.2.5, Samba permet de stocker ses utilisateurs dans un annuaire
LDAP. Ceci offre un intérêt majeur : une gestion simplifiée et centralisée des comptes Samba.
Ainsi, le fichier smbpasswd, dans lequel sont habituellement stockés les comptes utilisateurs,
est complètement remplacé par des accès à l'annuaire LDAP (sauf pour le stockage du mot de
passe du serveur LDAP qui se fait toujours dans ce fichier). Les avantages d'une telle
architecture sont nombreux : robustesse accrue, souplesse d'utilisation, grande disponibilité,
etc...
Pour parvenir à une solution efficace et durable au problème, notre travail se déroulera en
quatre grandes parties:
Un premier chapitre, présentera la structure d'accueil ainsi qu'un état de l'art des
annuaires électroniques et contrôleurs de domaine.
Il sera présenté dans le second chapitre, les outils à utiliser dans le cadre du
projet
Un troisième chapitre portera sur l'implémentation de la solution
Dans le quatrième chapitre, une présentation des résultats obtenus sera faite.
1
Chapitre 1 : Présentation de la structure d'accueil et l'état de l'art
Après la présentation de la structure où le stage a été effectué, nous ferons une revue
de littérature des annuaires électroniques, des contrôleurs de domaines ainsi que la gestion des
espaces de stockage.
Fibre optique
2
Etude et conception
Site Survey
Services de maintenance
Audit et Maintenance
3
Solution d’amplification de signaux GSM
Camera IP Motoriser
Directeur
général
Direction
Equipe Equipe
Technique Commerciale
RH Comptable
4
1.2- Etat de l'art.
1.2.1- Annuaires électroniques.
Un annuaire électronique est une base de donnée spécialisée, dont la fonction première
est de retourner un ou plusieurs attributs d’un objet grâce à des fonctions de recherche multi
critères. Les annuaires électroniques sont un type de base de données spécialisées permettant
de stocker des informations de manière hiérarchique et offrant des mécanismes simples pour
rechercher l'information, la trier, l'organiser selon un nombre limité de critères.
Définir les droits de chaque utilisateur recenser des informations sur un parc matériel
(ordinateurs, serveurs, leurs adresses IP et adresses MAC, ...)
5
1.2.1.1- Caractéristiques des annuaires électroniques
Les annuaires électroniques possèdent un grand nombre d'avantages sur leurs:
Ils sont dynamiques : la mise à jour d'un annuaire électronique est beaucoup plus
simple (et nettement moins coûteuse) à réaliser que celle d'un annuaire papier. Ainsi
un annuaire en ligne (disponible sur le réseau) sera à jour beaucoup plus rapidement,
d'autant plus que les personnes recensées dans l'annuaire peuvent elles-mêmes
modifier les informations les concernant (si elles sont habilitées à le faire).
Ils sont sûrs : les annuaires en ligne disposent de mécanismes d'authentification des
utilisateurs grâce à un mot de passe et un nom d'utilisateur ainsi que des règles d'accès
permettant de définir les branches de l'annuaire auxquelles l'utilisateur peut accéder
Ils sont souples : ils permettent ainsi de classer l'information selon des critères
multiples contrairement aux annuaires papiers, imprimés une fois pour toute pour
permettre de rechercher selon un critère figé (en général l'ordre alphabétique selon le
nom)
Un annuaire est prévu pour être plus sollicité en lecture qu'en écriture. Cela signifie
qu'un annuaire est conçu pour être plus souvent consulté que mis à jour.
Les données sont stockées de manière hiérarchique dans l'annuaire, tandis que les
bases de données dites "relationnelles" stockent les enregistrements de façon tabulaire.
Les annuaires doivent être compacts et reposer sur un protocole réseau léger
Les annuaires doivent pouvoir être répartis. Cela signifie qu'un serveur d'annuaire doit
comporter des mécanismes permettant de coopérer, c'est-à-dire d'étendre la recherche
sur des serveur tiers si jamais aucun enregistrement n'est trouvé
Un annuaire doit être capable de gérer l'authentification des utilisateurs ainsi que les
droits de ceux-ci pour la consultation ou la modification de données
6
Ainsi, un annuaire est généralement une application se basant sur une base de données afin d'y
stocker des enregistrements, mais surtout un ensemble de services permettant de retrouver
facilement les enregistrements à l'aide de requêtes simples. Une base de données par contre
n'est pas forcément un annuaire... .
‐ Ne pas définir de compte machine par machine : il suffit de créer un utilisateur sur le
serveur NIS pour que chaque machine client NIS ait accès aux informations de login
de cet utilisateur
7
‐ Accès aux répertoires partagés grâce à NFS
Sun réagit aux défauts de NIS par l'introduction dans Solaris 2 de NIS+. Il introduit une
propagation des données entre maître-esclave de manière incrémentale, en ajoutant la notion
de root domain master en haut de l'arbre hiérarchique sous lequel de trouvent des subdmain
master pouvant eux-mêmes être au-dessus d'autres subdomain-master. Enfin la notion de
``certificat, identité'' (credential) via une paire de clé privée/publique vient combler le
problème de sécurité. L'imposition d'une architecture hiérarchique de haut en bas des NIS+
qui implique une coopération entre les administrateurs systèmes des différents départements
d'une organisation, ainsi que la gestion des paires clé privée/public fut finalement un frein au
passage des NIS aux NIS+. Pourtant ces derniers préfigurent beaucoup de concepts utilisés
par la suite dans LDAP.
On assiste à partir de la fin des années 80 et dans les années 90 à une multiplication des
annuaires spécifiques. Il y a tout d'abord les annuaires inclus dans des logiciels ou des suites
logiciels (mail et groupware): Lotus Notes, Novell Groupwise Directory, Microsoft Exchange
Directory, Sendmail UNIX et son /etc/aliases. Il y a aussi les Annuaires Internet comme
Yahoo. C'est aussi à la fin des années 90 qu'apparaissent des Network operating system. Il
s'agit d'applications fournissant des services à des clients et des serveurs à travers un réseau.
Ces services permettent le partage de ressources comme des fichiers ou des imprimantes. Ils
incluent évidemment des annuaires électroniques (Novell NDS, MS Active Directory). Suite à
l'apparition dans les années 80 d'annuaires généraux et multi-usage, non limités à une
8
application, ni à un système spécifique, la nécessité de standardiser les annuaires
électroniques s'est faite sentir.
9
La mise en place de la norme X500 apparait comme un modèle de réussite dans la création
d'un standard réalisé par des acteurs divers. En effet le critère d'indépendance vis à vis des
éditeurs et le critère d'interopérabilité ont été respectés. Mais rapidement, cette norme a été
jugé trop lourde et trop complexe à mettre en œuvre. Des problèmes de performance sont
constatés à cause de la modélisation OSI des protocoles réseau. La norme LDAP s'est nourrie
de tous ces constats afin de ne pas connaitre le sors de la norme X.500.
10
Le protocole LDAP en est actuellement à la version 3 depuis de développement par
l'université de Michigan en 1993 et a été normalisé par l'IETF (Internet Engineering Task
Force). Ainsi, il existe une RFC pour chaque version de LDAP, constituant un document de
référence (tableau ci-dessous)
11
1.2.2.2a - Les Modèles LDAP
LDAP est défini par 5 modèles qui permettent de décrire différents aspects de l'annuaire:
nommage, structure de stockage et structure hiérarchique, sécurisation et échange des
données. Certains de ces modèles sont définis dans la norme comme le modèle d'échange de
données ou de nommage. D'autres doivent être définis dans chaque annuaire comme le
modèle d'authentification et le modèle d'information.
Modèle Fonction
Modèle d’information définis la nature des données: classe, attribut, types..., l'arbre de
données.
Modèle fonctionnel définis les services offerts, comment accéder aux informations
et comment les mettre à jours
un schéma est une collection de types d'entrées ou classes d'objets que l'on peut
rencontrer
chaque entrée fait référence à une classe d'objets, définie par u nom et une listes
d'attributs (obligatoires ou optionnels)
les attributs sont définis par un nom d'attribut, une syntaxe et des règles de
comparaison.
LDAP organise les entrées dans une structure logique hiérarchique (D.I.T).
12
l'identification d'une entrée se fait à l'aide du Distinguished Name(DN). exemple :
uid=fkigmo, ou=people, dc=foadweb, dc=cm
13
Standard Oui Non (SGBD)
14
Les données LDAP peuvent être représentées sous forme de fichier texte standardisé au
format LDIF (LDAP Data Interchange Format). Il est utilisé pour afficher ou modifier les
données de la base. Il a vocation à donner une lisibilité des données pour l'homme.
15
1.2.3.1 - Les avantages d'un contrôleur de domaine.
Les contrôleurs de domaine ont des avantages remarquables pour assurer la sécurité des
informations et une bonne gestion des ressources réseau.
- Administration basée sur les stratégies : Le service de l'annuaire pour les contrôleurs de
domaines comprend à la fois un magasin de données et une structure logique hiérarchique.
- Extensibilité : Lorsqu'on parle d'un contrôleur de domaine est extensible, c'est à dire que les
administrateurs peuvent ajouter de nouvelles classes d'objets au schéma et de nouveaux
attributs aux classes d'objets existantes.
- Nécessité de gérer les utilisateurs et le système d’exploitation pour assurer leur stabilité,
leur sécurité et les garder à jour
16
- Exigences en termes de matériel / logiciel
Le serveur Linux sera en mesure de répondre entant qu'un serveur de fichiers capables d'offrir
les services habituels sur un réseau.
Samba fonctionne sur les plates-formes Unix, mais parle à des clients Windows comme un
indigène. Il permet à un système Unix de se déplacer dans un voisinage réseau de Windows
sans causer des difficultés. Les utilisateurs Windows peuvent joyeusement avoir accès aux
fichiers et services d'impression sans connaître ou prendre soin que ces services sont offerts
par un hôte Unix.
Le serveur Linux est en mesure de se conduire comme un serveur de fichiers capables d'offrir
les services habituels sur un réseau :
partage d'imprimantes,
nmbd : Le démon serveur nmbd comprend et répond à toutes les requêtes de service de nom
NetBIOS telles que celles produites par SMB/CIFS dans des systèmes basés sur Windows.
17
Figure 1.7 : Fonctionnement de Samba
Chaque demande de connexion par Samba, d'une station au serveur Linux, laisse une trace
stockée dans un fichier log.%m, situé dans le répertoire /var/log/samba ( %m désigne le nom
de la station). Toute connexion pourra donc être identifiée de manière précise puis examinée
sur une ligne de ce fichier : nom d'utilisateur, nom de la machine, date, heure de début, heure
de fin, services utilisés...
Samba peut implémenter la sécurité au niveau de l'utilisateur, (ce qui est recommandé) et non
au niveau des ressources comme c'est le cas dans les réseaux de type WorkGroup.
valeur par
paramètre description
défaut
path = chemin du répertoire à partager
comment = texte visible dans le voisinage réseau client
guest ok = yes|no
(ancien nom : no partage en accès libre sans authentification
public)
valid users = tous liste des users autorisés à se connecter à la ressource
printable = partage d'un service d'impression et non de
false
true|false répertoire.
permet ou non l'écriture sur le répertoire, contraire
writeable = yes|no no
de read only
tous les
write list = liste des users autorisés à écrire
utilisateurs
visibilité du partage par tous, même les users non
browseable = yes
autorisés
droits maxi accordés à un fichier créé dans la
create mode | mask ressource
0744
= ces droits seront en intersection (and) avec les droits
Linux (umask)
18
droits maxi accordés à un répertoire créé dans la
directory mode | ressource
0755
mask = ces droits seront en intersection (and) avec les droits
Linux (umask)
force directory droits imposés lors de la création du répertoire.
000
mode = composé par un opérateur OR avec les droits usuels
Impose un groupe propriétaire d'un fichier lors de sa
force group =
création dans le partage
cache les fichiers cachés au sens Linux, commençant
hide dot files = yes
par un point
toutes les
hosts allow ressource réservée | interdite à la liste des stations
stations
hosts deny = (adresses IP)
aucune
max connections = 0 nb de connexions à la ressource illimité, sinon maxi
Il n'y a pas d'approbation inter-forêt (samba4 peut être approuvé par un domaine mais
ne peut pas en approuver)
Ces limites seront levées dans les prochaines versions de samba, notamment avec le support
des systèmes de réplications nécessaires au bon fonctionnement des contrôleurs principaux et
19
secondaires. Cette limite concernant la réplication nous fera implémenter plutôt samba dans sa
version 3.
qu’il veut joindre, mais qu’il puisse y arriver avec un nom symbolique.
20
Figure 1.8 : Fonctionnement du DNS
1.2.5 - Gestion des quotas de disque et sécurisation des échanges avec TLS
Parfois sur des serveurs accessibles et utilisés par plusieurs utilisateurs qui y laissent
leurs données, notamment le cas d'un serveur NFS, on a besoin de mettre en place un système
de quota pour éviter que la ressource disque dur soit abusivement utilisée pour stocker des
films par exemple. En gros, il s'agit de se fixer des limites en espace disque à ne pas dépasser;
au-delà ces limites, l'utilisateur ayant atteint son quota ne peut plus écrire sur le disque. Il sera
également question d'implémenter une sécurisation des différents échanges entre les différents
postes utilisateur et le serveur LDAP.
Qu'est-ce qu'un quota
L'attribution de quotas dans un système de fichiers est un outil qui permet de maîtriser
l'utilisation de l'espace disque. Les quotas consistent à fixer une limite d'espace pour un
utilisateur ou un groupe d'utilisateurs. Pour la création de ces quotas, on définit deux types de
limites :
La limite douce (ou soft limit) : indique la quantité maximale d'espace qu'un
utilisateur peut occuper sur le système de fichiers. Si cette limite est atteinte,
l'utilisateur reçoit des messages d'avertissement quant au dépassement du quota qui lui
a été attribué. Si son utilisation est combinée avec les délais (ou grace period), lorsque
21
l'utilisateur continue à dépasser la soft limite après que ce soit écoulé le délai de grâce,
alors il se retrouve dans le même cas que dans l'atteinte d'une limite dure.
La limite dure (ou hard limit) définie une limite absolue pour l'utilisation de l'espace.
L'utilisateur ne peut pas dépasser cette limite. Passée cette limite, l'écriture sur ce
système de fichiers lui est interdite.
De plus ces limites sont exprimées en blocs et en inodes. Le bloc est une unité d'espace, les
quotas exprimés en nombre de blocs représentent donc une limite d'espace à ne pas dépasser.
En ce qui concerne les quotas exprimés en nombre d'inodes, ils représentent le nombre
maximum de fichiers et répertoires que l'utilisateur pourra créer. Pour mémoire, les délais (ou
grace period) fixent une période de temps avant que la limite douce ne se transforme en limite
dure. Elle est fixée dans les unités suivantes : second, minute, hour, day, week.
22
Le certificat vient juste introduire la notion d'authenticité des clefs. Comment être sûr qu'une
clef publique est bien celle de la personne à qui l'on veut envoyer des données ? Le certificat
nous offre une réponse : une société tierce (de confiance, une autorité de certification : CA) va
certifier que la clef publique appartient bien à cette personne. Ainsi, plus de doute, la clef est
la bonne... nous évitons ainsi de nous faire piéger par une personne qui voudrait intercepter
nos données. .
Nous notons que plusieurs solutions sont disponibles pour une gestion centralisée des
ressources dans un réseau. Les solutions propriétaires comme Active Directory de Microsoft
ou les solutions libres comme NIS de SUN. Les premières solutions ayant été développées
sans un standard ou norme, ont conduit à la naissance de la norme X.500 et LDAP par la
suite. Ainsi, pour la suite de notre travail, nous utiliserons des outils basés sur la norme LDAP
et une préférence sera fait sur des solutions libres afin de limiter le budget actuel et future
qu'impose les solutions propriétaires avec les licences généralement très couteux.
23
Chapitre 2 : Les outils utilisés dans le cadre du projet
Nous utiliserons cette partie pour présenter les outils qui seront utiliser dans le cadre
de ce projet. Il est à noter tout de même que cette présentation concernera les outils les plus
indispensables.
24
dont les caractéristiques idéales pour implémenter un serveur Internet stable, performant,
sécurisé et flexible.
25
Intégré aux systèmes d’exploitation
Sun Directory Server Enterprise Edition
Novell Directory Server
Microsoft Active Directory
Généralistes
OpenLDAP Server
TinyLDAP
Apache Directory Server
IBM Tivoli Directory
Oracle Internet Directory
Sun Java System Directory Server
Nous travaillerons avec l’outil OpenLDAP car intégré dans la distribution linux à utiliser et
comme son nom l’indique, cet outils est libre. La version utilisée sera : openldap-2.4.39-
3.el7.x86_64.rpm.
Il faut installer plusieurs librairies et outils pour permettre l'authentification via LDAP :
nscd : Name service cache daemon, fournit un cache pour différentes requêtes de noms,
accélère les requêtes.
libnss-ldap : Permet d'ajouter la gestion de LDAP à nsswitch. Nsswitch sert d'interface pour
la résolution de noms de plusieurs services (les groupes utilisateurs, les noms de machines,
etc...). Il permet d'indiquer au système où chercher les informations. Il faut ici le configurer
afin d'indiquer à la machine que les utilisateurs et groupes peuvent être situés sur l'annuaire
LDAP. Ceci sera utile notamment pour pouvoir effectuer des modifications de droits avec des
groupes ou utilisateurs présents dans l'annuaire LDAP (en complétant le pool d'utilisateurs et
de groupes déjà présents dans les fichiers /etc/password et /etc/group lors d'un chown, chmod,
chgrp, getent...).
Modules LDAP pour pam: Pam sert à l'authentification des utilisateurs. Il offre aux
applications une couche transparente qui permet de gérer, via des modules, n'importe quelle
méthode d'authentification (de la carte à puce, aux fichiers password, en passant par la
biométrie...). Il faut lui indiquer, dans notre cas, d'utiliser l'annuaire LDAP pour s'authentifier
sur le système Unix. Ceci n'est nécessaire que si l'on souhaite pouvoir s'authentifier sur le
système Unix avec les comptes LDAP. Le RPM utilisé sera : nss-pam-ldapd-0.9.6-
3.gf.el7.x86_64.rpm
26
smbldap-tools : sont des outils développés par idealx permettant de gérer des comptes Samba
de manière très simple en lignes de commandes. Nous utiliserons à cet effet le RPM smbldap-
tools-0.9.11-6.el7.noarch.rpm.
2.3 - SAMBA
A partir de la version 2.2.5 de samba, il est possible d’intégrer LDAP qui est un annuaire des
utilisateurs. Ainsi avec samba 3 nous pouvons configurer un PDC qui va intégrer des
utilisateurs LDAP dans notre serveur. Apres configuration de l'annuaire LDAP et des
librairies nécessaires à samba on peut installer notre serveur samba. La qui sera utilisée est la
samba-3.0.1-5sls.src.rpm
27
Chapitre 3: Implémentation de la solution
Nous allons dans cette partie procéder aux différentes installations et paramétrages
nécessaires pour le système souhaité. le schéma suivant présente l'architecture existante, où
chaque poste dispose sa base d'authentification. Chaque utilisateur a un compte en local sur
chaque poste où il travaille généralement.
Utilisateur 1
Utilisateur 2
Utilisateur 3
Poste B
Utilisateur 1
Utilisateur 2 Utilisateur 2
Utilisateur 4 Utilisateur 3
Utilisateur 6 Utilisateur 4
Poste A
Switch Utilisateur 6
Poste C
Utilisateur 1
Utilisateur 3
Utilisateur 5
Poste D
Utilisateur 6
28
Figure 3.3 : Choix de langue
29
La partition Home (/home) contenant les répertoires personnels des utilisateurs du
système
La partition Root (/root) qui est la partition du super utilisateur responsable de
l’administration du système (utilisateur Root)
La partition SWAP pour le swap
Pour créer une partition à l'aide de Disk Druid, sélectionner le périphérique (/dev/hda1 pour la
première partition du disque IDE, /dev/hdb pour le périphérique SCSI), et aller à nouveau,
choisir le point de montage, le système de fichier, la taille de la partition et d'autres options.
choix du chargeur de démarrage : Notre choix portera sur le chargeur GRUB.
Après le choix du chargeur de démarrage, la fenêtre de configuration apparaît en nous
demandant de choisir l'étiquette de démarrage et la partition à démarrer. Ensuite nous avons le
choix sur l'endroit où installer le chargeur de démarrage. Notre choix portera sur le bloc de
démarrage maître car ce serait le cas du premier secteur de la partition de démarrage si un
autre chargeur était déjà installé dans le MBR.
30
Après nous avons une interface de configuration de la carte réseau permettant de
spécifier l'adresse IP, le masque réseau, la passerelle par défaut et les DNS.
Ensuite nous avons la configuration du niveau de pare-feu, puis le support de langue.
Après réglage de l'horloge, on est invité à saisir le mot de passe ROOT.
Le choix des paquetages est une étape importante pour notre installation. Il vaut mieux
installer le strict minimum des paquetages et faire des mises à jour si nécessaire au
lieu d’installer des modules inutiles qui ne seront jamais utilisés sur le serveur et qui
rendront notre serveur lent à la limite. Parmi les paquetages à sélectionner, voici ceux
dont nous aurons besoins :
Httpd pour le serveur web apache ;
Les modules PHP pour apache et LDAP ;
Le module OpenLDAP pour la configuration de l’annuaire LDAP ;
Les modules PERL ;
Bind pour le serveur de nom de domaine ;
Samba pour le contrôleur de domaine ;
A la fin de l'installation, le système redémarre et l'écran ci -dessous nous
donne la possibilité de se connecté. Nous utiliserons ici les paramètres définis
pour le root pendant l'installation.
31
3.2- Configuration du serveur DNS
Le logiciel nécessaire à installer et configurer sous Linux Redhat est BIND (Berkeley
Internet Name Domain). Il a été installé au cours de l’installation du système. La
configuration DNS à faire dépend de la zone à créer et des machines à faire la
correspondance. Dans notre cas, nous voulons créer un serveur DNS maître du domaine
foadweb.cm et qui fera la correspondance directe et inverse des postes du réseau.
Les fichiers à configurer sont :
Le fichier /etc/named.conf contient les paramètres généraux ;
/var/named/named.local résolution locale des adresses loopback ;
On crée et on édite le fichier /var/named/foadweb.cm comme fichier de zone. (ce
fichier peut porter n’importe quel nom)
32
Zone : définit les options s'appliquant à des zones particulières.
La zone 0.0.127.in-addr.arpa crée une zone pour le réseau loopback. Cette option possède des
attributs qui sont les suivants :
Directory : indique le répertoire ou se trouvent les fichiers de la zone.
Forward : pareil à la définition plus haut
Forwarders : pareil à la définition plus haut
notify no : pour ne pas informer les autres serveurs s'il y a des changements dans la zone.
zone "103.168.192.in-addr.arpa" IN {
// 103.168.192 représente la partie réseau des adresses du domaine.
type master;
file "foadweb.inv"; // nom de notre fichier de résolution inverse.
allow-update { none; };
};
NB : Les lignes précédées de « //» sont des commentaires.
33
Enregistrement NS (Name Server)
Ces enregistrements indiquent le nom du serveur de nom du domaine ou les noms des
serveurs de domaine lorsqu’il y en a plusieurs.
localhost IN A 127.0.0.1
kigmoserver IN A 192.168.103.211
www IN CNAME kigmoserver
34
3.2.4- Edition du fichier /var/named/foadweb.inv
Ce fichier est utilisé pour la résolution inverse des serveurs du domaine. Le contenu du
notre est le suivant :
$TTL 86400
@ IN SOA kigmoserver.foadweb.cm. root.kigmoserver.foadweb.cm. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400) ; Minimum
211 IN PTR kigmoserver
//211 est la partie hôte de l’adresse IP de notre serveur et kigmoserver le hostname de celui-ci.
35
organizationUnit pour spécifier les unités d’organisation des données dans la base
(ex : comptes personnels, ordinateurs …).
inetOrgPerson pour les champs uid (user id), nom, prénom, téléphone, mot de passe et
mailCourierMailAccount que nous allons créer comme nouvelle classe étendue dans le
fichier courier.schema qui contiendra les attributs suivants : boite aux lettres,
répertoire personnel, numéro d’utilisateur, numéro de groupe.
36
Puis on compile avec la commande : rpmbuild -ba openldap.specs. La compilation
peut prendre plusieurs minutes. (Le paquetage rpmbuild doit être installé)
Après cette compilation, déplacez-vous dans le répertoire
/usr/src/redhat/RPMS/i386 où vous trouverez les paquets à installer. Pour installer
tous les paquets créer, faites ceci : rpm -ivh openldap-*.rpm
Fichier /etc/openldap/slapd.conf
include /usr/share/openldap/schema/core.schema
include /usr/share/openldap/schema/cosine.schema
include /usr/share/openldap/schema/inetorgperson.schema
include /usr/share/openldap/schema/nis.schema
include /usr/share/openldap/schema/samba.schema
pidfile /var/run/ldap/slapd.pid
argsfile /var/run/ldap/slapd.args
###########################################################
# ldbm and/or bdb database definitions #
###########################################################
database ldbm
suffix "dc=foadweb,dc=cm"
rootdn "cn=Manager,dc=foadweb,dc=cm"
rootpw mot_de_passe_admin
directory /var/lib/ldap
index objectClass,uid,uidNumber,gidNumber,ou eq
index cn,mail,surname,givenname eq,subinitial
index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq,pres
index default sub
37
Fichier /etc/ldap.conf
host kigmoserver.foadweb.cm
base dc=foadweb,dc=cm
ldap_version 3
binddn cn=Manager,dc=foadweb,dc=cm
# Le mot de passe à utiliser pour s'authentifier sur le serveur LDAP (si binddn est défini)
bindpw password
rootbinddn cn=Manager,dc=foadweb,dc=cm
port 389
pam_filter objectclass=posixAccount
pam_login_attribute uid
pam_password exop
nss_base_passwd ou=Users,dc=foadweb,dc=cm?one
nss_base_shadow ou=Users,dc=foadweb,dc=cm?one
nss_base_group ou=Groups,dc=foadweb,dc=cm?one
Fichier /etc/nsswith.conf
Fichier /etc/pam.d/system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required /lib/security/pam_env.so
auth sufficient /lib/security/pam_unix.so likeauth nullok
auth sufficient /lib/security/pam_ldap.so use_first_pass
auth required /lib/security/pam_deny.so
account required /lib/security/pam_unix.so
account [default=bad success=ok user_unknown=ignore service_err=ignore
system_err=ignore]
/lib/security/pam_ldap.so
password required /lib/security/pam_cracklib.so retry=3 type=
password sufficient /lib/security/pam_unix.so nullok use_authtok md5 shadow
password sufficient /lib/security/pam_ldap.so use_authtok
password required /lib/security/pam_deny.so
session required /lib/security/pam_limits.so
session required /lib/security/pam_unix.so
session optional /lib/security/pam_ldap.so
38
3.3.4- Installation et configuration de smbldap-tools
Les smbldap-tools sont des outils développés par idealx permettant de gérer des
comptes Samba de manière très simple en lignes de commandes. Nous les utiliserons dans le
fichier smb.conf pour ajouter certains comptes automatiquement, mais ils facilitent également
le travail quotidien de l'administrateur système. Une fois que nous avons téléchargé smbldap-
tools, nous créons le répertoire où seront installés les fichiers de configuration. Le répertoire
en question est /etc/smbldap-tools. La commande rpm –ivh smbldap-tools-0.9.11-
6.el7.noarch.rpm, permet d’installer le paquetage. Après installation nous aurons deux
fichiers crées dans le répertoire /etc/smbldap-tools à savoir smbldap.conf et
smbldap_bind.conf que nous devons éditer. La configuration de ces fichiers est très explicite
et simple. Une fois ces fichiers édités, nous tapons la commande suivante
/usr/share/doc/smbldap-tools.pl qui permet de faire correspondre notre fichier de
configuration de samba smb.conf à celle de smbldap-tools smbldap.conf. Nous pouvons à
présent peupler notre annuaire avec la commande suivante : smbldap-populate et nous
devons avoir un résultat comme ceci :
Using builtin directory structure
adding new entry : dc=foadweb,dc=cm
adding new entry : ou=Users,dc=foadweb,dc=cm
adding new entry : ou=Groups,dc=foadweb,dc=cm
…
…
…
39
On édite le fichier /usr/src/redhat/SPECS/samba.spec.
Dans ce fichier on définit les options de configuration de notre fichier samba.
On ajoute la ligne -- with - ldapsam.
Puis on compile avec la commande : rpmbuild -ba samba.spec. La compilation peut
prendre plusieurs minutes.
Après cette compilation, déplacez-vous dans le répertoire /usr/src/redhat/RPMS/i386
où vous trouverez les paquets à installer. Pour installer tous les paquets créer, faites
ceci : rpm -ivh samba-*.rpm
Ainsi samba est prêt pour être pris en compte par LDAP.
40
# L'option ci-dessous définit Samba comme le contrôleur de domaine principal (maître).
domain master = yes
# Le niveau d'OS indique l'importance de ce serveur en tant que candidat au rôle de contrôleur
principal lorsqu'une élection est provoquée
os level = 65
# L'option ci-dessous indique samba de forcer une élection de contrôleur de domaine au
démarrage, et lui donne ainsi une petite chance de gagner lors de cette action
preferred master = yes
# Activez ce qui suit si vous voulez activer des "logon scripts" lorsque les utilisateurs se
connectent sur des postes Win95, 98, Me ou NT :
domain logons = yes
# Nom du script qui est exécuté lorsque les utilisateurs se logue
logon script = logon.bat
# Administrateur du domaine
admin users = root
# Utilisation de WINS pour la résolution des noms NETBIOS
#wins support = yes
dns proxy = no
# Ordre de résolution des noms NETBIOS
#name resolve order = lmhosts wins host bcast
ldap passwd sync = Yes
ldap suffix = dc=foadweb,dc=cm
ldap machine suffix = ou=Computers
ldap user suffix = ou=Users
ldap group suffix = ou=Groups
ldap idmap suffix = ou=Idmap
ldap admin dn = cn=Manager
ldap ssl = no
; SAMBA-LDAP declarations
passdb backend = ldapsam:ldap:// kigmoserver.foadweb.cm /
ldap filter = (&(objectclass=sambaSamAccount)(uid=%u))
ldap admin dn = cn=Manager,dc=foadweb,dc=cm
ldap suffix = dc=foadweb,dc=cm
ldap group suffix = ou=Groups
ldap user suffix = ou=Users
ldap machine suffix = ou=Computers
ldap ssl = start_tls
add machine script = /usr/local/sbin/smbldap-useradd -w "%u"
add user script = /usr/local/sbin/smbldap-useradd -m "%u"
#delete user script = /usr/local/sbin/smbldap-userdel "%u"
add group script = /usr/local/sbin/smbldap-groupadd -p "%g"
#delete group script = /usr/local/sbin/smbldap-groupdel "%g"
add user to group script = /usr/local/sbin/smbldap-groupmod -m "%u" "%g"
delete user from group script = /usr/local/sbin/smbldap-groupmod -x "%u" "%g"
set primary group script = /usr/local/sbin/smbldap-usermod -g "%g" "%u"
#Option pour les partages de dossiers
# Le partage ci-dessous apparaîtra comme répertoire personnel pour l'utilisateur qui se
connecte au serveur. Samba remplacera automatiquement homes par le nom de l'utilisateur.
[homes]
comment = Home Directories
41
browseable = no
writable = yes
[netlogon]
# Dossier contenant les scripts à exécuter par les clients après leur authentification
path = /home/netlogon
read only = yes
write list = @domain admin
[public]
# Partage du dossier public, visible et accessible par tout le monde
comment = Répertoire public sur serveur
writable = yes
path = /home/samba/public
guest ok = yes
42
> propriétés > mon de l’ordinateur. Dans la fenêtre qui s’ouvre, nous modifions le nom de
l’ordinateur et en cliquant sur le bouton radio Domaine, nous entrons foadweb.cm qui est
notre nom de domaine. Si le domaine est trouvé, nous serons invités à entrer un compte et mot
de passe. Utilisons le compte ROOT et son mot de passe.
Si tout se passe bien nous devons avoir une boite de dialogue avec le message «Bienvenue
dans le domaine Foadweb.cm».
43
Nous avons ainsi achevé avec la configuration de notre contrôleur de domaine et
pouvons y joindre l'ensemble des postes.
Nous allons implémenter TLS sur notre serveur LDAP pour que les communications
soient chiffrées. Cette manœuvre ajoute juste une commande de type STARTTLS qui permet,
si on le désire, de démarrer une transaction sécurisée sur le port standard LDAP. Il restera
toujours possible de communiquer "en clair" avec notre serveur. OpenLDAP doit être compilé
avec l'option --with-tls et OpenSSL doit être installé.
44
fichiers auront comme autorité la clé et le certificat de base. Ces commandes sont à exécuter
dans le répertoire /etc/openssl.
Création de la clé et du certificat pour le serveur kigmoserver.foadweb.cm :
Création de la clé pour le serveur kigmoserver.foadweb.cm :
openssl genrsa -out keys/kigmoserver.key 1024
Création du certificat de données pour kigmoserver.foadweb.cm Quand le système vous
demande le Common Name, vous devez mettre le nom du serveur au format FQDN (full
qualified name), ex : kigmoserver.foadweb.cm.
openssl req -new -key keys/ kigmoserver.key -out csr/ kigmoserver.csr
Signé le certificat kigmoserver.foadweb.cm avec le CA
openssl ca -config ca.conf -out certs/ kigmoserver.txt -infiles csr/ kigmoserver.csr
Extraction du certificat kigmoserver.foadweb.cm:
perl -n -e 'm/BEGIN CERTIFICATE/ && do {$$seen=1}; $$seen && print;' < certs/
kigmoserver.txt > certs/ kigmoserver.pem
Vous pouvez aussi vérifier le certificat :
openssl verify -CAfile certs/ca.pem certs/ldap kigmoserver.pem
Vous avez alors les trois fichiers nécessaires pour configurer correctement le serveur:
/etc/openssl/certs/ca.pem : Le CA certificats
/etc/openssl/certs/kigmoserver.pem : Le certificat du serveur ldap.
/etc/openssl/keys/ kigmoserver.key : et la clé associée.
45
communication "purement" TLS, qui pourrait être mise en place sur le port LDAPS (636) via
un tunnel SSL.
46
plus de préciser le port sur lequel samba devra se connecter. Ici, le numéro du port est le 389,
puisque l'on utilisera la commande 'start_tls' sur une connexion LDAP standard. Notez qu'il
s'agit du port par défaut pour une connexion de type 'start_tls', mais autant le spécifier pour en
être sûr. Vérifiez enfin que le nom du serveur passé pour la directive 'ldap Server' correspond
bien au CN utilisé lors de la génération du certificat du serveur LDAP ! Si vous oubliez ce
petit détail, samba ne pourra pas établir la connexion TLS et votre fichier de "log" vous
indiquera : "TLS: can't connect"...
Pour vérifier que ceci fonctionne, "loguez" vous à partir de votre machine cliente Windows et,
au choix : sniffez les connexions entre le serveur LDAP et le PDC, ou bien examinez le
fichier de log concernant la machine cliente généré par Samba, vous pourrez lire, si tout se
passe bien : "Start_TLS issued: using a TLS connection".
En cas d’aucune réponse à la première commande, cela signifierait que les outils de
gestion de quota ne sont pas installés et qu’il faut avant tout les installer.
47
Exemple:
/dev/hdc1 /home ext3 defaults,usrquota 1 2
/dev/hdc2 /tmp ext3 defaults,grpquota 1 1
L'attribution des quotas se fait grâce à la commande edquota, utilisable quel que soit le
type de quota (utilisateur ou groupe). La commande ouvre un éditeur (vi ou emacs selon le
contenu de votre variable EDITOR), qui vous permet de modifier directement les fichiers
aquota.user ou aquota.group.
48
Syntaxe : edquota [-u user] [-g group] [-t]
-u user définit les quotas pour un ou plusieurs utilisateurs
-g group définit les quotas pour un ou plusieurs groupes
-t définit les délais
Exemple :
root@ kigmoserver# edquota -u francis
Disk quotas for user francis (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/hdc1 0 9000 10000 0 90000 10000
Le fichier se compose de 6 colonnes :
On procédera de la même façon pour l'attribution de quotas à un groupe. (Ne tentez pas
d'éditer directement ces fichiers; ils ne sont pas au format texte.)
49
3.6.3.3 - Dépassement de quotas : que se passe-t-il ?
Du côté utilisateur, nous décrirons les principaux cas de figure de dépassement de
quotas et les messages envoyés à l'utilisateur.
Prenons l'exemple suivant : l'utilisateur francis dispose de 9Mo en limite douce et 10 Mo en
limite dure. Son délai de grâce est de 7 minutes. Ci-dessous le contenu du système de fichiers
faisant l'objet de ces quotas :
francis@kigmoserver$ ls -l /home/francis
total 1842
-rw------- 1 root root 7168 fév 28 23:50 aquota.user
-rw-r--r-- 1 francis francis 1857516 mar 1 12:19 fic1
drwx------ 2 root root 12288 nov 28 12:59 lost+found
Nous sommes largement en dessous des quotas. Nous allons maintenant copier 4 fois le
fichier fic1. Les 3 premières copies se passent bien et nous avons fic2, fic3 et fic4. Ci-dessous,
la dernière copie
francis@kigmoserver$ cp fic1 fic5
ide1(22,10): warning, user block quota exceeded.
francis@kigmoserver$ ls -l
total 9134
-rw------- 1 root root 7168 fév 28 23:50 aquota.user
-rw-r--r-- 1 francis francis 1857516 mar 1 12:19 fic1
-rw-r--r-- 1 francis francis 1857516 mar 1 13:18 fic2
-rw-r--r-- 1 francis francis 1857516 mar 1 13:18 fic3
-rw-r--r-- 1 francis francis 1857516 mar 1 13:18 fic4
-rw-r--r-- 1 francis francis 1857516 mar 1 13:18 fic5
drwx------ 2 root root 12288 nov 28 12:59 lost+found
La limite douce est dépassée. L'utilisateur reçoit un message mais l'écriture est réalisée car
nous n'avons pas dépassé la limite dure. Deux cas de figure peuvent alors se présenter si
l'utilisateur ne contacte pas l'administrateur ou s'il ne libère pas de l'espace pour repasser en
dessous de la limite douce.
1er cas : l'utilisateur tente d'écrire dans le système de fichiers ce qui l'amène à dépasser la
limite dure.
francis@kigmoserver$ cp fic1 fic6 « ide1(22,10): write failed, user block limit reached. »
cp: écriture de `fic6': Débordement du quota d'espace disque L'opération échoue. Une partie
du fichier seulement a été copiée. L’utilisateur ne pourra plus écrire dans le système de
fichiers.
2ème cas : l'utilisateur laisse s'écouler le délai de grâce de 7 minutes fixé par l'administrateur.
Il tente alors de copier le contenu du fichier /etc/passwd par exemple. Le total de l'espace
occupé reste toutefois inférieur à la limite dure.
La sanction sera identique que dans le 1er cas. L'opération échoue.
50
francis@kigmoserver$ cp /etc/passwd.
ide1(22,10): write failed, user block quota exceeded too long.
cp: écriture de `./passwd': Débordement du quota d'espace disque L'opération a échoué
comme en témoigne le listage ci-dessous :
francis@kigmoserver$ ls -l passwd
-rw-r--r-- 1 francis francis 0 mar 1 14:48 passwd
De même si vous essayez d'écrire dans le fichier passwd, vous obtiendrez le message suivant
dans votre éditeur au moment de l'enregistrement :"passwd" erreur d'écriture (système de
fichiers plein ?) Appuyez sur ENTRÉE ou tapez une commande pour continuer. Il vous est
impossible d'écrire.
Les commandes suivantes vont vous permettre d'une part de vérifier les quotas affectés
à chaque groupe et/ou utilisateur et éventuellement de synchroniser les informations
nécessaires au système pour le suivi de ces quotas.
51
+ -- 19 0 0 2 0 0
Statistics:
Total blocks: 7
Data blocks: 1
Entries: 3
Used average: 3,000000
On trouve ici les informations relatives aux quotas imposés aux utilisateurs. On trouvera
autant de lignes que d'utilisateurs, groupes et systèmes de fichiers concernés. Sont rappelés les
quotas fixés en nombre de blocs et d'inodes. On trouve également le nombre de blocs et le
nombre d'inodes utilisés. Quand un horodatage apparaît dans la colonne grace, comme par
exemple pour Bob, cela signifie que l'utilisateur (ou le groupe) a dépassé la limite douce. Le
délai de grâce est donc décompté. Vous pouvez également utiliser la commande quota suivie
du nom d'un utilisateur ou d'un groupe. Là encore vous obtiendrez toutes les informations
relatives aux quotas et à l'utilisation de l'espace attribué. Exemple : pour obtenir les
informations liées aux quotas concernant francis : root@kigmoserver# quota nom_user Disk
quotas for user francis (uid 500): Filesystem blocks quota limit grace files quota limit
grace /dev/hdc10 7293 9000 10000 5 9000 10000
Il peut arriver que les fichiers de quotas deviennent incohérents. La gestion de ceux-ci
devient alors impossible. D'autre part, lorsque vous ajoutez un nouvel utilisateur ou un
nouveau groupe à l'aide de la commande edquota, il faut là encore synchroniser les fichiers
pour la prise en compte de ces nouvelles notions.
Syntaxe: quotacheck [-vug] -a | filesystem
Exemple : vérifier tous les fichiers de quotas, quel que soit le système de fichiers
concerné
root@kigmoserver# quotaoff -a
root@kigmoserver# quotacheck -auvg
quotacheck: Scanning /dev/hdc10 [/home/francis/quota] done
quotacheck: Checked 2 directories and 10 files
Voilà pour cette partie concernant les quotas. Pour plus d'informations, consulter le
manuel des commandes : repquota, quotaon, quotaoff, quotacheck, edquota.
52
A ce niveau de paramétrage, nous notons que le système (couplage SAMBA et
OpenLDAP) est opérationnelle et les différents échanges entre les postes clients et le serveur
se feront de manière sécurisée à l'aide de TLS. De même, une utilisation rationnelle de
l'espace disque sera observée par les utilisateurs car chacun a une limite à respecter et pour
cela, ne devra garder sur le serveur que ce qui est vraiment important.
53
Chapitre 4 : Les résultats obtenus
A cette phase de notre travail, nous allons présenter les résultats obtenus après la phase
d'implémentation, ceci afin de vérifier si solution a été trouvé pour le problème initial et
ressortir les possibilités d'amélioration.
Ainsi avec cinq utilisateurs dans une structure, l'on devra créer quinze comptes afin de
permettre à chaque utilisateur d'avoir accès aux trois postes de la structure. A défaut, créer un
compte unique sur chaque poste (soit trois comptes) et que ce compte soit utilisé par
l'ensemble des utilisateurs, ce qui pose un sérieux problème de sécurité et de confidentialité.
Dans cette configuration, un serveur n'est pas nécessaire.
La mise en place du domaine et la centralisation de l'authentification dans l'annuaire,
nous permet une gestion plus simple de nos utilisateurs et réduit considérablement la charge
de travail de l'administrateur système et réseaux. La présence d'un serveur devient impérative.
Poste A Poste B Poste C Serveur Total
N utilisateurs Aucun Aucun Aucun Création de N comptes N comptes
utilisateurs
(Identifiant et mot de passe)
5 utilisateurs 0 0 0 5 5
54
100 0 0 0 100 100
utilisateurs
Tableau 4.2 : Gestion des comptes avec annuaire
Pour le même nombre de cinq utilisateurs, nous avons désormais trois postes et un
serveur. Uniquement cinq comptes seront utilisés, ce qui réduit presque de moitié la charge de
travail liée à la création et la gestion des comptes utilisateurs. Nous constatons que plus le
nombre d'utilisateurs est élevé, plus l'on devra en créer des comptes sur les différents postes.
La centralisation nous donne de ne plus tenir compte du nombre de poste disponible dans le
réseaux mais de gérer uniquement l'utilisateur qui avec ses droits d'accès pourra travailler sur
l'ensemble des postes du domaine.
Pour une administration plus simple de notre annuaire, nous avons mis en place une
interface web qui est phpLDAPadmin. Notre interface d'administration sera dont ainsi :
55
Directory aura nécessité un budget pour la licence du système d'exploitation serveur ainsi
qu'un antivirus dont la licence est périodiquement (annuellement en général) renouvelée. Une
licence Windows serveur 2012 coute environ 300.000 FCFA et Windows serveur est déjà à la
version 2019. Une licence antivirus pour serveur coute environ 100.000 FCFA pour une
validité d'un an. En optant dont pour une solution libre, des économies très significatives ont
été faite par la structure.
Nous avons mis en place sur un seul serveur physique, le contrôleur de domaine
SAMBA et l'annuaire OpenLADAP. Cette configuration permet déjà un gain considérable sur
le prix d'achat d'un serveur bien que cela soit potentiellement un risque. En cas de panne de la
machine physique, le contrôleur de domaine et l'annuaire se trouvent indisponible.
56
SAMBA + OpenLDAP
Poste B
Utilisateur 1
Utilisateur 2
Utilisateur 3
Utilisateur 4
Utilisateur 5
Utilisateur 6
Poste A
Switch
Poste C
Poste D
Figure 4.3 : Architecture finale
4.3 - Perspectives
Le système mis en place répond bien à la situation initiale où la gestion des utilisateurs
dans la structure n'était pas centralisée. L'on note tout de même à partir de l'architecture finale
des points à optimiser. Une indisponibilité quelconque du serveur mettrait en mal le
fonctionnement global de l'ensemble du système avec l'impossibilité des utilisateurs à se
connecter, l'indisponibilité des ressources partagées. Il devient dont nécessaire de mettre en
place un système de réplication à la fois de l'annuaire et du contrôleur de domaine, ce qui
permettra une haute disponibilité des serveurs.
57
Conclusion Générale
Au terme de ce travail, nous pouvons dire et sans risque de nous tromper que nous
avons été confrontés à de nombreuses difficultés, surtout au niveau de la compréhension de
nos principaux outils de travail à savoir Samba, Openldap et les modules PAM et NSS
pour LDAP; Cependant, faisant abstraction de toutes ces difficultés, nous avons pu obtenir
quelques résultats concrets, au regard de l’objectif qui a été préalablement fixé : Mise sur Pied
d’un Contrôleur de Domaine SAMBA avec Authentification via un Annuaire LDAP et
Gestion des Quotas de Disque. Pour atteindre cet objectif, nous avons utilisé SAMBA
comme contrôleur de domaine, Openldap comme l’annuaire LDAP ainsi que ses modules
PAM et NSS et smbldap-tools pour la création des comptes utilisateurs du domaine SAMBA
dans l’annuaire. phpLDAPadmin a été installé pour simplifier l'administration de notre
annuaire.
Tous les postes utilisateurs ont pu être joint au domaine mis en place et chaque
utilisateur dispose désormais d'un compte unique (login et mot de passe) permettre d'avoir un
accès à partir de tout ordinateur lié au domaine. Des paramétrages supplémentaires peuvent
limiter les accès des une et des autres en fonction des postes ou autres ressources mais ces
restrictions n'ont pas été faites.
Avec le contrôleur de domaine que nous avons mis sur pied, on se rend
compte que les utilisateurs ne peuvent y accéder qu’à partir d’un ordinateur faisant partie du
domaine, ou se trouvant dans le même réseau IP à partir du voisinage réseau. Vue cette limite,
l’on pourra dans la mesure du possible ajouter à notre serveur SAMBA, un serveur FTP (File
Transfer Protocol) qui permettrait aux utilisateurs, même hors du domaine et dans un
réseau IP différent d’accéder à leurs répertoires personnels. L'option de réplication sera
une solution pour prévenir à une indisponibilité de notre serveur principale.
58
Bibliographie
59