Publié le 3 février 2016 - par

Partager un répertoire sous Jessie avec Samba

raspi_partage_samba_250pxQui n’a pas pesté au moment de transférer des fichiers entre sa machine de bureau et un Raspberry Pi connecté uniquement à une prise Ethernet, voire une clé Wi-Fi USB ?
Que celui qui n’a jamais râlé me jette la première framboise ! Il est possible de créer un partage entre le Raspberry Pi et une machine Linux ou Windows rapidement, ce qui facilite le transfert de fichiers multimédia, de programmes…

Partage de répertoire avec Samba sous Jessie

On se fait une petite Samba ?

raspberry-pi-samba-shareC’est vrai que début février c’est l’époque des carnavals et que quand on parle de Samba, on pense plutôt à des cariocas emplumées dansant dans les rues de Rio. Eh bien au risque de vous décevoir ce n’est pas le sujet de cet article…
Samba est un logiciel d’interopérabilité qui permet à des ordinateurs Unix/Linux de mettre à disposition des imprimantes et des fichiers dans des réseaux Windows, en mettant en œuvre le protocole SMB/CIFS de Microsoft. (Source Wikipedia)

Attention, la mise en place de ce partage avec le mode opératoire décrit ne procure aucune sécurité. Ne l’utilisez que pour connecter un Raspberry Pi en interne à votre réseau local, surtout pas sur Internet ! Imaginez que des hackers russes ou chinois viennent dérober des infos sur votre RasPi 🙂

shared-folder

Rappel sur les priorités

Samba permet différents types d’autorisations. Essayez de vous rappeler ces deux petites choses à propos des autorisations UNIX/Linux et Samba.

  • Les autorisations système de Linux (rwx) sont prioritaires sur les autorisations Samba. Par exemple, si un répertoire n’a pas la permission d’écriture sous Linux, le fait d’ajouter writeable = yes dans le fichier de configuration de samba (smb.conf) ne permettra pas d’écrire dans un répertoire partagé avec Samba.
  • L’autorisation du système de fichiers est prioritaire par rapport à l’autorisation Samba. Par exemple, si un système de fichiers est monté en lecture seule, le fait d’ajouter
    writeable = yes dans le fichier de configuration de samba (smb.conf) ne permettra pas d’écrire dans un répertoire partagé avec Samba.

Gardez ces priorités en tête de nombreux RasPiNautes qui installent Samba râlent parce que « ça marche pas ! » et ils oublient les vérifications élémentaires.

raspi_partage_samba_FB

Installer Samba

Comme toujours avant une installation, pensez à faire une mise à jour du système. Ça ne peut pas faire de mal.

sudo apt-get update
sudo apt-get upgrade

On peut maintenant passer à l’installation de Samba :

sudo apt-get install samba samba-common-bin

Par sécurité, faites une copie de sauvegarde du fichier de configuration par défaut de Samba (on ne sait jamais..) :

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.org

Bon, c’est mon habitude de garder les fichiers originaux avec une extension .org mais rien ne vous empêche de les appeler .old, .back ou… tout ce que vous voulez

samba_linux_windoq

Allez on va aller tartouiller dans le fichier de configuration de Samba : Trouvez les lignes et décommentez les (enlevez les # du début de ligne des deux dernières lignes uniquement)

# The specific set of interfaces / networks to bind to
# This can be either the interface name or an IP address/netmask;
# interface names are normally preferred
interfaces = 127.0.0.0/8 eth0
bind interfaces only = yes

Samba sera lié (bind) à la machine locale (127.0.0.0) et à l’interface eth0 (le port Ethernet du Raspberry Pi).

Créez le dossier que vous souhaitez partager (s’il n’existe pas). J’ai choisi /home/pi/partage.

Maintenant rendez vous à la fin du fichier… oui, tout en bas et ajoutez :

[Partage]
comment = Partage Samba sur Raspberry Pi
path = /home/pi/partage
writable = yes
guest ok = yes
guest only = yes
create mode = 0777
directory mode = 0777
share modes = yes 
  • comment : c’est une brève description du dossier de partage. Adaptez-le à vos besoins.
  • path : c’est l’emplacement du dossier à partager. Cet exemple utilise /home/pi/partage
  • writable : les utilisateurs pourront écrire
  • guest ok : permet aux clients de se connecter au répertoire partagé sans fournir de mot de passe.
  • 0777 quand un fichier/dossier est créé, les droits appliqués permettent à tout un chacun de lire ou d’écrire. (avec le mask vous aurez rwxrw-rw- sur un fichier créé et rwxrwxrwx sur un répertoire créé). Si ça ne vous dit rien lisez cet article

Redémarrez Samba sous (Jessie):

 sudo systemctl restart smbd.service

Trouver le partage sur la machine Windows

Dans l’explorateur

samba_reseau_windowsOuvrez un Explorateur de fichiers, dans la rubrique Réseaux (à gauche) vous voyez apparaitre un ordinateur nommé… RASPBERRYPI. Cliquez sur ce nom et le partage est visible dans la fenêtre de droite.

Ouvrez le partage et… testez !

RaspberryPiSamba

Pour les tests j’ai créé des fichiers depuis la machine Windows et envoyé ensuite BigBuckBunny (le film) sur le RasPi :

transfert_samba_600px

Dans la fenêtre « Exécuter »

On peut aussi lancer la connexion depuis la fenêtre Exécuter :

samba_executerSaisissez l’adresse du RasPi suivi du nom de partage avec la syntaxe ci-dessus, vous aboutirez sur une fenêtre donnant accès au partage.

Conclusion

Avec ce partage Samba vite mis en place sur le Raspberry Pi, vous ouvrez un accès bien pratique pour faire des tests ou des transferts de données.

On peut certainement faire mieux et plus simple mais… ça marche. Si vous avez mieux, les commentaires vous tendent les bras.

A nouveau, n’utilisez ce tutoriel que si votre Raspberry Pi n’est pas connecté à Internet.

Sources

Share Button

A propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. .

44 réflexions au sujet de « Partager un répertoire sous Jessie avec Samba »

    1. François MOCQ Auteur de l’article

      Bonjour jparm
      uniquement pour le redémarrage de samba…
      mais pour que l’article soit référencé par les moteurs de recherche, j ai préféré mettre Jessie dans le titre
      cordialement
      François

      Répondre
  1. Doudy

    Bonjour,
    Afin de pouvoir accéder aux dossiers dans windows, j’ai ajouté la commande suivante :

    $ sudo smbpasswd -a pi

    Autrement pas accès aux dossiers PI

    Répondre
  2. Bernard B

    Très bon article comme d’habitude, Samba est une méthode élégante même si Filezilla me semble plus sécurisé. Mais bon, abondance de biens ne nuit pas.
    Quand à Samba, il nous reste le carnaval de Cologne plus prés de cheu nous. 😉

    Répondre
  3. Ping : Tuto informatique | Pearltrees

  4. sbrunet

    Bonjour,

    Je partage le commentaire précédent, très bon article (simple et clair) comme d’habitude.

    Toutefois, je m’interroge sur le passage suivant : « la mise en place de ce partage avec le mode opératoire décrit ne procure aucune sécurité. Ne l’utilisez que pour connecter un Raspberry Pi en interne à votre réseau local, surtout pas sur Internet ! Imaginez que des hackers russes ou chinois viennent dérober des infos sur votre RasPi »

    Pourriez-vous expliquer (ou fournir un lient) en quoi ce partage samba pose des problèmes de sécurité ?

    Comment y remédier ? (j’ose pas imaginer qu’il faille 2 Pi, un pour le réseau local et un pour Internet)

    Vous en remerciant,

    Cordialement.

    Stéphane.

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour Stéphane
      il n’y a pas de protection du tout il suffit de se connecter sur le partage pour y avoir accès… Donc c’est une porte grande ouverte.
      Pour être sérieux il faut créer des comptes avec des mots de passe forts pour les utilisateurs qui ne pourront se connecter qu’en montrant patte blanche.
      https://guide.ubuntu-fr.org/server/samba-fileprint-security.html
      D’où le conseil de n’utiliser ce partage « de base » que pour un usage interne ou n’ayant aucun caractère de sécurité.
      cordialement
      François

      Répondre
  5. zeb

    Plop,

    « Qui n’a pas pesté au moment de transférer des fichiers entre sa machine de bureau et un Raspberry Pi connecté uniquement à une prise Ethernet, voire une clé Wi-Fi USB ? »
    Euh… moi !

    « Mais bon, abondance de biens ne nuit pas. » nous rappelle Bernard B.
    Alors permettez-moi de vous proposer la commande scp. Basique. Classique.

    Si votre machine de bureau exploite Windows, sachez que l’auteur du génialissime putty a aussi écrit pscp, ersatz tout à fait acceptable.

    Répondre
  6. GGdu79

    Bonjour, super tuto par contre je n’arrive pas à installer samba en inscrivant pourtant précisément la même chose que vous :
    Package samba is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    However the following packages replace it:
    samba-common

    E: Package ‘samba’ has no installation candidate

    Répondre
  7. Cédric

    Bonjour

    Voilà déjà quelques mois que j’ai mis en place un partage Samba sur mon Raspberry tel que décrit dans cet article…. et il est connecté à Internet 🙁

    Au vu des mises en gardes dispersés dans l’article, je me dis que j’ai probablement fait une connerie et je me demande comment sécuriser mon installation. Pour info, je n’utilise Samba (et AFP) que pour explorer en local mon disque. A distance j’utilise un client OwnCloud (car j’ai également installé un server OwnCloud sur le Raspberry) en SSL

    Merci pour votre aide!

    Répondre
  8. Loulou

    Super tuto!

    Evidemment, il faut que le réseau laisse passer SMB entre client et serveur. Sinon, la solution est dans les web file managers. Dans cette catégorie, il semble que Bozon réponde à une philosophie compatible avec le RPI.

    Bravo pour tout ce boulot éditorial

    Répondre
    1. François MOCQ Auteur de l’article

      merci 🙂
      la plupart des tutos s’adressent à des débutants c’est pour cela que je n’aborde pas ce genre de considération. Quand un RasPiNaute en est à faire (tout seul) du mappage de port sur sa box…. il n’a plus besoin de ça 🙂
      cordialement
      François

      Répondre
  9. wilfrid courtecuisse

    hello merci a vous pour votre travail j’ai réussi a faire un partage avec samba mais il ne partage que la carte sd, hors je souhaiterais mettre en partage une cle usb mais je n’y arrive pas quels sont les démarche a faire et le type de format de partition a privilégié ?

    Répondre
  10. Ping : Raspberry | Pearltrees

  11. estelle

    Bonjour,

    Je veux faire des échanges de données entre deux PI
    Es ce que SAMBA est il capable de réaliser cette mission et permettre aux 2 PI d’aller lire le contenu d’un fichier dans une zone d’échange
    Merci
    Estelle

    Répondre
  12. estelle

    bonsoir,
    Dans le fichier de conf, j’ai mis l’@ de l’autre PI comme indiqué ci dessous
    « Samba sera lié (bind) à la machine locale (127.0.0.0) et à l’interface eth0 (le port Ethernet du Raspberry Pi) »
    Lorsque je suis sous WinSCP, je ne vois pas le répertoire d’échange
    Es ce normal ?
    A+

    Répondre
    1. François MOCQ Auteur de l’article

      bonjour Estelle
      Laissez l adresse et eth0, cela concerne le samba local.
      partagez un répertoire avec Samba sur un RasPi
      sur l’autre RasPi montez ce dossier partagé dans le système de fichiers
      les deux auront un répertoire en commun
      http://unix.stackexchange.com/questions/68932/how-can-i-share-files-between-two-linux-machines-over-lan :
      You can mount a SAMBA directory anywhere you want (with that you can access it via console or as a regular directory in nautilus).
      # mount -t cifs //REMOTE_COMPUTER/Multimedia /mount/point -o guest
      You need to install cifs-util
      cordialement
      François

      Répondre
  13. estelle

    Bonsoir,

    Coté WINDOWS pas de problème le PI est vu avec son répertoire partage ainsi que son contenu
    Coté PI
    J’ai crée le même répertoire dans le PI non SAMBA et remis l’@ ip 127.0.0.0
    et ensuite fait Restart…..
    sur le PI non SAMBA, je ne vois pas ce qu’il y a le répertoire
    Je suis perdu ……

    Répondre
    1. François MOCQ Auteur de l’article

      bonsoir Estelle
      je n’ai pas eu de temps dans la journée pour monter un exemple
      je suis en séquence de dépannage avec un groupe de stagiaires et pris pratiquement à 100%
      idem demain
      Je vais essayer de résumer :
      Votre partage Samba sur le premier Pi (Pi1) fonctionne puisque vous le voyez depuis le PC windows

      Sur le deuxième Pi (Pi2) il y a deux possibilités :
      1 – Vous utilisez smbclient pour vous connecter au partage de Pi1 (voyez http://www.linux-france.org/prj/edu/archinet/systeme/ch25s09.html)
      2 – Vous créez un point de montage (un dossier) et vous montez le dossier samba dans le système de fichiers linux (mount -t cifs…).
      voyez http://www.framboise314.fr/partage-de-dossier-entre-windows-7-et-raspberry-pi/#Ce_que_nous_allons_mettre_en_place_sur_le_Raspberry_Pi
      que vous montiez un partage fait sur un PC windows ou un partage samba sur un raspi c’est pareil
      j espère vous avoir fait avancer un peu
      vous me direz
      bon courage
      et bonne soirée
      cordialement
      François

      Répondre
  14. Ping : Veille technologique Raspberry | Pearltrees

  15. sb

    Bonjour,

    Super le tutoriel. Samba, c’est indispensable pour partager des fichiers/imprimantes sur un réseau de machines hétérogènes (Unix, Microsoft,…). Si on souhaite exporter (partager) le filesystem d’un Raspberry Pi vers d’autres Raspberry Pi (ou Unix en général) il y a une alternative : NFS. C’est probablement plus performant que Samba car NFS s’appuie sur le protocole UDP alors que Samba est en mode connecté (TCP), donc plus impactant sur les échanges réseau. J’en parle ici : http://raspberryland.noip.me.
    J’envisage de réaliser des tests de performances pour mesurer factuellement les différences entre les deux méthodes.

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour Stephane
      bien sûr NFS est plus adapté pour les échanges entre machines Linux
      mais bon, quand on a des débutants à Linux qui viennent d’un autre monde, ça peut aider à démarrer 🙂
      j’ai retrouvé la sem. dernière en rangeant un bouquin (oui un bouquin complet) sur NFS que j’avais acheté en … 1996….
      comme quoi 😉
      merci pour le lien
      librement et cordialement
      François

      Répondre
  16. jppmedia

    Bonjour François,
    Merci pour ce tuto.
    Comment faire pour que samba démarre automatiquement au démarrage de mon raspberry ?
    Car je suis obliger de taper « sudo systemctl restart smbd.service » a chaque fois, si je veux voir le dossier de partage dans windows.
    Merci d’avance,
    jp

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour
      bin… je ne sais pas : après une install de samba il démarre normalement à chaque démarrage du système
      éventuellement essayez de le désinstaller et de le remettre ? (gardez une copie du fichier de conf !)
      cordialement
      François

      Répondre
  17. jppmedia

    Bonjour,
    Merci pour votre franchise ! en fait j’ai résolu mon problème en mettant « no » a la ligne « bind interfaces only = yes », pourquoi maintenant cela marche je sais pas ! si vous avez une explication je suis preneur !
    jp

    Répondre
  18. Stéphane

    Hello,

    Je suis sous Windows 10, et j’obtiens le message « Windows ne peut pas accéder à \\RASBPERRYPI ».

    Je possède un PI3 sous Rasbian, tout a été configuré comme indiqué sur cette article, mais rien n’y fait, impossible d’accéder sur W10.

    Avez-vous une idée ? Je précise que mon PI3 est connecté en wifi.

    Merci !

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour
      je suis sous windows 10 pas de souci
      essayez de remplacer le nom du raspberry par son adresse IP
      est ce que le ping fonctionne ? (avec l’adresse puis avec le nom)
      cordialement
      François

      Répondre
      1. Stéphane

        Bonjour,

        Même problème avec l’ip. Lorsque je ping, cela donne ça :

        Réponse de 192.168.1.13 : octets=32 temps=4 ms TTL=64

        J’ai accès à apache sans problème pourtant. Cependant, comme préciser, je suis en wifi, et non en ethernet (comme indiqué dans le tuto « Samba sera lié (bind) à la machine locale (127.0.0.0) et à l’interface eth0 (le port Ethernet du Raspberry Pi). »).

        Cela peut-il posé problème ?

        Merci à vous,

        Répondre
  19. Denis

    Bonjour,

    Merci pour ce tuto clair et très facile à mettre en oeuvre!

    Je débute sous Linux, j’aurais aimé partager un 2ème répertoire de la même façon, comment est ce qu’il faudrait que je modifie smb.conf?

    Merci d’avance?

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour
      créez un autre répertoire partage2 et recollez a la fin ce texte 🙂 remplacez partage2 par ce que vous voulez
      [Partage2]
      comment = Partage Samba sur Raspberry Pi
      path = /home/pi/partage2
      writable = yes
      guest ok = yes
      guest only = yes
      create mode = 0777
      directory mode = 0777
      share modes = yes

      cordialement
      François

      Répondre
  20. Kyunia

    Bonjour,

    Je viens tester Samba sur mon Raspberry Pi 3 sous la version Jessie. Tout est fonctionné sauf il est impossible de déplacer un petit fichier car le message de Windows 10 me affiche : « Vous devez disposer d’une autorisation pour effectuer cette action.

    Alors j’ai recrée un autre dossier et je recode dans smb.conf donc ‘est le même chose.

    Comment tu réussis M. Mocq ?

    Merci,
    K

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour
      il est précisé au début de l’article
      Les autorisations système de Linux (rwx) sont prioritaires sur les autorisations Samba. Par exemple, si un répertoire n’a pas la permission d’écriture sous Linux, le fait d’ajouter writeable = yes dans le fichier de configuration de samba (smb.conf) ne permettra pas d’écrire dans un répertoire partagé avec Samba.
      il faut sans doute modifier les droits de votre dossier…
      Attention un tutoriel n’est pas une recette il faut aussi chercher un peu par vous même…
      cordialement
      François

      Répondre
      1. Kyunia

        Bonjour,

        Je n’avais pas pensé de modifier le droit de mon dossier depuis la paramètre (clic à droit). Honté à ma part.

        Je vous remercie pour la précision
        Merci,
        K

        Répondre
  21. Alain Gerardi

    Bonjour J’ai suivi votre tuto et tout fonctionne presque bien. En effet j’ai un disque dur de 1to sur le port usb. j’ai 2 répertoires public et prive qui sont correctement connectés sous windows 10 mais avec une taille de 1GO pour chacun. Quand je veux copier un gros fichier j’ai une message qui m’indique qu’il n’y a pas de place sur le disque.
    J’ai vérifié avec la commande df que la taille de mon disque est bien reconnue sous jessie.
    Je ne trouve pas de solution

    Répondre
  22. Thibault

    Il y a une petite astuce supplémentaire à faire pour partager un disque USB formatté en NTFS attaché au raspberrypi

    Il faut rajouter à la définition du share :

    force user = pi
    force group = pi

    Dans mon cas ça donne ceci :

    [MEDIA]
    comment = Fichiers Media Backups sur Raspberry Pi
    path = /media/pi/DATA/BACKUPS/
    writable = yes
    read only = no
    guest ok = yes
    guest only = yes
    create mode = 0777
    directory mode = 0777
    force user = pi
    force group = pi

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP * Time limit is exhausted. Please reload CAPTCHA.