Вы находитесь на странице: 1из 6

Mise en place de Samba sous Linux

Septembre 2015

Introduction
Un des principaux intrts des rseaux est la possibilit de partager des fichiers.

Il existe des protocoles (notamment le FTP, File Transfert Protocol) permettant de transfrer des fichiers
l'aide de commandes travers un rseau htrogne (constitu de machines de types et de systmes
d'exploitation diffrents). Toutefois, ce type de manipulation est assez fastidieux. Ainsi, les rseaux
Microsoft Windows (actuellement trs rpandus dans les rseaux locaux) offrent une manire totalement
transparente de partager des fichiers, en permettant notamment la copie par simple glisser-dposer.
Cependant, ce type de rseau ne permet la base qu'un partage de fichiers entre machines fonctionnant
avec un systme Microsoft Windows ou OS/2. Ainsi, si vous possdez une machine sous linux, il existe une
solution: utiliser Samba. D'autre part, Samba permet de dfinir des niveaux d'accs trs pointus trs
proches de ceux proposs par un serveur Windows NT. Samba est donc une alternative conomique et
robuste un recours un serveur Windows NT.

Qu'est-ce que Samba ?


Samba (www.samba.org) est un serveur de fichiers pour Linux (en licence GNU GPL, donc libre)
compatible avec les rseaux Microsoft Windows. C'est--dire qu'il permet de partager les fichiers et les
imprimantes d'un serveur linux avec les ordinateurs d'un rseau microsoft windows, et de manire
totalement transparente : Linux passe pour un serveur Windows NT aux "yeux" des clients Windows. Les
clients pour Microsoft Windows deviennent alors en quelque sorte des clients Linux...

Comment fonctionne Samba ?


Le protocole de communication permettant cette communication entre Windows et Linux s'appelle SMB
(Server Message Block). Mis au point par Microsoft en 1987, en reprenant un concept mis au point par IBM
en 1985 (NetBIOS), ce protocole s'appuie sur NetBEUI (ainsi que TCP/IP). L'intrt de TCP/IP provient du
fait qu'il a t trs largement adopt. Ainsi TCP/IP est dj implment sur la plupart des systmes
d'exploitation (Unix, Linux, AmigaOS, MacOS, OS/2, ...). selon le schma suivant :

Applications

SMB

NetBIOS IPX/SPX

TCP/IP NetBEUI

Pilote Rseau

Architecture de Samba
Samba est constitu d'un serveur et d'un client, ainsi que de quelques outils permettant de raliser des
services pratiques ou bien de tester la configuration.

Le serveur est constitu de deux applications (appeles dmons) :

smbd, noyau du serveur, fournissant les services d'authentification et d'accs aux ressources
nmbd, permettant de montrer les services offerts par Samba (affichage des serveurs Samba dans
le voisinage rseau, ...)

le client: smbclient est un client pour linux fournissant une interface permettant de transfrer des
fichiers, accder des imprimantes
smbtar: permettant d'effectuer un transfert de ou vers un fichier TAR sous linux
testparm vrifiant la syntaxe du fichier smb.conf, le fichier de configuration de Samba

Installation de Samba
Avant d'installer Samba, il faut bien videmment rcuprer les fichiers RPM ou bien les sources, et ajouter
les protocoles TCP/IP et NetBIOS sur les machines clientes afin de leur permettre d'accder aux services
de Samba.

L'installation (contrairement la configuration) est trs simple mettre en oeuvre. Il suffit dans un premier
temps de rcuprer les fichiers RPM, puis dans un second temps de les installer :

rpm -ivh samba-common-2.0.6-x.i386.rpm


rpm -ivh samba-2.0.6-x.i386.rpm
rpm -ivh samba-client-2.0.6-x.i386.rpm

ou bien de faon plus gnrale :

rpm -ivh samba-*.rpm

Premier dmarrage de Samba


Aprs installation, le serveur de Samba devrait normalement tre apte dmarrer (sans aucun partage de
fichiers ou d'imprimante) en lanant la commande suivante :

/etc/rc.d/init.d/smb start

Le serveur devrait alors renvoyer les lignes suivantes :

Starting SMB services :


Starting NMB services:

La commande suivante permet de contrler que les deux dmons sont correctement lancs

/etc/rc.d/init.d/smb status
smbd (pid 1054) is running...
nmbd (pid 1056) is running...

Il existe une commande permettant de redmarrer Samba :

/etc/rc.d/init.d/smb restart

On lui prfrera les deux commandes suivantes :


/etc/rc.d/init.d/smb stop
/etc/rc.d/init.d/smb start

Configuration de Samba
La configuration de Samba est effectue par l'intermdiaire d'un fichier de configuration unique: smb.conf.
Ce fichier est situe dans le rpertoire /usr/local/samba/lib.

Ce fichier dcrit les ressources que l'on dsire partager, ainsi que les permissions/restrictions qui leur sont
associes. Le fichier smb.conf se dcoupe selon des rubriques (chacune rfrenc par une ligne contenant
le nom de la section entre crochets) comprenant chacune un ensemble de lignes de paramtres du type
attribut = valeur. Une ligne commenant par un # est une ligne de commentaires.

Il existe 3 sections principales :

La section [global] dfinit des paramtre gnraux sur le serveur


La section [homes] dfinit le partage d'un rpertoire personnel
La section [printers] dfinit les imprimantes partages par le serveur

Section [global]
Voici un exemple de section [global] :

[global]

# mme nom de groupe que celui sous Windows (Voisinage rseau)


workgroup = UNDERTAKER
# aucun compte invit
guest account = nobody ;
# accs multi-utilisateur
share modes = yes ;
# Adresse IP de la carte rseau du serveur
# et masque de sous-rseau
interfaces = 10.194.2.100/255.255.255.0
# emplacement du fichier printcap (imprimantes sur le serveur Linux)
printcap = /etc/printcap
# partage de toutes les imprimantes dfinies dans printcap
load printers = yes
# fichier journal de Samba
log level = 1
log file = /var/log/samba/log.%m
# mode de scurit : (user / share / server)
security = user
# restreindre l'accs a certains sous-rseaux
hosts allow = 15.144. 127.
# empecher l'accs certaines machines
hosts allow = 15.144. EXCEPT 155.144.179.2

Partage du rpertoire personnel


La section [homes] permet de dfinir l'accs au rpertoire personnel de chaque utilisateur. Voici un
exemple de section :
[HOMES]

# commentaire visible depuis le voisinage reseau


comment =Rpertoire personnel
# affichage de la ressource pour tous
browseable = no
# possibilit d'crire sur la ressource
writable = yes
create mask = 0750

Partager un rpertoire quelconque


Il est possible de dfinir une accs personnalis n'importe quel rpertoire de la machine en crant une
section portant le nom que le veut donner la ressource. Celui-ci contiendra entre autres un paramtre
path donnant le chemin d'accs la ressource.

Voici un exemple de section personnalise :

[CCM]

# commentaire visible depuis le voisinage reseau


comment = Rpertoire Ca Marche
# chemin d'acces a la ressource
path = /home/ccm
# affichage de la ressource pour tous
browseable = no
# chemin d'acces a la ressource
public = no
# utilisateur autorise a acceder a la ressource
user = jeff,meandus,tittom
# possibilit d'crire sur la ressource
writable = yes
create mask = 0750

Partage d'un lecteur de CD-ROM


Il est ainsi possible de partager un lecteur de CD-ROM (celui-ci devant tre pralablement mont) , en
crant par exemple une section [cd-rom] comme suit :

[CD-ROM]

# commentaire visible depuis le voisinage reseau


comment = lecteur de CD-ROM
# chemin d'accs au lecteur
path = /mnt/cdrom
# accessible tous
public = yes
# impossibilit d'crire sur la ressource
writable = no
create mask = 0750

Test de la configuration
Le programme testparm permet de vrifier la syntaxe du fichier de configuration (smb.conf). Il est conseill
d'excuter cet utilitaire chaque modification manuelle du fichier smb.conf. La syntaxe de testparm est la
suivante :

testparm smb.conf

Si celui-ci ne renvoie aucun message d'erreur, la syntaxe du fichier smb.conf est alors correcte (il ne vrifie
que la syntaxe, non le fonctionnement).
Afin de pouvoir visualiser correctement les rsultats, vous pouvez rediriger la sortie vers un fichier par la
commande

testparm smb.conf > /rpertoires/fichier

Accder une ressource Samba sous Linux


Le client Samba (smbclient) permet de fournir une interface en ligne de commande pour accder aux
ressources Samba partir d'une machine de type Unix.

smbclient permet en premier lieu de vrifier l'existence d'une serveur Samba sur le rseau et de lister les
ressources qu'il partage grce la commande :

smbclient nom_serveur_smb

Une fois les ressources identifies, il est possible d'accder chacune d'entre elles par la commande :

smbclient \\\nom_serveur_smb\\ressource -U nom_utilisateur

Un mot de passe devrait tre demand l'utilisateur. Il suffit ensuite d'envoyer des commandes FTP afin
d'envoyer/recevoir des fichiers ou bien de parcourir les rpertoires de la ressource.
L'accs une imprimante se fait par la commande

smbclient \\\nom_serveur_smb\\ressource -P

l'impression du fichier /usr/local/samba/lib/etc.conf se fait par la commande :

print /usr/local/samba/lib/etc.conf

la visualisation de la queue d'impression :

queue

l'arrt de smbclient :

exit

Envoyer un message
Le client Samba permet aussi d'envoyer des messages sur un client LanManager (pour peu que la
machine distante permette de grer ce type de message, comme par exemple avec WinPopUp). La
syntaxe d'envoi d'un message (de moins de 1600 octets) est la suivante :

smbclient -M nom_de_la_machine

Lorsque vous avez fini d'crire le message, il faut appuyer simultanment sur Ctrl+D.

Monter une ressource Samba partage


Les utilitaires smbmount et smbumount permettent de monter de dmonter des ressources SMB en tant
que systme de fichiers distant (pour peu que le noyau supporte le systme de fichiers SMB).

Pour monter une ressource la syntaxe est la suivante :

smbmount //nom_serveur_smb /point_de_montage

Pour dmonter une ressource la syntaxe est la suivante :

smbumount /point_de_montage

Prcdent
1
2
3

Ralis sous la direction de Jean-Franois PILLOU,


fondateur de CommentCaMarche.net.

Ce document intitul Mise en place de Samba sous Linux issu de CommentCaMarche (www.commentcamarche.net) est mis
disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les
conditions fixes par la licence, tant que cette note apparat clairement.

Вам также может понравиться