UNIVERSITE MOHAMED I – OUJDA ECOLE ... - MultiMania
UNIVERSITE MOHAMED I – OUJDA ECOLE ... - MultiMania
UNIVERSITE MOHAMED I – OUJDA ECOLE ... - MultiMania
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>UNIVERSITE</strong> <strong>MOHAMED</strong> I – <strong>OUJDA</strong><br />
<strong>ECOLE</strong> NATIONALE DES SCIENCES APPLIQUEES<br />
Département Génie Informatique<br />
Laboratoire des réseaux Informatiques<br />
4 éme année GI<br />
Réalisé par :<br />
Mr EBOURKI Abderrahman<br />
Mr MENAOUI Rachid<br />
Encadré par :<br />
Dr SLIWKA Stanistlav<br />
Année universitaire 2003/2004
Installation et configuration d’un serveur Samba<br />
Sommaire<br />
I. Qu’est ce que samba ?........................................................................................................ 4<br />
II Configuration de Samba :................................................................................................... 5<br />
II.1 Configuration de Samba sous Windows : .................................................................. 5<br />
II.2 Installation et configuration du Serveur Samba : ....................................................... 5<br />
II.2.1 Installation :........................................................................................................ 5<br />
II.2.2 Configuration : ................................................................................................... 6<br />
II.2.3 Créations de comptes Linux – Samba :.............................................................. 6<br />
II.3 Edition et configuration du fichier smb.conf : ........................................................... 6<br />
II.3.1 Les paramètres globaux et les différents niveaux de sécurité : .......................... 6<br />
II.3.2 Partage du répertoire personnel :........................................................................ 7<br />
II.3.3 Partage d’une imprimante : ................................................................................ 8<br />
II.3.4 Partage d’un répertoire public :.......................................................................... 8<br />
II.3.5 Partage d’un périphérique (CD – ROM) :.......................................................... 9<br />
II.3.6 Partage d’un répertoire pour un groupe d’utilisateur seulement:....................... 9<br />
II.3.7 Le fichier smb.conf configurés : ...................................................................... 11<br />
III Les niveaux de sécurité sous Samba : .......................................................................... 14<br />
IV Serveur Samba comme membre d’un domaine............................................................ 15<br />
IV.1.1 Configuration : ................................................................................................. 15<br />
IV.1.2 Ajout du serveur Samba dans le domaine NT:................................................. 15<br />
V Conclusion........................................................................................................................ 17<br />
VI Bibliographie :.............................................................................................................. 18<br />
4 éme année GI - ENSAO 3 Année universitaire : 2003/2004
Installation et configuration d’un serveur Samba<br />
I. Qu’est ce que samba ?<br />
Le but principal des réseaux est de permettre aux ordinateurs d'échanger facilement<br />
des informations. Partager des informations entre des machines Linux, est facile. Des outils<br />
tels que FTP et NFS sont facilement disponibles et sont fréquemment mis en œuvre.Comme<br />
on a besoin d'échanger des informations avec des machines des systèmes d’exploitation divers<br />
(Windows, OS/2,..) l’outil qu’il faut c’est samba.<br />
Samba est un serveur de fichier pour linux (GNU GPL), donc libre qui permet de<br />
partager des fichiers et imprimantes d’un serveur linux avec des machines d’un réseau<br />
hétérogènes comme Windows par exemple.<br />
Samba est une implémentation du protocole SMB (Server message Block) pour Unix.<br />
Le protocole SMB est le coeur de Net BIOS ou de LanManager. Il permet de partager les<br />
répertoires et imprimantes Unix avec Windows 95, Windows 98, Windows NT ou n'importe<br />
quel autre client supportant Net BIOS ou LanManager et le tout sans logiciel spécial du côté<br />
du client. Il nécessitera juste que TCP/IP soit configuré sur chaque machine devant accéder<br />
Samba ou pouvant être accédée par Samba.<br />
Figure1 : Le fonctionnement de SMB est conforme au modèle Client/serveur<br />
Figure2 : Vue du protocole SMB<br />
4 éme année GI - ENSAO 4 Année universitaire : 2003/2004
Installation et configuration d’un serveur Samba<br />
SMB utilise le protocole Net Bios sur TCP/IP, ce qui est a plusieurs avantages tel que<br />
Samba s'ajuste parfaitement à de grands réseaux TCP/IP, tels que l'Internet.<br />
II Configuration de Samba :<br />
II.1 Configuration de Samba sous Windows :<br />
Samba ne permet d'accéder à la station Windows qu'à travers le protocole TCP/IP. Il a<br />
besoin aussi du protocole Net BIOS . Sur chaque machine cliente, il faut tout d'abord ajouter<br />
TCP/IP et NETBIOS si ces protocoles sont absents. Il faut bien vérifier que Net Bios est<br />
activé avec TCP/IP (Voisinage réseau/Propriétés TCP/IP, onglet Net Bios).<br />
Il faut affecter une adresse IP à chaque station dans le même sous réseau que le serveur<br />
Samba Linux.<br />
Dans le laboratoire réseau, l’adresse du réseau est 192.168.0.0.<br />
� Les machines sont numérotés de : 192.168.0.1x avec x allant de 1 jusqu'à 8.<br />
� Les noms des stations sont : lr-0x avec x allant de 1 jusqu'à 8.<br />
� La machine lr-dc est le contrôleur de domaine a pour adresse 192.168.0.1.<br />
� La machine lr-serveur, qui est notre passerelle vers Internet avec deux adresses, une<br />
privée 192.168.0.254 et une réelle 194.204.231.186.<br />
� Le nom de groupe de travail qui sera donné dans smb.conf : LR<br />
La machine lr-textron (192.168.0.253) sera utilisée pour accéder au serveur samba, tandis<br />
que la machine lr-04 sera utilisée comme serveur Samba.<br />
Après l’inévitable redémarrage de Windows et la configuration de smb.conf (Fichier à con-<br />
figurer pour faire marcher le serveur Samba), on doit voir notre serveur samba dans le<br />
voisinage réseau.<br />
II.2 Installation et configuration du Serveur Samba :<br />
II.2.1 Installation :<br />
Pour cela, on peut télécharger gratuitement la dernière version de Samba sur www.samba.org<br />
ou l’installer par défaut lors de la mise en place de notre système Linux.<br />
Ensuite après le téléchargement du package samba, on tape la commande (il faut avoir les<br />
droits du root) :<br />
# rpm –ivh samba-*<br />
4 éme année GI - ENSAO 5 Année universitaire : 2003/2004
Installation et configuration d’un serveur Samba<br />
Tous les paramétrages seront effectués dans /etc/samba/smb.conf.<br />
II.2.2 Configuration :<br />
Pour pouvoir éditer, modifier et ajouter des sections, pour définir de nouvelles<br />
ressources à partager, l’utilisateur a besoin des droites administrateur (root).<br />
Paramétrage du fichier smb.conf :<br />
� Sauvegarde du fichier smb.conf par prudence.<br />
� Pour la documentation la plus complète on peut exécuter man smb.conf.<br />
� Pour vérifier la syntaxe du fichier smb.conf et déceler les erreurs on lance l’utilitaire<br />
# testparm.<br />
� A chaque changement de smb.conf, on relance les processus :<br />
# service smb stop<br />
# service smb start ou tout simplement exécuter<br />
# service smb restart.<br />
II.2.3 Créations de comptes Linux – Samba :<br />
Pour cela il faut exécuter trois commandes par chaque compte à créer :<br />
# useradd user1<br />
# passwd user1 (mot de passe = password1)<br />
# smbpasswd -a user1, pour crypter le mot de passe Samba dans<br />
/etc/samba/smbpasswd. (Mot de passe = samba04)<br />
On a ainsi crée trois comptes utilisateurs user1, user2 et user3.<br />
II.3 Edition et configuration du fichier smb.conf :<br />
Le fichier smb.conf est divisé en des sections :<br />
II.3.1 Les paramètres globaux et les différents niveaux de sécurité :<br />
La section [global] du fichier smb.conf va contenir tous les paramètres qui permettront<br />
d'influencer le comportement des deux daemons smbd (fourni les services d’authentification<br />
et d’accès aux ressources) et nmbd (montre les services offerts par samba). Cette section<br />
pourra aussi servir à fixer des valeurs par défaut pour certains paramètres nécessaires à la<br />
configuration de répertoires partagés.<br />
Ainsi on définit le groupe de travail ,le nom netbios de notre serveur Samba,les réseaux<br />
autorisé à accéder au serveur,le fichier journal ou seront enregistrées les connections de<br />
chaque utilisateur au serveur,le mode de sécurité et l’adresse logique du serveur samba, etc.…<br />
4 éme année GI - ENSAO 6 Année universitaire : 2003/2004
Installation et configuration d’un serveur Samba<br />
Les différents niveaux de sécurités possibles seront traités dans la partie niveaux de sécurité<br />
sous Samba.<br />
[global]<br />
#c’est le nom du groupe de travail lus depuis les stations Windows<br />
workgroup = LR<br />
# Le nom netbios de notre serveur samba:Alfa<br />
server string = Samba Server<br />
netbios name = Alfa<br />
# restreindre par sécurité les sous réseaux autorisés à se connecter au serveur<br />
# Ici on se limite aux adresses réseau privé 192.168.0.0<br />
# Et à l'interface "LOOP BACK"<br />
hosts allow = 192.168.0. 127.<br />
# Chaque demande de connexion par Samba, d'une station au serveur Linux, laisse une trace<br />
# stockée dans un fichier journal log. %m, situé dans le répertoire /var/log/samba (%m<br />
#désigne le nom de la station).<br />
log file = /var/log/samba/%m.log<br />
max log size = 0<br />
#sécurisation d’accès au serveur<br />
password server = yes<br />
security = share<br />
encrypt passwords = yes<br />
smb passwd file = /etc/samba/smbpasswd<br />
# indique l'adresse IP du serveur et le masque de sous réseau 255.255.255.0<br />
interfaces = 192.168.0.14/24<br />
II.3.2 Partage du répertoire personnel :<br />
La section [homes] :<br />
Lorsque Samba trouve une section appelée [Home] dans son fichier de configuration, il sait<br />
qu'il va devoir créer un partage particulier pour chaque utilisateur qui se connecte. Cette<br />
section spéciale n'est pas utilisée pour créer un partage quelconque appelé homes, mais bien<br />
un partage portant le nom de l'utilisateur qui se connecte. Les paramètres trouvés dans cette<br />
section vont définir le comportement de ce partage.<br />
4 éme année GI - ENSAO 7 Année universitaire : 2003/2004
Installation et configuration d’un serveur Samba<br />
� On peut aussi définir un répertoire pour chaque utilisateur on spécifiant dans le<br />
chemin d’accès path= %u avec %u va correspondre à un nom d’utilisateur.<br />
[homes]<br />
comment = Répertoire personnel<br />
#visibilité du partage par tous, même les utilisateurs non autorisés<br />
browseable = no<br />
#permet ou non l'écriture sur le répertoire, contraire de read only<br />
writable = yes<br />
valid users = %S<br />
#droits maximum accordés à un fichier créé dans ce partage<br />
create mode = 0700<br />
#droits maximum accordés à un fichier créé dans ce partage<br />
directory mode = 0775<br />
II.3.3 Partage d’une imprimante :<br />
La section [printers] permet après avoir configurées une imprimante sous le serveur samba,<br />
de partager cette imprimante.<br />
comment = All Printers<br />
#chemin du fichier imprimante à partage<br />
path = /var/spool/samba<br />
# Visibilité du partage par tous, même les utilisateurs non autorisés : non<br />
browseable = no<br />
# Partage en accès libre sans authentification<br />
guest ok = no<br />
# permet ou non l'écriture sur le répertoire:non<br />
writable = no<br />
#partage du service d’impression:oui<br />
printable = yes<br />
II.3.4 Partage d’un répertoire public :<br />
D’abord il faut créer le répertoire à partager pour l’ensemble des utilisateurs :<br />
# mkdir /home/tmp<br />
Ensuite il faut l’attribuer les droits appropriés.<br />
# chmod 0777 /home/tmp<br />
Dans ce cas tout le monde à le droit de lire, exécuter et écrire dans le répertoire public.<br />
4 éme année GI - ENSAO 8 Année universitaire : 2003/2004
Installation et configuration d’un serveur Samba<br />
comment = Répertoire publique<br />
path = /home/tmp<br />
# Tous le monde peut y accéder<br />
public = yes<br />
#tous le monde peut y écrire<br />
writable = yes<br />
# Droits maximum accordés à un fichier créé dans ce partage<br />
create mode= 0755<br />
II.3.5 Partage d’un périphérique (CD – ROM) :<br />
[cdrom]<br />
comment=cdrom<br />
#chemin du fichier périphérique à partager<br />
path= /mnt/cdrom<br />
# tous le monde peut y accéder<br />
public= yes<br />
writable= no<br />
II.3.6 Partage d’un répertoire pour un groupe d’utilisateur seulement:<br />
Il s’agit du répertoire GroupeInfo qui sera partagé seulement pour les utilisateurs du groupe<br />
GroupeInfo.<br />
Créons d’abord ce répertoire :<br />
# pwd<br />
/home<br />
# mkdir GroupeInfo<br />
# chmod 1777 GroupeInfo<br />
Ensuite créons le groupe GroupeInfo qui va contenir les utilisateurs user1 et user3, mais pas<br />
user2 qui ne pourra pas accéder à ce répertoire.<br />
# groupadd GroupeInfo<br />
# add user1 –g GroupeInfo<br />
# add user3 -g GroupeInfo<br />
4 éme année GI - ENSAO 9 Année universitaire : 2003/2004
Installation et configuration d’un serveur Samba<br />
La section correspondant à ce partage est la suivante :<br />
[GroupeInfo]<br />
comment = partage pour le groupe GroupeInfo<br />
#chemin du répertoire à partager entre les utilisateurs du groupe GroupeInfo<br />
path=/home/GroupeInfo<br />
#Non accessible par tous les utilisateurs<br />
public=no<br />
# Les utilsateurs autorisés<br />
valid users=@GroupeInfo<br />
# Les utilisateurs autorisés peuvent écrire<br />
writable=yes<br />
# Droits maximum accordés à un fichier créé dans ce partage<br />
create mode=0640<br />
Figure 3 : connexion à partir d’une machine Windows au serveur Samba<br />
4 éme année GI - ENSAO 10 Année universitaire : 2003/2004
Installation et configuration d’un serveur Samba<br />
Figure 4 : après authentification, on voit l’ensemble des répertoires partagés.<br />
Remarques :<br />
� Smbclient est un client pour linux fournissant une interface permettant de transférer<br />
des fichiers et accédée aux imprimantes.<br />
# smbclient –L nom_netbios machine Win .<br />
# smbclient \\\\ nom_netbios_Win\\ ressource –U user2 pour pouvoir accéder à<br />
La ressource .user 2 doit posséder le droit d’accès.(il doit fournir un mot de<br />
Passe).<br />
� SWAT (Samba Web Administrating Tool) est l’utilitaire qui permet d’administrer<br />
samba via une interface web sur un poste client :<br />
http:// 192.168.0.14:901<br />
II.3.7 Le fichier smb.conf configurés :<br />
4 éme année GI - ENSAO 11 Année universitaire : 2003/2004
Installation et configuration d’un serveur Samba<br />
Notre fichier de configuration est le suivant avec les commentaires.<br />
#======================= SectionGlobale===============================<br />
[global]<br />
#c’est le nom du groupe de travail lus depuis les stations Windows<br />
workgroup = LR<br />
# Le nom netbios de notre serveur samba:Alfa<br />
server string = Samba Server<br />
netbios name = Alfa<br />
# restreindre par sécurité les sous réseaux autorisés à se connecter au serveur<br />
# Ici on se limite aux adresses réseau privé 192.168.0.0<br />
# Et à l'interface "loopback"<br />
hosts allow = 192.168.0. 127.<br />
# Chaque demande de connexion par Samba, d'une station au serveur Linux, laisse une trace<br />
# stockée dans un fichier log. %m, situé dans le répertoire /var/log/samba (%m désigne le<br />
nom de la station).<br />
log file = /var/log/samba/%m.log<br />
max log size = 0<br />
#Ajout du serveur au domaine LR<br />
password server = lr-dc<br />
security = domain<br />
encrypt passwords = yes<br />
smb passwd file = /etc/samba/smbpasswd<br />
# indique l'adresse IP de l'adaptateur du serveur et le masque de sous réseau<br />
interfaces = 192.168.0.14/24<br />
#=======================Section Répertoire Personnel======================<br />
[homes]<br />
comment = Répertoire personnel<br />
#visibilité du partage par tous, même les utilisateurs non autorisés<br />
browseable = no<br />
#permet ou non l'écriture sur le répertoire, contraire de read only<br />
writable = yes<br />
valid users = %S<br />
#droits maximum accordés à un fichier créé dans ce partage<br />
create mode = 0700<br />
4 éme année GI - ENSAO 12 Année universitaire : 2003/2004
Installation et configuration d’un serveur Samba<br />
#droits maxi accordés à un fichier créé dans ce partage<br />
directory mode = 0775<br />
#=====================Section Imprimante===============================<br />
[printers]<br />
comment = All Printers<br />
#chemin du fichier imprimante à partage<br />
path = /var/spool/samba<br />
# Visibilité du partage par tous, même les utilisateurs non autorisés :non<br />
browseable = no<br />
# Partage en accès libre sans authentification<br />
guest ok = no<br />
# permet ou non l'écriture sur le répertoire:non<br />
writable = no<br />
#partage du service d’impression:oui<br />
printable = yes<br />
#===================Section public====================================<br />
[public]<br />
comment = Répertoire publique<br />
path = /home/tmp<br />
#tous le monde peut y accéder<br />
public = yes<br />
#tous le monde peut y écrire<br />
writable = yes<br />
# Droits maximum accordés à un fichier créé dans ce partage<br />
create mode= 0755<br />
#=========================Section CD rom=========================<br />
[cdrom]<br />
comment=cdrom<br />
#chemin du fichier périphérique à partager<br />
path= /mnt/cdrom<br />
# tous le monde peut y accéder<br />
public= yes<br />
# tous le monde peut y accéder<br />
writable= no<br />
#===========Section Groupe info =================================<br />
4 éme année GI - ENSAO 13 Année universitaire : 2003/2004
Installation et configuration d’un serveur Samba<br />
[GroupeInfo]<br />
comment = partage pour le groupe GroupeInfo<br />
#chemin du répertoire à partager entre les utilisateurs du groupe GroupeInfo<br />
path=/home/GroupeInfo<br />
#Non accessible par tous les utilisateurs<br />
public=no<br />
#Les utilsateurs autorisés<br />
valid users=@GroupeInfo<br />
#le utilisateurs autorisés peuvent écrire<br />
writable=yes<br />
# Droits maximum accordés à un fichier créé dans ce partage<br />
create mode=0640<br />
III Les niveaux de sécurité sous Samba :<br />
Samba utilise quatre modèles de sécurité, pour définir le comportement utilisé lors d’une<br />
connexion venant d'un client. Les quatre niveaux de sécurités reconnus par Samba porte les<br />
noms suivants : share (partage), user (utilisateur), server (serveur) et domain (domaine). Le<br />
paramètre global security permet de définir le mode à utiliser.<br />
Security = share<br />
Le client doit s'authentifier séparément pour chaque ressource auquel il veut se<br />
connecter. Il va envoyer au moins un mot de passe avec chaque demande de<br />
connexion. Samba utilise le système d’authentification nom utilisateur /mot de passe.<br />
Security = user<br />
Le client envoie tout d'abord une commande contenant un nom d'utilisateur et un mot de<br />
passe. A ce moment de la connexion, le serveur se base pour la procédure d'authentification<br />
uniquement sur ces deux éléments, le mot de passe et le nom d'utilisateur ou le nom de<br />
machine.<br />
Une fois que l'accès a été autorisé au client, alors celui-ci peut se connecter à n'importe<br />
quel ressource sans pour autant devoir renvoyer une nouvelle fois le mot de passe.<br />
Security = server<br />
4 éme année GI - ENSAO 14 Année universitaire : 2003/2004
Installation et configuration d’un serveur Samba<br />
Le client se connecte donc au serveur de la même façon qu'expliqué précédemment (avec un<br />
mot de passe et un nom d'utilisateur). La seule différence réside dans la façon de valider la<br />
paire mot de passe / nom d'utilisateur.<br />
Pour valider la connexion, le serveur Samba va utiliser le nom d'utilisateur et le mot de passe<br />
pour se connecter à un serveur différent, qui est le serveur de mot de passe. Si la connexion<br />
vers se serveur est réussie, alors le client est autorisé à ce connecté à Samba.<br />
Pour définir le serveur de mot de passe, on utilise le paramètre global password server. Ce<br />
paramètre prendra comme valeur soit le nom NetBIOS du serveur, soit son adresse IP.<br />
Security = domain<br />
Très similaire au mode de sécurité serveur. La différence réside dans les méthodes utilisés<br />
pour valider le mot de passe et le nom d'utilisateur avec le serveur de mot de passe. Dans ce<br />
cas, Samba va utiliser le contrôleur de domaine Windows NT comme un serveur de mot de<br />
passe, mais notre serveur samba doit faire partie du domaine NT.<br />
L’avantage majeure d’utiliser ce mode de sécurité par rapport au mode server c’est que ce<br />
dans ce dernier mode la connexion avec le serveur de mot de passe reste ouverte tant que le<br />
client est connecté au serveur samba ce qui peut conduire à un épuisement des ressources sur<br />
le serveur, tandis que dans le mode domain la connexion est fermé une fois l’authentification<br />
à réussi.<br />
IV Serveur Samba comme membre d’un domaine<br />
Comme notre réseau contient déjà un contrôleur de domaine NT, on peut configurer notre<br />
serveur Samba pour qu’il fasse partie du domaine contrôlé par le serveur NT. Donc pour<br />
authentifier un utilisateur se connectant à lui, le serveur samba demandera au contrôleur de<br />
domaine de vérifier pour lui le nom de l’utilisateur et son mot de passe.<br />
IV.1.1 Configuration :<br />
#Ajout du serveur au domaine LR<br />
password server = lr-dc<br />
security = domain<br />
encrypt passwords = yes<br />
smb passwd file = /etc/samba/smbpasswd<br />
IV.1.2 Ajout du serveur Samba dans le domaine NT:<br />
D’abord à l’aide du programme Gestions des serveurs, on ajoute le serveur samba au domaine<br />
et on crée des comptes sur le contrôleur de domaine.<br />
Ensuite, et sur le serveur Samba, on arrête ce dernier (# service smb stop) et on exécute la<br />
commande :<br />
# smbpasswd –j LR -r lr-dc pour obtenir en fin le message :<br />
4 éme année GI - ENSAO 15 Année universitaire : 2003/2004
Installation et configuration d’un serveur Samba<br />
smbpasswd : Joined domain LR<br />
Figure 5 : Notre serveur Samba (nommé Alfa) est membre du domaine NT.<br />
Remarque importante : on a changé en fin le nom netbios du serveur qui est Alfa et non<br />
Serveur Samba lors du test de notre serveur samba comme membre du domaine NT.<br />
4 éme année GI - ENSAO 16 Année universitaire : 2003/2004
Installation et configuration d’un serveur Samba<br />
V Conclusion<br />
Ce mini projet nous a été enrichissant de point de vue :<br />
� Connaissances : savoir installer et configurer un serveur samba et maîtriser un<br />
ensemble de commandes Unix.<br />
� Formation : ouverture sur le domaine d’administration réseau.<br />
4 éme année GI - ENSAO 17 Année universitaire : 2003/2004
Installation et configuration d’un serveur Samba<br />
VI Bibliographie :<br />
� Samba : le guide de l’administrateur. Auteur : Ed Brooksbank ,George Habcrberger et<br />
Lisa Doyle.Edition Osman Eyrolles multimidia<br />
� www.commentcamarche.net<br />
� Cours téléchargés : LINUX Académie de Créteil de Jean Gourdin, Philippe<br />
Chadefaux.<br />
4 éme année GI - ENSAO 18 Année universitaire : 2003/2004