14
Wooshi Créer un serveur Samba 25 janvier 2010 Copyright Wooshi 2009 - 2010 Page | 1 Créer un serveur Samba 1 Présentation 1.1 Introduction Vous souhaitez échanger des fichiers entre Linux et Windows, mais vous ne savez pas comment faire ? Ce temps est bientôt révolu ! A travers ce tutoriel, vous allez découvrir comment installer et configurer Samba, un serveur d'échange de fichiers open-source sous Linux. Actuellement en version 3 et crée 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 réseaux Windows. Samba utilise le protocole TCP/IP. Bien configuré, Samba permet à l'hôte d'interagir avec un client ou serveur Windows en agissant en tant que tel. Le point fort de Samba est clairement l'interopérabilité. Samba fait partie intégrante de presque toutes les distributions GNU/Linux. Mais pas seulement, Samba peut aussi fonctionner sur Mac OS X Server par exemple. 2.2 Prérequis Pour ce tutoriel, nous utiliserons Ubuntu 9.10, la dernière mouture de la distribution préférée des Linuxiens. Néanmois, comme dis plus haut, Samba est utilisable sur la quasi totalité des distributions GNU/Linux, ainsi, vous pouvez très 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 données et expliquées, mais une petite expérience de Linux peut être un avantage pour suivre correctement ce tutoriel.

Introduction Samba

Embed Size (px)

Citation preview

  • 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 !