Vous êtes sur la page 1sur 14

Wooshi

Crer un serveur Samba

25 janvier 2010

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.

Copyright Wooshi 2009 - 2010

Page | 1

Wooshi

Crer un serveur Samba

25 janvier 2010

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.
Copyright Wooshi 2009 - 2010 Page | 2

Wooshi

Crer un serveur Samba

25 janvier 2010

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.

Copyright Wooshi 2009 - 2010

Page | 3

Wooshi

Crer un serveur Samba

25 janvier 2010

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.


Page | 4

Copyright Wooshi 2009 - 2010

Wooshi

Crer un serveur Samba

25 janvier 2010

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.

Copyright Wooshi 2009 - 2010

Page | 5

Wooshi

Crer un serveur Samba

25 janvier 2010

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. /<recherche> : 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.
Copyright Wooshi 2009 - 2010 Page | 6

Wooshi

Crer un serveur Samba

25 janvier 2010

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.

Copyright Wooshi 2009 - 2010

Page | 7

Wooshi

Crer un serveur Samba

25 janvier 2010

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.

Copyright Wooshi 2009 - 2010

Page | 8

Wooshi

Crer un serveur Samba

25 janvier 2010

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 :

Copyright Wooshi 2009 - 2010

Page | 9

Wooshi

Crer un serveur Samba

25 janvier 2010

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.

Copyright Wooshi 2009 - 2010

Page | 10

Wooshi

Crer un serveur Samba

25 janvier 2010

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. 2. 3. 4. 5.

Connexion au partage grce smbclient Rcupration du fichier : get test On quitte le partage : exit pwd permet de connatre le rpertoire dans lequel vous vous trouvez 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.

Copyright Wooshi 2009 - 2010

Page | 11

Wooshi

Crer un serveur Samba

25 janvier 2010

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 aptget 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.

Copyright Wooshi 2009 - 2010

Page | 12

Wooshi

Crer un serveur Samba

25 janvier 2010

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 ?

Copyright Wooshi 2009 - 2010

Page | 13

Wooshi

Crer un serveur Samba

25 janvier 2010

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 !

Copyright Wooshi 2009 - 2010

Page | 14