Introduction Samba
-
Upload
mohamed-tarsafi -
Category
Documents
-
view
41 -
download
5
Transcript of Introduction Samba
-
Wooshi Crer un serveur Samba 25 janvier 2010
Copyright Wooshi 2009 - 2010 Page | 1
Crer un serveur Samba
1 Prsentation
1.1 Introduction
Vous souhaitez changer des fichiers entre Linux et Windows, mais vous ne savez pas
comment faire ? Ce temps est bientt rvolu !
A travers ce tutoriel, vous allez dcouvrir comment installer et configurer Samba, un serveur
d'change de fichiers open-source sous Linux.
Actuellement en version 3 et cre par Andrew Tridgell en 1991, Samba se base sur
l'utilisation des protocoles SMB et CIFS. Son nom provient justement du protocole SMB,
auquel a t rajout deux lettres, protocole de Microsoft utilis pour l'change de fichiers sur
les rseaux Windows.
Samba utilise le protocole TCP/IP. Bien configur, Samba permet l'hte d'interagir avec un
client ou serveur Windows en agissant en tant que tel. Le point fort de Samba est clairement
l'interoprabilit.
Samba fait partie intgrante de presque toutes les distributions GNU/Linux. Mais pas
seulement, Samba peut aussi fonctionner sur Mac OS X Server par exemple.
2.2 Prrequis
Pour ce tutoriel, nous utiliserons Ubuntu 9.10, la dernire mouture de la distribution prfre
des Linuxiens. Nanmois, comme dis plus haut, Samba est utilisable sur la quasi totalit des
distributions GNU/Linux, ainsi, vous pouvez trs bien en utiliser une autre et suivre ce
tutoriel.
L'installation et la configuration de Samba se feront via le shell, en ligne de commande.
Toutes les commandes vous seront donnes et expliques, mais une petite exprience de
Linux peut tre un avantage pour suivre correctement ce tutoriel.
-
Wooshi Crer un serveur Samba 25 janvier 2010
Copyright Wooshi 2009 - 2010 Page | 2
Toujours en ligne de commande, nous verrons comment se connecter au serveur et partager
les fichiers.
Pour finir, nous nous connecterons au serveur depuis Windows 7, cette fois-ci via l'interface
graphique.
A moins d'utiliser une machine virtuelle, vous aurez besoin de deux ordinateurs pour suivre ce
tutoriel. Un premier sous Windows qui aura le rle du client et un second sous Linux qui aura
le rle du serveur.
Voici un rapide rsum de ce dont vous aurez besoin pour effectuer ce tutoriel :
Un ordinateur sous Windows
Un ordinateur sous Linux
Quelques connaissances de Linux
Un accs Internet et/ou un rseau local
Environ 30mn de libre
2 Configuration du serveur
2.1 Installation
Rendez-vous sur votre poste serveur sous Linux, dmarrez votre distribution favorite, puis
lancez la console.
Premire chose faire, installer Samba. Pour cela, vous devrez utiliser le compte root.
-
Wooshi Crer un serveur Samba 25 janvier 2010
Copyright Wooshi 2009 - 2010 Page | 3
apt-get install est la commande par dfaut sous Ubuntu pour installer les logiciels. Samba
devrait prendre environ 1 mn pour s'installer.
Ceci fait, vous devriez possder un dossier /etc/Samba contenant notamment le fichier de
configuration : smb.conf. Il s'agit du seul et unique fichier de configuration. Tout se fera
partir de celui-ci.
La commande ls vous permet de lister le contenu d'un rpertoire. L'option -l affiche des
informations supplmentaires sur les fichiers/rpertoire, tel que les droits par exemple.
2.2 Cration des utilisateurs et des groupes
Afin que tout le monde ne puisse pas accder votre partage, il va falloir restreindre l'accs
certains utilisateurs ou certains groupes. Pour cela, il faut tout d'abord les crer.
Pour notre exemple, nous allons crer trois groupes, wooshi1, wooshi2 et wooshi3. Chacun de
ses groupes contiendra trois utilisateurs. Dans votre cas, crez uniquement les utilisateurs dont
vous avez besoin.
-
Wooshi Crer un serveur Samba 25 janvier 2010
Copyright Wooshi 2009 - 2010 Page | 4
L'ajout d'un groupe se fait via la commande groupadd suivi du nom du groupe.
L'ajout d'un utilisateur peut se faire de la mme faon grce la commande useradd. Dans
notre cas, nous utilisons plusieurs options. L'option -m permet de crer directement le
rpertoire home du nouvel utilisateur. Ce rpertoire se situe dans /home/.
L'option -g permet l'utilisateur de rejoindre le groupe spcifi en paramtre. Nous obtenons
donc, comme prvu, nos trois groupes contenant chacun trois utilisateurs.
Maintenant que les utilisateurs sont crs, il va falloir les ajouter samba grce la
commande smbpasswd.
L'option -a permet simplement de spcifier le nom de l'utilisateur ajouter. Il vous sera alors
demand de crer un mot de passe, puis de le confirmer. Le mot de passe est obligatoire. Si
vous n'en dfinissez pas un, vous ne pourrez pas vous connecter au serveur par la suite.
Rptez cette opration autant de fois qu'il existe d'utilisateurs.
Afin de ne pas perdre de temps, nous allons crer ds maintenant nos dossiers de partage.
Pour ce tutoriel, nous allons crer 4 dossiers :
public : Il sera accessible par tous.
-
Wooshi Crer un serveur Samba 25 janvier 2010
Copyright Wooshi 2009 - 2010 Page | 5
wooshiA : Sera accessible au groupe wooshiA et au groupe wooshiB en lecture.
wooshiB : Sera accessible uniquement au groupe wooshiB.
wooshiC : Sera accessible au groupe wooshiC et au groupe wooshiB en lecture.
Vous l'aurez probablement compris, la commande mkdir permet de crer un dossier. Dans
notre cas, nous avons cr nos quatre rpertoires de partage dans le dossier /home.
La commande chmod permet d'attribuer des droits un fichier/rpertoire. Nous n'allons pas la
dtailler dans ce tutoriel, retenez simplement que chmod 777 permet tout le monde de lire,
d'crire et d'xcuter des dossiers/fichiers dans ce rpertoire.
2.3 Configuration de smb.conf
Maintenant que nos groupes et utilisateurs sont crs, nous allons pouvoir commencer
configurer notre serveur. Pour cela, il va falloir diter le fichier de configuration de samba :
smb.conf.
Ce fichier dcrit les ressources que l'on dsire partager, ainsi que les permissions/restrictions
qui leur sont associes. Comme vous allez vous en rendre compte, chaque rubrique dbute par
un nom, situ entre deux crochets, qui l'identifie. Chaque rubrique comprend un ensemble de
lignes de paramtres comprenant chacun un attribut et une valeur. Chaque ligne commenant
par un # est un commentaire et n'influe pas sur la configuration de samba.
Si vous tes, comme moi, sur Ubuntu, alors l'diteur de texte vim n'est pas install pas dfaut.
Ce dernier, contrairement vi, propose une coloration syntaxique, ce qui rend la configuration
plus facile et le fichier plus lisible.
Pour installer vim, lancer la commande suivante : apt-get install vim.
Ceci fait, nous pouvons ouvrir le fichier de configuration grce la commande suivante.
-
Wooshi Crer un serveur Samba 25 janvier 2010
Copyright Wooshi 2009 - 2010 Page | 6
Si vous le souhaitez, vous pouvez galement utiliser gedit, install par dfaut sous Ubuntu,
ou tout autre diteur de texte pour diter ce fichier via l'interface graphique.
Le fichier smb.conf est compos de trois sections principales. La premire, [global] dfinit les
paramtres gnraux du serveur.
Voici une liste des principaux paramtres et de leurs utilits :
workgroup : Dfinit le nom du groupe de travail ou du domaine.
server string : Description du serveur.
netbios name : Nom netbios de la machine.
J'ai oubli de le prciser, mais avec vim, tout se fait au clavier. La souris vous sera donc
inutile pour cette partie.
Voici trs rapidement quelques commandes qui pourront vous servir :
i : Entrer en mode insertion.
echap : Quitter le mode insertion.
/ : Permet d'effectuer une recherche du mot spcifi. Appuyez sur Entre
pour lancer la recherche puis sur n pour trouver l'occurrence suivante.
:w : Sauvegarder le fichier.
:q : Quitter le fichier. Rajoutez un ! derrire cette commande pour quitter sans
sauvegarder.
Maintenant que vous connaissez les bases de vim, vous pouvez configurer les quelques
options cites ci-dessus.
Si vous ne trouvez pas une option, vous pouvez l'crire en bas du fichier. Si deux options
identiques sont trouves, c'est la dernire qui sera prise en compte.
Deuxime section principale du fichier smb.conf, la section [homes]. Celle-ci permet de
dfinir les partages des rpertoires personnels.
Tout d'abord, configurons le partage de notre dossier public. Pour rappel, celui-ci se situe
l'emplacement /home/public et doit tre accessible de tous.
-
Wooshi Crer un serveur Samba 25 janvier 2010
Copyright Wooshi 2009 - 2010 Page | 7
Le nom du partage est situ en premire ligne et entre crochet. C'est ce nom qui va identifier
l'ensemble des proprits se situant en dessous.
path : Indique le chemin vers le rpertoire partag.
comment : Description du partage.
public = yes : Autorise l'accs tout le monde.
writable = yes : Autoris l'criture tout le monde.
Vous venez de crer votre premier dossier partag ! Celui-ci sera accessible par tous aussi
bien en criture qu'en lecture. Les fichiers seront stocks dans le rpertoire /home/public.
Passons aux partages des rpertoires de groupe. Nous allons commener avec le partage
wooshiA. Ce dernier, situ dans /home/wooshiA, doit tre accessible par le groupe wooshiA
et en lecture par le groupe wooshiB.
path : Chemin vers le rpertoire partag.
comment : Description du partage.
valid users : Indique l'ensemble des groupes qui auront accs ce rpertoire. Chaque
nom de groupe doit tre prcd d'un arobase. Une virgule doit sparer chaque groupe.
write list : Indique le nom des groupes qui auront un accs en criture. La syntaxe est
la mme que celle utilise pour valid users.
read list : Indique le nom des groupes qui auront un accs en criture. Un accs en
criture entrainant automatiquement un accs en lecture, il n'est pas ncessaire de
spcifier nouveau le groupe wooshiA pour ce paramtre.
Nous allons devoir refaire cette mme tape pour les groupes wooshiB et wooshiC.
-
Wooshi Crer un serveur Samba 25 janvier 2010
Copyright Wooshi 2009 - 2010 Page | 8
Les dossiers de partages de ces deux groupes se trouvent respectivement dans
/home/wooshiB et /home/wooshiC. Le partage wooshiB est accessible uniquement au groupe
wooshiB tandis que le partage wooshiC est accessible au groupe wooshiB en lecture.
Voil ce que vous devez obtenir :
Les options write list et read list ne sont pas prsentes pour le partage wooshiB. Ce n'est pas
une erreur de ma part, ces options sont facultatives. Puisque le groupe wooshiB est le seul
avoir accs ce partage, il n'est pas ncessaire de spcifier ces options et le groupe se verra
automatiquement attribuer un accs en lecture et criture.
La configuration du partage wooshiC est identique celle du partage wooshiA, ceci prs
que le chemin du rpertoire de partage change.
Le fichier smb.conf possde une troisime section, [printers] qui permet de dfinir le partage
des imprimantes via le serveur samba. Cette section n'est pas couverte dans ce tutoriel.
Vos partages tant configur, vous pouvez enregistrer votre fichier et le quitter : :wq
2.4 Tester la configuration
Avant de dmarrer le serveur, nous allons procder une examination de la configuration
grce la commande testparm. Cette dernire vrifie la syntaxe de votre fichier mais ne
garantie pas le fonctionnement du serveur.
Si vous n'arrivez pas lancer cette commande, certains paquets doivent tre manquants.
Lancer alors la commande apt-get install samba-common-bin, puis ressayez.
-
Wooshi Crer un serveur Samba 25 janvier 2010
Copyright Wooshi 2009 - 2010 Page | 9
Chaque section de votre fichier de configuration va alors tre inspecte. Si vous obtenez un
aperu tel que celui-ci ci-dessus, alors votre configuration est correcte.
En revanche, si vous obtenez un message du type "Unknow parameter encountered", alors il y
a un problme et il va falloir diter nouveau votre fichier de configuration jusqu' ce que le
test soit positif.
Ceci fait, nous allons pouvoir dmarrer les services et nous connecter au serveur. Pour cela,
rendez-vous dans la troisime partie de ce tutoriel.
3 Connexion au serveur
3.1 Dmarrage des services
Sous Ubuntu, les services utiliss par le serveur samba sont lanc par dfaut. En revanche, ce
n'est pas le cas pour toutes les distributions.
La plupart du temps, il faut utiliser la commande service smb start|stop pour dmarrer ou
arrter le service.
Ceci fait, vous devriez tre capable d'accder aux partages. Dans un premier temps, nous
restons sous Linux pour accder aux dossiers partags via le terminal, puis nous passerons
ensuite sous Windows pour y accder via l'interface graphique.
3.1 Accs depuis un client Linux
Avant d'accder une ressource et afin de vrifier que vos rpertoires sont correctements
partags, vous pouvez utiliser la commande smbclient de la manire suivante :
-
Wooshi Crer un serveur Samba 25 janvier 2010
Copyright Wooshi 2009 - 2010 Page | 10
L'option -L vous permet de spcifier l'hte en renseignant son adresse IP. Dans notre cas,
nous utilisons l'adresse 127.0.0.1 qui correspond l'adresse de loopback puisque nous
sommes toujours sur le serveur. A vous d'adapter en fonction du poste sur lequel vous tes.
Pour connatre l'adresse ip du serveur, vous pouvez utiliser la commande ifconfig en tant que
root sur ledit serveur.
Comme vous le voyez sur le screenshot ci-dessus, nos quatre partages (public, wooshiA,
wooshiB et wooshiC) sont effectivement pris en compte. Nous pouvons donc nous y
connecter.
Pour se faire, nous allons nouveau utiliser la commande smbclient.
La commande est suivie de l'adresse IP du serveur puis du partage auquel on veut accder.
Dans notre cas, il s'agit de wooshiA. L'option -U permet de spcifier l'utilisateur qui va se
connecter au partage.
Le console nous demande le mot de passe de l'utilisateur et autorise l'accs si ce dernier est
correct et si l'utilisateur possde les droits pour accder ce partage.
-
Wooshi Crer un serveur Samba 25 janvier 2010
Copyright Wooshi 2009 - 2010 Page | 11
Mais que se passerait-il s'il l'on essaye de se connecter avec l'utilisateur wC1 sur le partage
wooshiA ?
Evidemment, l'accs est refus. L'utilisateur wC1 appartient au groupe wooshiC et n'a donc
pas le droit d'accder d'autres partages que celui de son groupe.
A partir du moment ou vous tes connect au serveur, vous allez devoir utiliser les
commandes ftp pour naviguer dans les rpertoires et rcuprer les fichiers.
Pour rcuprer un fichier, vous pouvez utiliser la commande get suivi du nom du fichier.
Celui-ci sera alors transfr sur la machine local dans le rpertoire local en cours.
Voyons comment rcuprer le fichier test dispos dans le partage wooshiB.
1. Connexion au partage grce smbclient 2. Rcupration du fichier : get test 3. On quitte le partage : exit 4. pwd permet de connatre le rpertoire dans lequel vous vous trouvez 5. Affichage des fichiers prsents dans le repertoire grce ls -l. Le fichier test est bien
prsent.
C'est assez rapide, mais il y a encore plus efficace. Nous allons monter le partage, c'est--dire
que vous allez crer un rpertoire sur votre machine locale partir duquel vous pourrez
accder au partage sans passer par smbclient.
-
Wooshi Crer un serveur Samba 25 janvier 2010
Copyright Wooshi 2009 - 2010 Page | 12
Pour monter le partage, nous allons utiliser la commande smbmount. Celle-ci ncessite le
package smbfs que vous ne possdez pas forcment. Dnas le doute, lancez la commande apt-
get install smbfs.
Avant de monter votre partage, crer un rpertoire qui vous servira de point de montage.
1. Crer un rpertoire grce la commande mkdir 2. Monter le partage avec smbmount. Le premier paramtre dsigne le partage que vous
souhaitez monter. Le deuxime est le rpertoire qui va accueillir ce partage. L'option -
o username vous permet de spcifier l'utilisateur qui va monter ce partage.
3. Affichage du contenu du rpertoire rcemment cr. Le fichier test est prsent, le rpertoire est donc correctement mont.
Pour pouvez dornavant utilser les commandes Linux de base pour agir sur le fichier.
Pour dmonter le partage, utilisez la commande umount suivi du nom rpertoire.
3.3 Accs depuis un client Windows
Le but premier d'un serveur Samba est d'changer des fichiers entre un serveur Linux et un
client Windows. Dans la partie prcdente, nous vous apprenions comment accder aux
partages depuis un client Linux, mais ce cas n'est que peu utilis.
Nanmoins, il peut tre necssaire de connatre les commandes utilises afin de rsoudre
certains problmes.
Cette fois-ci, nous allons utiliser Windows 7, via l'interface graphique, pour accder au
partage. Vous allez voir, c'est d'u une simplicit enfantine.
-
Wooshi Crer un serveur Samba 25 janvier 2010
Copyright Wooshi 2009 - 2010 Page | 13
Tout d'abord, lancez la commande Excuter : Dmarrage > Excuter, ou Windows + R.
Ensuite, saisissez l'adresse IP du serveur prcde de 2 backslahs, puis appuyez sur Entre.
Si vous avez entr la bonne adresse IP, alors vous devriez d'ores et dj aperevoir les
diffrents partages.
Le partage public est accessible tous, vous ne devriez donc avoir aucun mal y accder,
lire son contenu et dposer des fichiers.
En revanche, les partages wooshiA, wooshiB et wooshiC sont protgs. Que se passe-t-il
lorsque le souhaite y accder ?
-
Wooshi Crer un serveur Samba 25 janvier 2010
Copyright Wooshi 2009 - 2010 Page | 14
Un nom d'utilisateur et un mot de passe nous sont demands. C'est logique, nous sommes
certes connect au serveur, mais nous ne sommes pas authentifi pour accder aux partages
non public.
Les identifiants seront les mmes que ceux utiliss sous Linux, il faudra simplement faire
prcder le nom de compte par le nom du serveur afin de se situer sur le bon domaine.
N'oubliez pas, les accs sont toujours restreints. C'est--dire qu'un utilisateur du groupe
wooshiA ne pourra toujours pas accder au partage wooshiB par exemple.
Vous voil dsormais connect aux partages et capable d'changer vos fichiers entre vos deux
postes.
3.4 Conclusion
Configurer un serveur de partage entre deux systmes d'exploitations diffrents peut paratre
compliqu premier abord. Samba prouve le contraire et permet de s'changer des donnes
entre ces deux systmes d'une manire trs simpliste et efficace.
Rappelons rapidement les grandes tapes de ce tutoriel afin de crer un serveur de partage
Samba.
Installer Samba
Crer des utilisateurs et groupes puis les ajouter au serveur Samba
Configurer le fichier smb.conf en spcifiant les diffrents partages et les droits d'accs
Accder au partage via smbclient ou smbmount sous Linux
Accder au partage via la commande excuter sous Windows.
Dans notre cas, nous avons lgrement compliqu le partage en crant plusieurs utilisateurs et
en associant des droits bien prcis chacun d'entre eux.
Dans la plupart des cas, un simple dossier public vous suffira et la configuration du partage
pourra tre effective en moins de 5 mn.
Si vous tes un novice du monde Linux, ce tutoriel vous a probablement paru assez complexe
cause des nombreuses commandes utilises. Sachez qu'un tutoriel ddi aux commandes de
base devrait voir le jour prochainement.
En attendant, exercez-vous sur votre nouveau serveur Samba !