11.12.2012 Views

UNIVERSITE MOHAMED I – OUJDA ECOLE ... - MultiMania

UNIVERSITE MOHAMED I – OUJDA ECOLE ... - MultiMania

UNIVERSITE MOHAMED I – OUJDA ECOLE ... - MultiMania

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!