REPUBLIQUE DU CAMEROUN REPUBLIC OF CAMEROON
Paix-Travail-Patrie Peace-Work-Fatherland
********* ********
UNIVERSITE DE DSCHANG UNIVERSITY OF DSCHANG
******** ********
FACULTE DES SCIENCES FACULTY OF SCIENCE
******** ********
DEPARTEMENT DE MATHEMATIQUES MATHEMATICS AND COMPUTER
ET INFORMATIQUE SCIENCE DEPARTMENT
EXPOSE D’ADMINISTRATION DES SERVICES ET DES
SERVEURS
INSTALLATION ET
CONFIGURATION DU SERVEUR
SAMBA
Option : Réseaux, Télécommunications et Systèmes
Niveau : Master 1
Par :
DONFACK THIBAU THORECE
FONKOUE YOANN LEONCE
Sous la direction Académique de : M. TAMAFO Stéphane
Année Scolaire : 2022 - 2023
SOMMAIRE
SOMMAIRE ............................................................................................................................ 2
INTRODUCTION ................................................................................................................... 3
I. PRESENTATION DU SERVEUR SAMBA ................................................................. 4
1- Historique ..................................................................................................................... 4
2- Architecture Samba..................................................................................................... 4
II. INSTALLATION ET CONFIGURATION DU SERVEUR SAMBA .................... 8
1- Installation du server SAMBA ................................................................................... 8
2- Configuration du serveur SAMBA ............................................................................ 9
III. GESTION DES UTILISATEURS ........................................................................... 11
IV. PARTAGE DES FICHIERS ET REPERTOIRES................................................. 12
1- Sous linux (Partage Linux-Linux) ............................................................................ 12
2- Sous Windows (Partage Linux-Windows)............................................................... 14
V. AVANTAGES ET INCONVENIENTS DU SERVEUR SAMBA ............................. 15
1- Les avantages du serveur Samba ............................................................................. 15
2- Les inconvénients du serveur Samba ....................................................................... 15
CONCLUSION ...................................................................................................................... 17
BIBLIOGRAPHIE ................................................................................................................ 18
INTRODUCTION
De tous les temps, le partage de fichiers quel que soit la taille et le format a été
l’essence même de l’acquisition de l’information et de l’apprentissage. Etant une affaire
de tous les jours que ce soit par mail, par message, ou sur un support physique de
stockage, des millions de centaines de Giga de fichiers sont partagés chaque jour. Pour
ces moyens d’envoi et de réception une contrainte est apparue lorsque la taille du fichier
à envoyer était grande. Une solution a été de disposer de possibilités d’extension sur un
serveur de fichiers. Un serveur de fichiers fournit un emplacement central sur le réseau
de l’utilisateur à partir duquel il peut stocker et partager des fichiers en toute sécurité.
Pour un fichier volumineux, il suffira de le déposer sur le serveur de fichiers pour qu’il
soit accessible par les autres utilisateurs sans devoir le transférer entre des ordinateurs
individuels.
I. PRESENTATION DU SERVEUR SAMBA
1- Historique
Andrew Tridgell a développé la première version de Samba Unix, en 1992, à
l'Australian National University, en utilisant un renifleur de paquets pour réaliser une
analyse réseau du protocole utilisé par le logiciel de DEC PATHWORKS, nbserver 1.5,
publié en décembre 1993. Tridgell a découvert plus tard que le protocole était en grande
partie identique à celui utilisé par d'autres systèmes de partage de fichiers, y compris
celui de Microsoft. Il a ensuite décidé de se concentrer sur une compatibilité du réseau
Microsoft. Samba reçoit aujourd'hui les contributions d'une vingtaine de développeurs
originaires du monde entier sous sa coordination.
Samba est un logiciel libre et une mise en œuvre du protocole SMB/CIFS sous
GNU/Linux, initialement développée par l'australien Andrew Tridgell. Il est sous
licence GNU GPL 3. Son nom provient du protocole SMB (Server message block), le
nom du protocole standard de Microsoft, auquel ont été ajoutées les deux voyelles a : «
SaMBa ».
Il peut également faire partie d'un domaine Active Directory. Il fonctionne sur
la plupart des systèmes Unix, comme GNU/Linux, Solaris, AIX et les variantes BSD,
y compris Apple, etc… Samba fait partie intégrante de presque toutes les distributions
GNU/Linux.
SAMBA est un serveur de fichiers pour Linux compatible avec les réseaux
Microsoft Windows.
Autrement dit, le Serveur SAMBA réalise le partage de ressources (fichiers,
imprimante) entre machines fonctionnant avec un système Microsoft Windows et un
système Linux (en licence GNU GPL, donc libre).
2- Architecture Samba
1. Les protocoles utilisés par Samba
Samba est un service permettant l’accès à des fichiers, a des répertoires complets
et a d’autres ressource du réseau comme les imprimantes, les routeurs, ou les interfaces
partagées dans le réseau entre des stations linux et des stations Windows. De plus c’est
une application qui permet d'utiliser sous Linux le protocole SMB (« Server Message
Block »). En plus du protocole SMB, SAMBA s’appuie sur l’utilisation de
l’architecture NetBIOS (ensemble de commandes contrôlant l’émission et la réception
de messages, il n’est pas un protocole en soit c’est une interface logicielle et un mode
de nommage) et le protocole TCP/IP
• Le protocole SMB
Le protocole Server Message Block permet au client de communiquer avec
d’autres participants dans le même réseau (utilisant des systèmes d’exploitation
identiques) afin d’accéder à des fichiers et a des services partagés sur le réseau. Au fil
du temps ce protocole a évolué et sa dénomination actuelle est SMB 3.1.1 qui est
supportée sur Windows 10, Windows server 2016. Etant un protocole Microsoft, le
projet logiciel samba est sans conteste l’exemple le plus connu d’implémentation SMB
en dehors de Windows.
• Le NetBIOS
NetBIOS (Network Basic Input/Output System) est un système de nommage et
une interface logicielle qui permet d’établir les sessions entre différents ordinateurs
d’un réseau. Il s’agit d’une API que samba et d’autres technologies peuvent utiliser.
Donc NetBIOS n’a aucune dépendance vis-à-vis de samba. Il fournit des services liés
à la couche session du modelé OSI permettant aux applications sur des ordinateurs
distants de communiquer sur un réseau.
• Le protocole TCP/IP
Le protocole NetBIOS étant non routable, il faut donc utiliser la diffusion
broadcast TCP/IP dans le cas d'une encapsulation.
2. Les demons de Samba
L’architecture de Samba est constituée principalement d’un serveur et d’un
client, ainsi que de quelques outils permettant de tester la configuration. Le serveur est
constitué de trois démons. Un démon désigne un programme informatique ou un
processus qui n’est pas contrôlé par l’utilisateur et qui s’exécute en arrière-plan. Son
rôle principal consiste à apporter une réponse à une ou plusieurs requêtes d’un réseau,
d’un matériel ou d’un programme.
• Le démon smbd (server message block deamon)
Il est contrôlé par le service SMB. C’est un noyau du serveur fournissant les
services d’authentification et d’accès aux ressources (service de partage de fichiers et
d’impression aux clients sur divers système d’exploitation, verrouillage des ressources
et du partage des données par biais du protocole SMB). Les ports par défaut sur lesquels
le serveur est à l’écoute de tout trafic SMB sont les ports IP 139 et 445
Remarque : le port IP 139 fonctionnait sur NetBIOS et est donc le plus ancien.
Tandis que le port 445, est utilisé sur des versions plus récentes de SMB.
• Le démon nmbd (Name Management Daemon)
Ce démon permet de montrer les services offerts par samba. Il joue également
un rôle au niveau des protocoles de navigation qui constituent l’affichage du voisinage
réseau (Network Neighboarhood de Windows). Le port par défaut sur lequel le serveur
attend du trafic NMB est le port UDP 137. Ce démon est également contrôlé par le
service SMB.
• Le démon Winbindd
Il permet d’utiliser les comptes utilisateurs d’un domaine Microsoft. Il permet
en d’autres termes aux utilisateurs de domaine Windows NT d’apparaitre comme les
utilisateurs Unix sur une machine UNIX. Le Domain Winbindd est contrôlé par le
service winbind et il n’est pas nécessaire que le service smb soit lancé pour que le
démon tourne.
3. Le fonctionnement de Samba
Le fonctionnement de samba s’appuie sur un jeu d’instructions qui prend en
compte le protocole SMB. Comme expliqué précédemment le protocole SMB s’appuie
sur le sur le NetBIOS ainsi que sur le protocole TCP/IP. Son fonctionnement est
conforme au schéma client-serveur ci-dessous :
Figure 1 : Envoie/ Réception des requetés client-serveur.
Figure 2 : l’architecture de SAMBA.
✓ Le serveur offre ses ressources (système de fichiers, imprimantes) aux clients
Windows qui s’y connecteront sous un compte crée par le root, après une
authentification par mot de passe. Le travail est partagé par 2 démons : smbd
pour le service serveur et nmbd pour le service de résolution des noms
NetBIOS.
✓ Du coté client, le protocole SMB fonctionne au-dessus de plusieurs protocoles
ainsi il nécessite NetBIOS au-dessus de TCP /IP.
✓ Chaque demande de connexion par samba d’une station au serveur linux, laisse
une trace stockée dans le fichier log.%m situé dans le répertoire /var/log/samba
(%m désignant le nom de la station). Toute connexion pourra dont ê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é).
Figure 3 : Processus de validation d’accès en mode sécurité
II. INSTALLATION ET CONFIGURATION DU
SERVEUR SAMBA
1- Installation du server SAMBA
Pour installer le serveur Samba un certain nombre de paquets sont nécessaires
et l’installation de ces paquets se fait en suivant des commandes précises via un
terminal.
➢ sudo apt-get update : Cette commande est primordiale, car elle permet de faire
la mise à jour des paquets du système. Elle nous permet d’être sûr qu’on
installera la dernière version de samba.
➢ sudo apt-get install samba, ou sudo apt -y install : cette commande permet
d’installer samba à partir du terminal.
➢ sudo apt-get install smbclient : qui correspond aux paquets du client.
Après que samba soit installé, le serveur de samba devrait être apte à démarrer
(sans partage de fichiers ni d’imprimantes) en tapant dans la console la commande
/etc/init.d/samba start.
Les principales commandes liées à l’utilisation du serveur samba sont les suivantes :
➢ testparam /etc/samba/smb.conf : permet de vérifier la syntaxe du fichier
smb.conf . Il ne vérifie en aucun cas le bon fonctionnement du fichier. Ainsi, si
testparam ne renvoie aucune erreur alors la syntaxe est correcte.
➢ /etc/init.d/samba stop : permet de stopper les services samba.
➢ /etc/init.d/samba start : permet de démarrer le serveur samba.
➢ /etc/init.d/samba restart : permet de redémarrer les services de samba.
➢ /etc/init.d/samba status : permet d’afficher les connections actives via samba.
Figure 4 : vérification si le serveur à bien démarrer
2- Configuration du serveur SAMBA
La configuration de Samba sur une machine Linux (ou sur un autre Unix) est
contrôlée par un seul fichier, smb.conf. Cependant, le nom par défaut de ce fichier de
configuration est déterminé au moment de la compilation de l'outil samba. Dans
beaucoup de cas, c’est /etc/samba/smb.conf. Ce fichier indique quelles ressources
système on désire partager avec le monde extérieur, et quelles restrictions on veut
mettre dessus. Un fichier smb.conf standard se compose de plusieurs sections
contenantes chacune des paramètres. Il existe 130 paramètres globaux et environ 100
paramètres associés aux partages. Mais seuls quelques-uns sont nécessaires à la
configuration d'un serveur simple.
Il est à noter qu’à chaque modification du fichier smb.conf à l'aide d'un éditeur
de texte, il faut l'enregistrer puis taper en ligne de commande : /etc/init.d/samba restart
(afin de redémarrer le serveur samba et par la même occasion prendre en compte les
modifications du fichier smb.conf).
Il est à noter que l’option restart est une manière rapide d’arrêter et de
redémarrer samba. Cette option constitue la manière la plus fiable d’appliquer des
modifications au niveau de la configuration après avoir édité le fichier de configuration
de samba. Notez bien que l’option de redémarrage (restart) lance le démon même s’il
ne tournait pas à l’origine (le démon Smbd).
Le fichier smb.conf se découpe selon des rubriques (chacune référencée par une
ligne contenant le nom de la section entre crochets) comprenant chacune un ensemble
de lignes de paramètres du type attribut = valeur. Une ligne commençant par un # est
une ligne de commentaires et une ligne commençant par ; est inactive.
Il existe 3 sections principales :
a. La section [global]
Cette section définit quelques variables communes pour le partage de toutes les
ressources.
b. La section [homes]
Cette section permet à un utilisateur distant Windows ou autre d’accéder à son
répertoire d’accueil encore appelé répertoire personnel (et uniquement au sien) sur la
machine Linux locale. Ceci suppose qu’il doit posséder un compte sur l’hôte Linux.
c. La section [printers]
Définit les imprimantes partagées par le serveur.
Figure 5 : Commande pour entre dans le fichier smb.conf
Nous avons créé nos propres sections pour notre projet.
Figure 6 : Fin du fichier smb.conf
III. GESTION DES UTILISATEURS
Pour que notre serveur soit accessible depuis un poste client, il va falloir créer
des comptes clients. Ces comptes et leurs mots de passe sont stockés dans le fichier
crypté de samba qui se trouve dans /etc/smbpasswd/. Ce fichier contient l’identifiant de
l’utilisateur Linux et le hash du mot de passe de cet utilisateur autorisé à se connecter à
notre serveur. Pour créer un compte samba, il faut que l’utilisateur ait un compte valide
sur notre système d’exploitation Linux (dans le fichier /etc/passwd).
Pour ajouter un utilisateur la commande sudo adduser nom_utilisateur est
utilisé. Ensuite il est demandé d’attribuer un mot de passe à cet utilisateur en tapant la
commande. Une fois que nos utilisateurs sont ajoutés, il est nécessaire aussi de créer un
mot de passe samba qui sera demandé lors de l’authentification durant l’accès aux
fichiers ou répertoires partagés. La commande utilisée est smbpasswd -a
nom_utilisateur. La dernière étape consiste à définir les droits d’accès du serveur
SAMBA permet d’émuler la majeure partie des services fournies par Windows
répertoire à partager (Lecture, Ecriture).
Figure 7 : gestion des utilisateur (ajouter d’un utilisateur avec son mot de passe)
Figure 8 : compte utilisateur utilise pour faire la liaison entre les diffèrent système
d’exploitation
IV. PARTAGE DES FICHIERS ET REPERTOIRES
1- Sous linux (Partage Linux-Linux)
Le partage de répertoires sur samba ne se fait pas nécessairement par invite de
commande. En effet, il se résume à deux étapes :
• Faire un clic droit sur le dossier à partager et aller dans partage local et définir
les droits d’accès du répertoire
• Accéder à l’explorateur de fichier linux, et saisir dans la barre d’adresse du
serveur la commande : smb://adresse_ip_du_serveur/
Figure 9 : Liaison entre Ubuntu et kali linux
Figure 10 : Accès aux différents dossiers partagés
Figure 11 : contenu du dossier projetSamba_wr après liaison de Ubuntu - Kalilinux
2- Sous Windows (Partage Linux-Windows)
Le partage de répertoires sur samba peut se faire à l’aide du terminal en
modifiant le fichier smb.conf ou en rendant le répertoire partageable à partir de
l’interface graphique Linux. La méthode qui consiste à modifier le fichier smb.conf se
résume à indiquer le nom du répertoire, les droits d’accès et le commentaire si
nécessaire.
Figures 14 : Liaison du serveur samba sur kali linux et Windows
V. AVANTAGES ET INCONVENIENTS DU
SERVEUR SAMBA
1- Les avantages du serveur Samba
✓ Sur une machine classique, Samba est globalement plus performent que NT 4.0
Server grâce à ce logiciel permet à des postes de travail sous environnement
Microsoft d’accéder de façon totalement transparente à un serveur Linux et sans
négliger la stabilité d’un serveur mit en place.
✓ Samba permet de définir des niveaux d’accès très pointus, très proche de se
proposer par un serveur Windows NT.
✓ Samba est donc une alternative économique et robuste par rapport à un serveur
Windows NT.
✓ Lorsque les deux systèmes de partage de fichier (NFS, Samba) sont installés
pour comparaison, samba se relève moins performant que NFS plus au niveau
des taux de transfert. Néanmoins, une étude à montrer que Samba 3 était jusqu’à
2.5 fois plus rapide que la version smb de Windows Server 2003.
✓ Samba est un logiciel libre, distribué sous licence gratuite
2- Les inconvénients du serveur Samba
Comme tous autre système, Samba ne peut pas être parfaite totalement, il peut
avoir des inconvénients tel que :
▪ L'installation et l'administration d'un serveur Linux nécessitent de réelles
compétences, et il paraît peu raisonnable de confier cela à une personne non
formée.
▪ Un autre inconvénient réel est qu'il est impossible (ou du moins irréaliste dans
un contexte professionnel sur une machine en production) de faire tourner des
exécutables Microsoft sur un serveur Linux. Cela signifie que si le serveur de
l'entreprise fait à la fois office de serveur de fichiers et de serveur d'applications,
la solution Linux/Samba est inadaptée, sauf à acquérir un second serveur dédié.
▪ Attention à la sécurité du réseau local, si une seule des machines de celui-ci est
compromise alors on n’est plus protégé contre une intrusion sur notre propre
machine.
▪ Nombreux sont ceux qui pense que samba peut faire fonctionner des
applications Windows sur une machine Unix. Ce n’est pas le cas. Samba fournir
juste des services réseaux et des moyens de communication entre ses deux
plateformes.
▪ Samba peut être membre d’un domaine mais, il ne peut pas contrôler un
domaine Active Directory. Il ne peut pas gérer des groupes de groupes.
CONCLUSION
En somme, il était question pour nous de présenter le serveur samba, son
architecture et configuration. La réalisation de ce travail nous a permis de comprendre
comment fonctionne samba que ce soit la gestion des utilisateurs ou le partage des
ressources et répertoires. Les possibilités de SAMBA sont un peu plus grandes que
celles expliquées ci-dessous. En effet, SAMBA permet aussi le partage de
d’imprimantes, il a la possibilité de faire partie d’un domaine Active Directory, d’agir
comme un serveur membre du domaine Active Directory ou comme un contrôle de
domaine Active Directory. L’implémentation de l’un ou l’autre des services dépendra
des besoins de l’entreprise.
BIBLIOGRAPHIE
1. https://juliend.github.io/linux-cheatsheet
2. www.olivieraubert.net/cours/reseaux-iup/archi-client-serveur.pdf
3. http://fr.wikipedia.org/wiki/Client-serveur
4. perso.modulonet.fr/~placurie/.../Chap-12-%20Le%20client-serveur.pdf
5. http://fr.wikipedia.org/wiki/Serveur_de_fichiers
6. http://www.misfu.com/installer-configurer-samba-smb-linux.html
7. Blaise Drayer, de Astron Associates /Présentation de Samba .pdf
8. http://doc.ubuntu-fr.org/samba_smb.conf
9. doc. TP: Installation d’un serveur de partage des fichiers : samba
10. http://prevot-co.fr/difundrum/informatique/linux/samba/samba.htm
11. https://www.memoireonline.com/11/11/4927/m_Etude-et-mise-en-place-
dunserveur-contrleur-de-domaine-Samba-sur-administration-reseaux-sous-
10.html#:~:text=III%2D5%2D5%20Les%20avantages%20du%20server%20Samba&
text=Samba%20est%20donc%20une%20alternative,niveau%20des%20taux%20de%
20transferts.
12. https://www.ionos.fr/digitalguide/serveur/know-how/server-message-block-
smb/