Vous êtes sur la page 1sur 37

SaMBa

Introduction

SaMBa est un ensemble de programmes qui permettent de

connecter un serveur LINUX, des stations fonctionnant sous des


systmes dexploitation divers.

Le serveur Linux est en mesure de se conduire comme un serveur

de fichiers capables d'offrir les services habituels sur un rseau :


partage de fichiers et de rpertoires, partage d'imprimantes,

respect des comptes utilisateurs


gestion des permissions d'accs

Introduction

Le protocole de communication sous-jacent qui

permet cette communication Linux-Dos/Win s'appuie


sur NetBios et s'appelle smb=Server Message Block.

Le projet Samba a t initi ds 1991 puis dvelopp par un australien, Andrew Tridgell.

Celui-ci lui donna ce nom, en choisissant un nom


voisin de SMB en interrogeant un dictionnaire Unix, par la commande grep : grep "^s.*m.*b"

Dfinitions

Le serveur offre ses ressources (systme de fichiers, imprimantes ...) aux clients Windows qui s'y connecteront sous un compte cr par root, aprs une authentification par mot de passe. Le travail est partag par deux "deamons" :

smbd pour le service serveur nmbd pour le service de rsolution des noms Netbios. Du ct client, le protocole SMB fonctionne au-dessus de plusieurs protocoles. Il ncessite NetBIOS au dessus de TCP/IP (par contre NetBEUI

n'est pas utile)

Dfinitions

Chaque demande de connexion par Samba, d'une

station au serveur Linux, laisse une trace stocke


dans un fichier log.%m, situ dans le rpertoire /var/log/samba ( %m dsigne le nom de la station). Toute connexion pourra donc tre identifie de manire prcise puis examine sur une ligne de ce fichier : nom d'utilisateur, nom de la machine, date, heure de dbut, heure de fin, services utiliss...
5

Configuration Samba

L'ensemble des directives de configuration de Samba sont

contenues dans

le fichier smb.conf.

Ce fichier est un fichier texte qu'il est possible de modifier avec

n'importe quel diteur de texte Unix.

Faire une sauvegarde de ce fichier par prudence (cp smb.conf smb.old) puis l'diter lancer l'utilitaire testparm permet de tester la syntaxe du fichier de configuration et de dceler les erreurs. Il est recommand de le lancer systmatiquement lors de la mise au point de smb.conf. Il diagnostique des erreurs de syntaxe et des incohrences dans les choix des clauses.

Configuration Samba

Ce fichier est organis en sections

Il est organis sous forme de sections qui contiennent des


paires de directive/valeur.

Les 2 principales sections, prdfinies sont [global] et [homes].

Exemple : [global] server string = Serveur BTS

Vrifier et activer les changements

Important :

Ne pas oublier chaque changement effectu


dans smb.conf relancer les processus ! *

Si les processus "dmons" sont actifs, il faut les


arrter puis les relancer par :

# conseill plutt que la commande globale smb restart /etc/rc.d/init.d/smb stop /etc/rc.d/init.d/smb start

Swat et webmin

L'installation via l'interface graphique est la plus simple: Deux alternatives existent l'dition du fichier smb.conf : - Swat ; - Webmin. SWAT est un outil dadministration graphique de samba. Ladministration se fait par lintermdiaire dun navigateur Web, et permet : de modifier le fichier smb.conf dafficher le status du serveur de bnficier dune aide en ligne de rajouter facilement des imprimantes ainsi que des repertoires partags

Swat et Webmin

10

Swat

11

Linstallation est la suivante: Dans le fichier /etc/service rajouter en bas dans la section local services la ligne suivante: swat 901/tcp Dans le fichier /etc/inetd.conf, rajouter la fin: swat stream tcp nowait.400 root /usr/sbin/swat swat Relancer le dmon inetd en tapant: kill -HUP < /var/run/inetd.pid Ouvrir votre navigateur web sur ladresse : (http://127.0.0.1:901) Rentrer avec le nom et le mot de pass root.

Configuration de Samba

Le fichier /etc/samba/smb.conf. est incontournable pour quelques

ajustements du paramtrage du serveur Samba:


: ditez le fichier /etc/smb.conf testparm pour tester que ce ficher ne comporte pas d'erreur de syntaxe, Voici les paramtres essentiels pour un serveur de fichiers classique :
workgroup: NOM_DOMAINE netbios name: NOM_MACHINE server string: Mon serveur samba

security: USER
guest account: nobody

12

Configuration de SAMBA

Ensuite, on peut facilement crer des partages de fichiers, qui

apparaitront dans le voisinage rseau des machines Windows.

Pour accder ces partages, il faut entrer un login et password. Le login doit tre prsent en tant qu'utilisateur UNIX sur le serveur

SAMBA et prsent dans la base de gestion des utilisateurs Samba


(smbpasswd).

Pour mettre un utilisateur dans la base de gestion des utilisateurs

Samba, on utilisera la commande suivante :

# smbpasswd -a user

13

le fichier smb.conf

Parmi les sections du fichier smb.conf, certaines ont une

signification particulire :

- [global] : contient l'ensemble des directives de configuration gnrale du serveur ainsi que les paramtres par dfaut des partages ;

- [homes] : permet de partager simplement le rpertoire de chacun des utilisateurs ;

- [printers] : pour fournir les paramtres par dfaut de toutes les imprimantes partages du systme.

Les autres sections reprsentent chacune un partage.

14

Exemple

15

[global] # Paramtres gnraux workgroup = LUKE load printers = yes security = user # Valeur par dfaut pour les partages writable = yes [homes] comment = Espaces personnels browseable = no [printers] # Valeurs par dfaut pour toutes les imprimantes writable = no printable = yes [partage] comment = Espace commun path = /home/shared

Variables de substitution

Beaucoup de valeurs du fichier smb.conf peuvent contenir une ou plusieurs variables de substitution. Par exemple : log file = /var/log/samba/%m.log Voici la liste des variables les plus utiles : %u nom de l'utilisateur %g groupe de l'utilisateur %S nom du partage %m nom de la machine cliente %L nom du serveur %M nom Internet de la machine cliente %I adresse IP de la machine cliente %$(var) valeur de la variable d'environnement var Autre exemple : [groupe] path = /home/groupes/%g

16

Les paramtres

Paramtres gnraux

Scurit:

17

Les paramtres

Partage dun disque

18

Les paramtrages essentiels


Globals settings # Nom de domaine ou de workgroup workgroup = BTS # La bannire (par dfaut %h = hostname) server string = Serveur Samba %v # Nom de la machine (par dfaut le hostname du serveur) netbios name = Xena Pour le reste on garde les valeurs par dfaut, entre autres : # 3. Logging Options log file = /var/log/samba/%m.log max log size = 50 # Important le niveau de scurit security = user encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd

19

Share Definitions
[homes] comment = Home Directories browseable = no writable = yes pour ce qui est d'un dossier partag dfini via la swat, il apparat comme ceci : [Mdia] path = /etc/media comment = Vidos et Musique

20

Les ajustements indispensables


Les ajustements ne concernent que les "share settings". Commenons par les "homes", il faut ajouter : [homes]

path = /home/%U/Documents comment = Home Directories browseable = no writable = yes create mask = 0700 directory mask = 0700
21

Les ajustements indispensables

[BTS]
path = /mnt/famille comment = Photos entre autres public = no writable = yes create mask = 0660 directory mask = 0770

[Mdia]
path = /mnt/media comment = Vidos et Musique public = no writable = yes create mask = 0660 directory mask = 0770

22

Cration des utilisateurs Samba

Avant de lancer le serveur, il faut lui indiquer quels sont les

utilisateurs de ce service.

Cette cration se fait l'aide de la commande smbpasswd. changement de mot de passe lance par root elle permet, avec l'option -a, d'inscrire un nouvel utilisateur samba avec son mot de passe

(si ce couple 'login', 'password' n'est pas dj connu de la machine, il est alors inscrit dans le fichier /etc/samba/smbpasswd ).

23

Cration des utilisateurs Samba

24

Lancement du serveur Samba

Le serveur samba configur,

Les utilisateurs crs,


Il faut le serveur dmarrer par : # /etc/init.d/smb start Nota : si vous faites des modifications vos paramtrages (smb.conf), n'oubliez pas de relancer votre serveur avec :

# /etc/init.d/smb restart
Pour stopper le serveur, il suffit de remplacer start par stop.

25

Rendre un rpertoire public

[public] # Ce rpertoire aura donc pour nom de partage " public "([public]), # la valeur du champ comment apparaitra dans le voisinage rseau

# Le rpertoire partager est /home/samba comment =Rpertoire public path = /home/tmp

# il pourra tre accessible par tous les utilisateurs public = yes

# il est accessible en criture writeable = yes # les fichiers crs sont en lecture seule, sauf pour le propritaire create mode = 0755

26

Partager un rpertoire pour un groupe


[stagiaire] # Ce rpertoire aura donc pour nom de partage stagiaire comment =Partage pour le groupe stagiaire exclusivement # Le rpertoire partager est /home/partage path = /home/rep-stagiaire # il ne pourra pas tre accessible par tous les utilisateurs public = no # liste des utilisateurs autoriss (avec ou sans virgule) valid users = stage1 stage2 stage3 ... # ou mieux, indication du groupe autoris valid users = @stagiaire jean # on pourra y crire (bien sr par ceux qui peuvent y accder..) writeable = yes # les permissions par dfaut des fichiers crs (le mot mode peut tre remplac par mask create mode = 0640

27

Partager des applications

28

[logiciels] comment = Applications partages sur le serveur # root doit crer ce rpertoire et dlguer sa gestion un groupe d'utilisateurs. # Dans la suite, ce groupe sera appel admin (contenant au moins l'utilisateur admin/admin) des droits de proprit et permissions path = /appli public = yes # le rp. ne doit pas tre en lecture seule pour tous writeable =no # le groupe admin peut seul installer les applications write list = @admin

Configurer un serveur dimpression

Aprs avoir install votre imprimante, A l'aide swat ou manuellement ajouter : printing = cups [imprim]

comment = imprimante du reseau dgcolpart path = /tmp guest ok = Yes printable = Yes print command = lpr -h -P'%p' %s printer name = imprim

Ne pas oublier de redmarrer samba.

Ensuite, votre imprimante est disponible depuis Windows mais vous devez installer tout de mme installer les pilotes de l'imprimante sur chaque client Windows

29

Joindre les clients au serveur Samba

Pour un client Windows XP PRO

spcifiez juste que la machine appartient au domaine


NOM_DOMAINE

N'oubliez pas non plus de configurer votre adresse IP, masque,

passerelle et serveurs DNS, WINS.


Ensuite, connectez vous en tant qu'Administrateur. Modifiez la cl de registre suivante: [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Netlo gon\Parameters] "requiresignorseal"= dword:00000000

30

31

Ajouter des clients

Une procdure facultative est d'ajouter manuellement les

utilisateurs Samba sur la machine Windows.

Cela permet de contrler plus finement le groupe des utilisateurs (administrateur, utilisateur avec/sans pouvoir,

invits,...)

ouvrir Gestion de l'ordinateur depuis le menu Administration de l'ordinateur (dans le panneau de configuration) :

32

33

Ajouter des clients

Puis cliquer sur le bouton

"Ajouter..."
Si vous voulez savoir quels utilisateurs vous pouvez ajouter, cliquez sur "Parcourir...", vous obtiendrez ceci :

34

Ajouter des clients

En entrant un login

Samba, vous pouvez


lancer une recherche sur le domaine et obtenir les utilisateurs prsents sur le serveur Samba, (une croix rouge indique les utilisateurs non valides,

c'est--dire sans mot de


passe Samba) :

35

Ajouter des clients

ajouter tous les

utilisateurs que vous


dsirez pour pouvoir leur spcifier des droits spcifiques. Ensuite, rebooter la machine

36

37