Publié le 25 juin 2014 - par

Partage de dossier entre Windows 7 et Raspberry Pi

dossier_250pxSuite à la parution de l’article sur la caméra de surveillance à base de motion (traduction d’un article de Christoph BUENGER) de nombreux commentaires ou questions portent sur l’utilisation d’un dossier partagé sur une machine Windows pour stocker les images.

Cet article va tenter d’éclaircir la situation.

De la difficulté à se lancer dans un projet

Tout d’abord, j’attire l’attention des « vrais débutants » en Linux sur la difficulté de se lancer sur des projets complets (et parfois complexes) sans avoir les bases nécessaires. Il est bon de commencer par des projets simples, ne comportant que quelques commandes, de les réussir avant de s’aventurer sur des sujets plus délicats…

Lors de la mise en place d’un projet comme la caméra de surveillance, de nombreuses commandes Linux sont utilisées. Quand les choses ne se passent pas normalement, Linux vous renvoie toujours un message. Il faut prendre le temps d’exploiter ce message, de faire des recherches pour essayer d’identifier l’erreur.

Access denied stampParfois l’erreur provient d’une commande mal décrite dans l’article (il suffit parfois d’une virgule ou d’un espace pour tout faire capoter…), parfois c’est une mauvaise saisie de la commande qui est en cause, parfois les versions de certains logiciels ont évolué depuis la publication de l’article. Il faut affronter ces situations avec calme et sérénité, ne pas se laisser démonter et utiliser l’aide en ligne (page man, forums, tutoriels…). Les forums et les tutoriels sont également source d’erreurs en fonction des compétences des intervenants, de l’ancienneté du tutoriel, des versions auxquelles ils s’appliquent… En fait la vraie, seule, sérieuse référence est la -rébarbative- page man de la commande incriminée. Ajoutez y de la ténacité, un zeste de pugnacité et vous voilà fin prêt(e) pour l’aventure Linux.

ecran_casse_300pxSi après quelques minutes heures de recherche, de réflexion, la solution ne vous est pas apparue, sollicitez la communauté. Mais là encore, soyez « professionnel ». Joignez une copie (une vraie, par CTL-C, ou une copie d’écran) de la commande incriminée. Souvent la question est : j’ai tapé la ligne indiquée et ça ne fonctionne pas… mmmouais… Comment vérifier que la syntaxe a été respectée à la lettre si on ne peut pas relire votre commande… et puis : ça marche pas … Vaste programme ! Là encore soyez le plus précis possible, copiez le retour d’erreur de Linux, décrivez précisément ce que vous constatez. Je ne peux pas créer un ficher dans ce dossier, j’obtiens une erreur « access denied » est plus parlant que « Ca marche pô!« …

Bon, vous êtes toujours avec moi ?

Allez on s’y colle, partageons, partageons…

Le cahier des charges

J’ai pris comme point de départ une question de Jérôme posée sur la page FaceBook du blog. Jérôme partage un dossier sur un poste Windows 7. Il voudrait que l’utilisateur se connectant depuis le Raspberry Pi puisse le faire sans mot de passe. A partir du moment où on accepte qu’il n’y ait pas de mot de passe, il faudra veiller à ce que des « intrus » ne puissent s’introduire dans les systèmes… Par exemple en ne connectant pas le réseau à l’extérieur (Internet).

Ce qu’il va falloir faire

J’ai trouvé que le plus simple était de présenter la séquence des choses à réaliser sous forme d’un organigramme linéaire. Le principe est qu’on ne passe pas à la case suivante avant d’avoir vérifié que l’action en cours était correctement réalisée et fonctionnait. Je vous propose donc de :

synoptiqueVous êtes toujours là ? Super !

Ce que nous allons mettre en place sur le PC

Autoriser la connexion d’un utilisateur à distance sans mot de passe

cadenasPar défaut (et pour des raisons évidentes de sécurité) Windows 7 n’autorise pas (interdit) la connexion d’un utilisateur sans mot de passe à distance. Sur la console (écran-clavier) du PC, cette opération est tout à fait permise, mais les règles de sécurité locales empêchent une connexion distante sans mot de passe. Nous allons devoir intervenir sur ces règles de sécurité pour autoriser explicitement la connexion distante sans mot de passe.

Dans la zone de recherche de Windows 7 (Rechercher les programmes et fichiers) saisissez : secpol.msc. En haut de la fenêtre, le programme secpol.msc apparaît. Cliquez dessus pour le lancer.

Cette action va ouvrir la fenêtre Stratégie de sécurité locale qui va nous permettre d’accéder au paramètre à modifier :

Stratégie de sécurité locale - Cliquez pour agrandir

Stratégie de sécurité locale – Cliquez pour agrandir

Cliquez sur « Stratégies locales » > « Options de sécurité » > puis double cliquez sur  « Comptes : Restreindre l’utilisation des mots de passe vides par par le compte local à l’ouverture de session console« . Par défaut cette option est activée, sélectionnez Désactivé dans la fenêtre qui s’ouvre. secpol03Pensez aussi à lire l’aide correspondant à cette option (si, si, j’insiste !) :

secpol02Bien entendu si vous arrêtez d’avoir besoin de cette fonctionnalité, il faudra penser à réactiver cette protection… !

Créer un dossier et le partager

Pour partager un dossier, nous allons d’abord le créer. Dans mon cas j’ai créé un dossier qui se nomme raspberry-pi, mais vous pouvez l’appeler comme vous voulez. Faites un clic droit sur le dossier que vous venez de créer, dans le menu qui s’ouvre cliquez sur Propriétés. Enfin dans la fenêtre Propriétés de : raspberry-pi ouvrez l’onglet Partage. partage_01Cliquez sur le bouton Partage avancé…

partage_02Par défaut Windows vous propose le même nom pour le partage que le nom du dossier.

Pour éclaircir un peu, disons que le nom du dossier est celui sous lequel il apparait sur le disque dur de la machine, alors que le nom de partage est celui sous lequel il apparait sur le réseau… Dans mon cas (parce que j’ai l’esprit de contradiction et que c’est moi qui décide – non mais !) j’ai choisi de nommer le partage raspi :

partage_03Cliquez ensuite sur le bouton Autorisations :

partage_04Pour terminer d’ouvrir votre machine à l’appétit des hackers du monde entier, sélectionnez Tout le monde et cliquez sur AutoriserContrôle total. Terminez en cliquant sur les boutons Appliquer et OK jusqu’à ce que toutes les fenêtres soient fermées (attention aux courants d’air !)

Déposer un fichier texte dans le dossier (pour les tests)

Vous me direz : « Pourquoi mettre un fichier texte dans mon dossier ? Ce sont des films issus de la caméra de surveillance que je veux y mettre ! ».

Certes vous dirais-je, mais, cher ami, les manips sont plus aisées sur un simple fichier texte de quelques octets que sur un film montrant votre chat en train de faire sa star devant la caméra… Non ?

Dans votre dossier faites un clic droit, choisissez Nouveau > Document texte dans le menu qui s’ouvre. Renommez le fichier (je l’ai appelé test.txt, ce qui avouez-le est très original ;-)) et ouvrez le pour y écrire quelques mots.

Vous disposez maintenant d’un fichier que vous pourrez lire, modifier et ré-enregistrer simplement depuis le Raspberry Pi. (Attendez ! pas tout de suite !)

Créer un nouvel utilisateur sans mot de passe

Pour accéder depuis le Raspberry Pi au partage Windows, il faut que cet utilisateur existe en local sur le poste Windows. Nous allons donc devoir le créer. Dans le menu Démarrer de Windows 7, faites un clic droit sur Ordinateur et dans le menu qui s’ouvre, cliquez sur Gérer.

nouvel_utilisateur

Dans la fenêtre Gestion de l’ordinateur double cliquez sur Utilisateurs et groupes locaux, puis cliquez sur Utilisateurs. Dans la partie droite de la fenêtre (là où apparaissent déjà des utilisateurs), faites un clic droit. Dans le menu qui apparaît, cliquez sur Nouvel utilisateur.

nouvel_utilisateur2aRenseignez les zones Nom d’utilisateur, Nom complet et Description. Seule la première est obligatoire. Laissez le mot de passe et sa confirmation vide et décochez la case : L’utilisateur doit changer de mot de passe à la prochaine ouverture de session.

nouvel_utilisateur3Cochez maintenant la case : Le mot de passe n’expire jamais.

Nous avons maintenant préparé tout ce qu’il fallait sur le PC :

  • Le dossier partagé avec un fichier texte
  • Un utilisateur local sans mot de passe

Maintenant occupons-nous du Raspberry Pi.

Ce que nous allons mettre en place sur le Raspberry Pi

Créer un dossier de montage pour le partage

En Linux, pour qu’un dossier partagé extérieur apparaisse dans le système de fichier, il faut d’abord créer un dossier destiné à le recevoir. J’ai choisi de créer un dossier nommé partage dans /media. Vous adapterez bien entendu ceci à votre propre besoin (/mnt/camshare avec la caméra de surveillance par exemple).

pi@raspberrypi ~ $ cd /media<br />

pi@raspberrypi /media $ sudo mkdir partage

On peut également faire directement mkdir /media/partage.

Monter manuellement le partage Windows

Le répertoire destiné à recevoir le partage Windows est prêt. Nous allons maintenant indiquer à Linux qu’il doit monter (rattacher) le dossier que nous avons créé sous Windows à notre dossier local /media/partage. Lorsque ce sera fait, tout le contenu de ce dossier distant sera accessible dans le système de fichier du Raspberry Pi.

Il est intéressant de monter manuellement le partage, pour avoir un éventuel retour de message d’erreur en cas de problème. Si vous passez directement dans fstab pour réaliser le montage automatiquement au démarrage, vous risquez de passer à côté de messages d’erreur, voire de bloquer le démarrage du Raspberry Pi sans trop savoir ce qui se passe…

Ma machine Windows est à l’adresse 192.168.1.102, le partage sur cette machine s’appelle raspi. L’utilisateur sur la machine Windows s’appelle pi et n’a pas de mot de passe. Vous adapterez ces valeurs à votre configuration.

Tapez sur une seule ligne : sudo mount   -v   -t   cifs   //192.168.1.102/raspi
/media/partage -o user=pi,pass=,file_mode=0777,dir_mode=0777

pi@raspberrypi /media $ sudo mount -v -t cifs //192.168.1.102/raspi /media/partage -o user=pi,pass=,file_mode=0777,dir_mode=0777
mount.cifs kernel mount options: ip=192.168.1.102,unc=\\192.168.1.102\raspi,file_mode=0777,dir_mode=0777,user=pi,pass=********

Vérifier le bon fonctionnement du mount

Vous pouvez « descendre » dans le dossier local et –si tout s’est bien passé– vous y trouverez le fichier test.txt, que nous avions créé dans le dossier partagé sur la machine Windows. Non, ce n’est pas un miracle, juste de la technologie moderne…

pi@raspberrypi /media $ cd partage
pi@raspberrypi /media/partage $ ls -al
total 5
drwxrwxrwx 2 root root    0 juin  24 18:47 .
drwxr-xr-x 3 root root 4096 juin  24 19:02 ..
-rw-rw-rw- 1 root root   29 juin  24 18:47 test.txt

Modifiez le fichier texte avec nano :

  • ouvrez le fichier
  • ajoutez une ligne
  • sauvez le fichier
  • affichez son contenu.
pi@raspberrypi /media/partage $ nano test.txt
pi@raspberrypi /media/partage $ cat test.txt
ceci est le fichier de test
ceci est une ligne ajoutée

Si tout s’est bien passé, vous pouvez maintenant « démonter  » proprement le dossier distant.

pi@raspberrypi /media $ sudo umount /media/partage

Insérer la commande dans fstab

Maintenant que nous avons vérifié qu’il est bien possible de monter manuellement le dossier distant, nous allons automatiser le montage en ajoutant la commande à fstab.

Ouvrez fstab avec nano :

pi@raspberrypi /media/partage $ sudo nano /etc/fstab

et ajoutez à la fin du fichier la ligne (sur une seule ligne) :

//192.168.1.102/raspi /media/partage cifs username=pi,password=,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0

Enregistrez le fichier modifié.

(Vous pouvez tester le montage des systèmes de fichiers présents dans fstab en saisissant la commande : mount -a)

Redémarrer le Raspberry Pi

Pour s’assurer que le dossier distant est correctement monté à chaque démarrage du Raspberry Pi, le mieux est de… le redémarrer

sudo reboot  le fera, attendez la fin du démarrage.

Vérifier l’accessibilité du partage depuis le Raspberry Pi

Loggez sur le Raspberry Pi et vérifiez à nouveau que vous accédez au fichier test.txt du dossier partagé sur la machine Windows, depuis /media/partage.

Les quelques instants « perdus » pour effectuer ces tests systématiques finissent par vous faire gagner énormément de temps car vous avancez à chaque fois sur une base solide.

Conclusion

J’espère que ce descriptif pas à pas de la procédure de partage avec une machine Windows vous sera utile.

Si l’utilisateur Windows que vous avez créé pour la connexion du Raspberry Pi possède  un mot de passe, vous adapterez les lignes concernées en ajoutant le mot de passe après password=.

Comme d’habitude, n’hésitez pas à me signaler les erreurs, omissions, fautes, difficultés de compréhension, pour que je modifie l’article

Merci à Jean-Pierre, fan de Raspberry Pi, mais aussi expert Windows 7 (et autres) qui m’a briefé sur les sécurités locales !

Sources

Share Button

À 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. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

58 réflexions au sujet de « Partage de dossier entre Windows 7 et Raspberry Pi »

  1. Dodutils

    Petite précision, il y a des chance que l’utilisateur se prenne une erreur « mount error(12): Cannot allocate memory » sur le RasPi lors du montage CIFS.

    Pour corriger cela il faut modifier une clé de registre côté Windows
    HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Size et y mettre une valeur DWORD=3 (et redémarrer ou faire un stop/start du service « serveur » si on ne veut pas redémarrer).

    Répondre
    1. admin Auteur de l’article

      Merci Dodutils
      J’ai testé sur 2 RasPi différents sans que cette erreur apparaisse mais au cas où elle survienne, voilà la réponse 🙂
      Cordialement
      François

      Répondre
  2. ALBA

    Bonjour,
    Je voudrais créer un montage sur mon Raspberry vers un dossier partagé sur un serveur Windows 2003.
    – J’ai partagé mon dossier sur le serveur
    pour l’utilisateur pi (sans mot de passe).
    – J’ai créé un dossier « _partage » dans /home/pi.
    Quand l’exécute sous LXTerminal la commande :
    sudo mount -v -t cifs //monserveur/mondossierpartagé /home/pi/_partage -o user=pi,pass=,file_mode=0777,dir_mode=0777
    le lecteur réseau se monte correctement.
    MAIS je rencontre un problème pour le monter dans le fichier fstab.
    J’ai mis à la fin du fichier, comme selon votre exemple, la ligne :
    //monserveur/mondossierpartagé /home/pi/_partage cifs username=pi,password=,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
    Et quand j’exécute la commande « sudo mount -a », j’ai l’erreur :
    « [mntent]: line 5 in /etc/fstab is bad ».

    J’ai essayé plusieurs formules (trouvées sur d’autres forums, souvent en anglais – exemple en loggant sous « guest »)… et j’ai toujours le même problème. Le montage marche bien via la commande LXTerminal et ne marche pas lorsque je le fais dans fstab…
    J’ai essayé, comme dans votre exemple, de faire le partage dans /media/partage, ainsi que dans /mnt/partage… pareil…

    Du coup, je ne vois pas de solutions…
    Ne peut-on pas passer par une commande dans le fichier
    /etc/xdg/lxsession/LXDE/autostart ?

    Merci par avance si vous pouviez me donner un coup de main.

    Cordialement,

    Guillaume.

    Répondre
    1. admin Auteur de l’article

      Bonjour Guillaume
      oui bien sûr on peut mettre la commande mount dans un fichier au démarrage… fstab est quand même plus « propre » et fait pour ça.
      Les choses à vérifier : est-ce que la ligne fonctionne avec l’adresse IP du serveur (vous ne précisez pas comment vous mettez l’adresse) ? supprimez les espaces dans cette ligne… mettez le minimum pour éliminer les erreurs possibles :
      //monserveur/mondossierpartagé /home/pi/_partage cifs username=pi,password=,rw 0 0
      En principe si la ligne mount fonctionne, la transposition dans fstab devrait marcher
      tenez moi au courant
      cordialement
      François

      Répondre
      1. ALBA

        Bonjour,
        je mettais déjà l’adresse IP du serveur.
        Ma ligne complète était celle-ci :
        //192.168.66.200/COMMUN/ »_partage atelier » /home/pi/_partage cifs username=pi,password=,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
        Comme vous me l’avez proposé, j’ai simplifié au maximum (j’ai créé un nouveau dossier partagé) :
        //192.168.66.200/partage-pi /home/pi/_partage cifs username=pi,password=,rw 0 0
        … ET CA MARCHE…
        C’est donc visiblement la syntaxe avec les guillemets et l’espace qui posait problème (j’avais déjà essayé en simplifiant les options).
        MERCI ENCORE.
        Guillaume.

        Répondre
      2. ALBA

        Bonjour,
        J’ai aussi fait la manip suivante
        – création d’un fichier /etc/lecteurréseau.credentials
        dans lequel je donne les indications suivantes :
        username=pi
        password=******
        – et ma ligne dans le fichier fstab devient :
        //192.168.66.200/partage-pi /home/pi/_partage cifs defaults,rw,credentials=/etc/lecteurréseau.credentials 0 0
        Comme ça j’ai mis un mot de passe sur le serveur.

        Cordialement,

        Guillaume

        Répondre
        1. admin Auteur de l’article

          Bonjour Guillaume
          credentials est effectivement une autre façon de passer les infos.
          Par contre en UNIX/LINUX il faut essayer de bannir les majuscules, espaces et caractères accentués des noms de fichiers. c’est toujours une source de problèmes…
          Cordialement
          François

          Répondre
          1. vardump

            Bonjour,

            en lisant le commentaire sur l’utilisation de fichier credentials pour l’authentification des points de montages cifs, je me suis rendu compte que personne n’a fait attention à la sécurité de ce ficher.

            Comme le l’utilisateur et le mot de passe sont stockés en claire dans ce fichier, un petit changement de permission s’impose avant de l’utilisé :

            $ sudo chown root:root /etc/lecteurréseau.credentials
            $ sudo chmod 600/etc/lecteurréseau.credentials

            c’est deux commandes ont pour effet de s’assurer que seul l’utilisateur root pourra lire et modifier le fichier.

            J’ai pour habitude dans le cas où plusieurs fichiers credentials sont nécessaires de créé un dossier (/etc/samba/private) qui n’est accessible que par root pour stocker ces fichiers.

            Cordialement,

            Vardump

            Répondre
  3. Ping : Partage de dossier entre Windows 7 et Raspberry...

  4. Ping : Ce qu’il ne fallait pas manquer cette semaine du 5/07 au 12/07 | High-tech & Divertissement

  5. Ping : Ce qu’il ne fallait pas manquer cette semaine du 5/07 au 12/07 | Maroc Domotique

  6. Zgema

    Bonjour,

    Je cherche sur le net une solution à mon problème et cet article est celui qui s’en rapproche le plus. Je me permets donc de poser ma question ici même si elle est légèrement hors sujet puisqu’elle ne concerne pas un partage vers une machine Windows mais vers un Mac sous Mavericks.
    Comme dans cet article, je voudrais pouvoir lire depuis mon Pi le contenu d’un répertoire présent sur mon Mac. Le net regorge de ressources pour faire le contraire (à savoir voir son Pi depuis son Mac) mais moi, je voudrais pouvoir monter un répertoire de mon Mac sur mon Pi.
    Mon problème est que le type CIFS n’est pas compatible avec le Mac.
    J’ai bien installé les packages hfsplus, hfsprogs et hfsutils mais le type hfsplus ne semble pas être reconnu pour autant. La commande :
    mount -v -t hfsplus /
    retourne l’erreur :
    mount: unknown filesystem type ‘hfsplus’
    Toute aide serait la bienvenue.
    D’avance, merci beaucoup.

    Répondre
  7. Ping : Une caméra de surveillance vidéo avec le Raspberry Pi | Framboise 314, le Raspberry Pi à la sauce française….

  8. DMike92

    Magnifique tuto clair, précis, méthodique et complet.
    Peut-être juste ajouter que pour modifier fstab, on le trouve dans /etc :
    sudo nano /etc/fstab

    Répondre
  9. Jacquot74

    Bonjour,
    Quelqu’un a t’il fait un tuto pour partager sous debian7, afin que les images se positionnent directement sur le répertoire partagé de la machine sous debian7 afin d’économiser le nombre d’écritures sur la carte sd.
    Merci pour la réponse.

    Répondre
  10. karroum

    Bonjour,

    J’ai refait toute la manipe, mais mon probleme c’etait l’affichage d’une erreur:
     »mount error(101): Network is unreachable
    Refer to the mount.cifs(8) manual page (e.g man mount.cifs) »

    Si quelqu’un peut m’aider n’hesitez pas svp.

    Répondre
  11. Ping : Un cadre Photo avec le Raspberry Pi | Framboise 314, le Raspberry Pi à la sauce française….

  12. Cyril

    Bonjour Guillaume,

    Sur Windows 7 édition familiale je ne parviens pas à trouver où désactiver « Comptes : Restreindre l’utilisation des mots de passe vides par le compte local à l’ouverture de session console« .

    J’ai tout de même créé un utilisateur standard « pi ».

    Evidemment, l’hypothèse que l’absence de mot de passe sur les sessions W7 familiale est fausse ! En SSH sur ma framboise, lors du montage je reçois un « mount error(5): Input/output error ».
    que faire ?
    Cordialement,
    Cyril

    Répondre
    1. Cyril

      J’ai trouvé cette option également sous Windows 7 édition familiale : Panneau de configuration\Réseau et Internet\Centre Réseau et partage\Paramètres de partage avancés

      Et le partage fonctionne.
      Cyril

      Répondre
  13. flyjodel

    Bonjour,

    j’ai je pense tout configuré comme notifié dans ce tuto, mais quand je tape cette commande , je tombe sur une erreur de « mount »

    pi@raspberrypi / $ sudo mount -v -t cifs //192.168.0.1/raspi /media/partage -o user=pi,pass=,file_mode=0777,dir_mode=0777
    mount.cifs kernel mount options: ip=192.168.0.1,unc=\\192.168.0.1\raspi,file_mode=0777,dir_mode=0777,user=pi,pass=********
    mount error(13): Permission denied
    Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

    avez-vous une idée de l’erreur sous jacente ?
    Merci

    (Windows 7 integrale et Rpi 2)

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

      Bonjour
      vous n’avez bien saisi en ligne de commande que
      sudo mount -v -t cifs //192.168.0.1/raspi /media/partage -o user=pi,pass=,file_mode=0777,dir_mode=0777

      La deuxième ligne vous ne la tapez pas, c’est la réponse du système.
      mount.cifs kernel mount options: ip=192.168.0.1,unc=\\192.168.0.1\raspi,file_mode=0777,dir_mode=0777,user=pi,pass=********

      dites moi si c’est bien le cas SVP

      testez également l’accès au partage depuis une autre machine Windows avant de passer au RasPi
      cordialement
      François

      Répondre
  14. Michel PEQUIGNOT

    Bonjour,

    Tout d’abord, un grand merci pour ces tutos qui sont clairs et d’une grande aide.

    J’ai un NAS Synology sur lequel j’ai créé un dossier nommé « raspberry » aisni qu’un utilisateur username=AAAA, password=BBBB.
    J’ai créé un dossier /mnt/***-nas sur le Raspy.

    La commande :
    sudo mount -v -t cifs //192.168.x.xxx/raspberry /mnt/***-nas -o user=AAAA,pass=BBBB,file_mode=0777,dir_mode=0777
    fonctionne correctement, j’ai accès, en lecture et écriture, dossiers et fichiers hébergés par le NAS

    Par contre, la modification de fstab ne fonctionne pas. Ci-dessous l’ajout dans fstab:
    //192.168.x.xxx/raspberry /mnt/***-nas cifs username=AAAA,password=BBBB,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0

    Y aurait-il une erreur dans mon ajout fstab ?
    Ou, la manip est-elle différente dans le cas d’un NAS ?

    Bien cordialement,

    Michel

    Répondre
  15. Michel PEQUIGNOT

    En ayant approfondi les choses, il s’avère qu’un « mount -a » me permet bien d’accéder au dossier et fichier hébergés sur le NAS.
    Par contre suite à un « reboot », il faut que je repasse la commande « mount -a » pour pouvoir accéder au dossier hébergé.

    Le raspy se comporte comme si fstab n’était pas chargé durant le boot.

    Répondre
  16. Michel PEQUIGNOT

    Après un « mount -a », la commande « df » donne, entre autres:

    //192.168.x.xxx/raspberry 2879621632 2552661932 326857300 89% /mnt/xxxx-nas

    Je googlise pour essayer de trouver une solution, peut être que durant la séquence de boot, fstab est interprété avant que les réseaux soient actifs. Cela pourrais expliquer pourquoi après un reboot, je n’ai pas accès au dossier NAS partagé.

    Répondre
  17. Michel PEQUIGNOT

    Bon après quelques recherches, une solution a été trouvée.

    Tout d’abord, la commande dmesg | grep « mount » donne après un reboot :

    pi@raspberrypi ~ $ dmesg | grep « mount »
    [ 1.527303] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [ 1.533713] devtmpfs: mounted
    [ 10.201392] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    [ 10.693203] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    [ 21.107425] CIFS VFS: cifs_mount failed w/return code = -101
    [ 21.768618] CIFS VFS: cifs_mount failed w/return code = -101
    [ 22.721099] CIFS VFS: cifs_mount failed w/return code = -101
    [ 24.058371] CIFS VFS: cifs_mount failed w/return code = -101
    [ 24.323381] CIFS VFS: cifs_mount failed w/return code = -101
    [ 24.809206] CIFS VFS: cifs_mount failed w/return code = -101

    Bref, échec du montage du dossier partagé.

    Après lecture de https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=109781&p=755435#p755435, il semble que la nouvelle mouture de raspberrypi-net-mods pose problème ainsi que WLAN0 et WLAN1 dans /etc/network/interfaces.
    Je n’ai pas appliqué la première solution, désinstallation de raspberrypi-net-mods et backup d’interfaces.

    Par contre la solution brute à la fin fonctionne ! Je cite « The workaround is to add mount -a to /etc/rc.local (before the exit line). It’s dirty, but if anyone has a better solution, please let us know. »

    Problème résolu !

    Répondre
    1. Zegechel

      salut,

      j’ai essayé l’astuce de rajouter dans /etc/rc.local « mount -a » mais ça ne fonctionne pas.
      Après recherche j’ai constaté que si le raspb est configuré en DHCP les commandes sont passées avant d’avoir le réseau vraiment opérationnel = plouf dans l’eau.

      Pour finir, je me suis fait un bout de code en Lazarus qui boucle sur un « ifconfig » jusqu’à l’obtention d’une IP valide du DHCP puis lance la commande « mount -a » et la, ça marche à 100%

      je peux donner le code source si besoin (je suis persuadé que c’est transposable dans un autre langage Lazarus reste un choix personnel)

      Zeg

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

        Bonjour
        Vous pourriez aussi essayer de rajouter dans les parametres de demarrage que le systeme attende le demarrage du reseau pour continuer
        Cordialement
        Francois

        Répondre
        1. Zegechel

          attendre le réseau a l’air de correspondre à attendre que la carte réseau soit up la résolution DHCP n’est pas prise en compte (je peux me tromper ou je n’ai pas trouvé le paramètre qui va bien)

          Répondre
  18. Ping : Montage d’un dossier partage | Raspi Drone

  19. hsan bouazizi

    Salut,
    j’ais tapé tous les instruction mais ma problème que le partage ne se fait pas . voila ce qui s’affiche:

    mount.cifs kernel mount options: ip=192.168.0.1,unc=\\192.168.0.1\raspi,file_mode=0777,dir_mode=0777,user=pi,pass=********
    mount error(13): Permission denied
    Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
    pouvez vous m’aidez??
    et merci.

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

          Ok on recommence
          vous ne m’avez toujours pas répondu…
          Est ce que vous obtenez ce message d’erreur quand vous faites sudo mount
          ou lorsque vous faites le montage en automatique?
          dans le premier message je ne vois pas le sudo c est pour ça que j insiste
          cordialement
          François

          Répondre
  20. thomas

    Bonjour,

    je viens de refaire le montage de ma camera sur mon nouveau RPI3, celle ci fonctionnait très bien auparavant sur mon RPI2 qui envoyait les informations par Samba sur un autre RPI (NAS). J’essaye aujourd’hui de reproduire cette configuration mais impossible de comprendre ou ça cloche…

    mon montage samba s’effectue très bien sur mon nouveau RPI mais Motion refuse d’écrire sur mon dossier partagé:
    [1] [ERR] [ALL] myfopen: Error opening file /media/enregistrements/lastsnap.jpg with mode w:
    [1] [ERR] [ALL] put_picture: Can’t write picture to file /media/enregistrements/lastsnap.jpg – check access rights to target directory
    Thread is going to finish due to this fatal error:

    Est ce que quelqu’un aurait une idée. Merci d’avance

    Voici mon FSTAB:
    //192.168.2.18/Volume_1/enregistrements /media/enregistrements cifs username=thomas,password=thomas01,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0

    Répondre
      1. Thomas

        Oui, et je viens de voir que vous avez écrit un billet sur le partage samba entre 2 RPI. Je vais m’y pencher pour voir si j’y trouve l’erreur…

        Répondre
  21. adradr

    Bonsoir,

    et merci pour ce tuto ! perso, j’ai pas désactivé la sécurité, j’ai mis un mot de passe pour la connexion de l’utilisateur que j’ai créé.

    Pour que ça fonctionne chez moi, j’ai remplacé votre ligne dans le fichier fstab par :
    « //192.168.1.17/Users/adrmy/videos /home/pi/partage cifs username=pi,password=xxxx,_netdev,noauto,x-systemd.automount 0 0 »
    Sans ça, à chaque démarrage, le montage ne se faisait pas, je devait faire un « sudo mount -a »

    Si jamais ça peut aider…
    voici comment j’ai procédé :
    – créer un dossier partagé sur le pc
    – dans les autorisations du partage, autoriser le contrôle total à tout le monde
    – mettre un fichier txt pour test
    – créer un utilisateur dans « gérer », le nommer « pi » et renseigner le nom complet
    – décocher le fait de changer le mot de passe
    – cocher le mot de passe n’expire jamais et lui donner un mot de passe
    – revenir dans les propriétés du dossier partagées, sur « Partager… », ajouter l’utilisateur que vous venez de créer (laisser en lecture)
    création d’un dossier de réception sur le RPI dans une console :
    sudo mkdir /home/pi/partage
    – sur une seule ligne (en fonction du nom du dossier partagé ET du dossier sur le RPI)
    sudo mount -v -t cifs //192.168.1.17/Users/adrmy/videos /home/pi/partage -o user=pi,pass=xxxx,file_mode=0777,dir_mode=0777
    – vérifier que le partage est bien fonctionnel
    – automatiser le montage à chaque démarrage
    sudo nano /etc/fstab
    – rajouter sur une seule ligne (en fonction du nom du dossier partagé ET du dossier sur le RPI)
    //192.168.1.17/Users/adrmy/videos /home/pi/partage cifs username=pi,password=xxxx,_netdev,noauto,x-systemd.automount 0 0
    – redémarrer
    sudo reboot

    Cordialement.

    nb : encore merci pour le tuto

    Répondre
  22. Tourbez Hervé

    Bonjour,
    Nouveau venu au raspberrypi 3, j’ai lu avec intérêt la méthode pour monter automatiquement un dossier partagé sur un PC sous Windows.
    Je travaille actuellement sur un projet de camera de surveillance, les images capturées par une webcam usb (une vieillerie récupérée sur ma tour) connectée sur le raspberry avec fswebcam étant enregistrées dans le dossier du PC.
    J’ai suivi ton tuto François pour modifier le fichier fstab mais tel quel, au boot, le dossier partagé ne montait qu’avec la commande sudo mount -a
    A la lecture des commentaires, j’ai testé la syntaxe de adradr ( en ajoutant cette ligne:
    //192.168.1.xx/Pub_Tosh/Webcam /media/webcam cifs username=herve,password=xxxxxx,_netdev,noauto,x-systemd.automount 0 0
    ) et cette fois, au boot, le dossier partagé sur le PC apparaît bien. Mais il apparaît cette fois, 2 fois dans le gestionnaire de fichiers!
    1 fois en tant que disque amovible, 1 fois en tant que dossier amovible (?)
    Ai-je loupé quelque chose?
    Cordialement, Hervé (44)

    Répondre
  23. Vincent

    Tout d’abord un grand merci pour la clarté de ce tuto. Je suis un grand débutant dans le monde de la Framboise, et c’est peu dire que j’ai galéré avant d’y arriver. J’ai deux PC, l’un sous Windows 10 Pro, l’autre en version Windows 10 familiale. Ci-après les conclusions auxquelles je suis arrivé. Comme d’habitude, quand on a trouvé, cela paraît évident…
    Mais c’est en galérant qu’on apprend le mieux !

    Avec un Raspberry Pi 3, Windows 10 (versions Pro et familiale) et Debian Stretch Raspbian ça marche comme indiqué dans le tuto avec les remarques suivantes :
    – Dans le fichier fstab j’ai dû rajouter « auto » en option pour que le montage soit effectif :
    //192.168.1.102/raspi /media/partage cifs auto,username=pi,password=xxxx,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
    mais même dans ce cas il faut faire le montage à chaque lancement du raspberry :
    sudo mount –a

    – Pour avoir un montage automatique au démarrage j’ai dû aller dans préférences/configuration du raspberry et cocher « attendre la connexion internet »
    Dans ce cas plus besoin de mettre l’option auto dans fstab, le montage se fait tout seul au démarrage.

    – Avec Windows 10 familiale la procédure proposée pour créer un nouvel utilisateur n’est pas possible car la ligne « utilisateurs et groupes locaux » n’existe que sur W10 Pro dans la fenêtre « gestion de l’ordinateur ». Il faut aller dans « paramètres/comptes/famille et autres utilisateurs », et cocher « ajouter un autre utilisateur » que l’on nomme « pi ».
    De même secpol.msc n’existe que sur W10 Pro. Dans mon cas cela n’est pas gênant car j’ai mis un mot de passe.

    – A part les remarques ci-dessus, cela marche très bien avec une version Debian Stretch Raspbian installée avec une SD NOOBS de 16 Go.
    – Avec les mêmes remarques que ci-dessus, cela à l’air également de fonctionner avec une installation de Debian Stretch Raspbian via une SD BerryBoot de 16 Go, mais j’ai le message d’erreur suivant pendant l’installation :
    [FAILED] failed to start LSB : Resize the root filesystem to fill partition
    See « systemctl status resize2fs_once.service » for details.
    Je n’ai pas trouvé pourquoi, ni compris (en cherchant sur la toile) comment résoudre cette erreur.

    Répondre
  24. Chris

    Bonjour,

    Tout d’abord merci pour votre tuto. J’ai suivi ce dernier mais il m’est encore impossible de joindre un partage réseau de mon Raspberry PI 3 vers mon PC sous Windows 10. J’ai même créé un lecteur réseau afin de m’y connecter, mais cela ne fonctionne pas.

    De plus, lorsque je veux me connecter à mes partages Windows en passant par l’interface graphique du Raspberry (en cliquant sur Réseau Windows -> WORKGROUP) ce dernier m’affiche le message :
    Erreur L’obtention de la liste des partages du serveur a échoué. Connexion refusée.
    Et juste après :
    Erreur l’emplacement indiqué n’est pas monté.

    J’utilise la dernière version de Raspbian.
    Voilà plusieurs jours que je cherche la solution et que rien de fonctionne, qu’en pensez-vous ?

    Répondre
  25. Vincent Auteur de l’article

    Bonjour Chris,
    Tout d’abord ne pas désespérer : je pense que l’on a la même configuration matérielle et logicielle, donc ça doit finir par fonctionner.
    Pour ma part j’ai galéré une semaine avant d’y arriver … mais le résultat est là : j’ai deux dossiers partagés sur mon RPI 3, un propre à chacun de mes deux PC, l’un étant sous Windows 10 Pro, l’autre sous Windows version familiale. Je peux y accéder via Ethernet ou via WiFi.
    Quelques idées qui me viennent à l’esprit, suite aux problèmes que j’ai rencontrés :
    – travailler avec un clavier et un écran dédié et branché sur le RPI : au début j’accédais au RPI en ssh via Putty : cela complique tout de travailler sur un seul écran pour les deux machines, et je ne suis pas sûr que l’on puisse monter un partage dans ces conditions. Au bout d’un moment je n’arrivais plus à connecter le RPI sur le réseau, il ne reconnaissait plus rien, ni le wifi ni l’internet.
    – ne pas hésiter à recharger la carte SD quand on a fait plusieurs manips infructueuses : on n’est plus sûr de l’état dans lequel est l’OS, même si l’on a fait des manips de suppression des commandes qui n’ont pas marché. Mieux vaut repartir de zéro avec une situation propre.
    – travailler au début avec une SD card Rasbian ou NOOBS, pas BerryBoot : quand ça marchera on pourra complexifier…
    – pour ma part j’ai opté pour un accès avec mot de passe : on évite une partie de la procédure (autoriser la connexion à distance sans mot de passe), et moins il y a à faire, moins on risque de faire des erreurs. Dans cette hypothèse de travail, il faut créer un nouvel utilisateur avec mot de passe (c’est évident, mais…). De plus, si vous avez Windows version familiale, je n’ai pas trouvé comment faire un accès sans mot de passe.
    – sur le PC, à la création du dossier partagé, onglet « partage », click sur « partager » : j’ai rajouté « pi » comme utilisateur avec « Lecture/écriture » comme niveau d’autorisations.
    Puis click sur la case « Partager » (en bas à droite de la fenêtre).
    Ensuite click sur « appliquer », puis « fermer », à chaque fenêtre en remontant l’arborescence.
    – la commande en ligne sur le RPI que j’ai utilisée pour créer le dossier de montage pour le partage est :
    sudo mkdir/media/partage (si « partage » est le nom que l’on veut donner à ce dossier de partage).
    – si ensuite la commande sudo mount ne donne pas le bon résultat, pas la peine d’aller plus loin : il faut recommencer méticuleusement après avoir tout supprimé côté PC et côté RPI.
    – quand ça fonctionne(ra) à ce niveau du tuto, voir dans mon précédent message ce que j’ai fait pour avoir un montage permanent.
    – je ne sais pas si tout cela vous donnera quelques idées pour progresser.
    N’hésitez pas à revenir sur le sujet, en précisant quel message d’erreur vous avez quand vous faites la commande sudo mount
    Cordialement,
    Vincent

    Répondre
  26. rico

    Bonjour Francois
    Merci pour cet article qui décrit clairement les étapes.

    Malheureusement, je reste bloqué et n’arrive pas a partager un répertoire de mon NAS avec mon Raspberry via un mount.
    A partir du File Manager du rpi, j’arrive bien a accéder au répertoire de mon NAS.
    Mais quand j’essaie la commande mount, j’obtiens le résultat suivant:
    sudo mount -t cifs //192.168.0.18/DiskData /home/pi/Documents/NAS/ -o user=****,pass=*****,file_mode=0777,dir_mode=0777
    mount error(95): Operation not supported
    Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

    J’ai cherché sur internet pour l’erreur 95, mais je reste bloqué.

    Merci pour votre aide.

    Répondre
  27. richard

    Bonjour Francois

    Merci pour votre aide et votre réponse rapide.
    Je suis un peu néophite de Linux et je ne connaissais pas dmesg…

    J’ai trouvé un peu plus d’informations sur internet et dans le dmesg et j’ai modifié la configuration de mon NAS pour qu’il supporte SMB3

    En entrant la ligne
    sudo mount -t cifs //192.168.0.18/DiskData /home/pi/Documents/NAS/ -o user=****,pass=*****,file_mode=0777,dir_mode=0777

    retourne le message

    mount error(13): Permission denied

    dmesg me fourni les informations suivantes

    [ 3183.300312] No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3), from CIFS (SMB1). To use the less secure SMB1 dialect to access old servers which do not support SMB3 (or SMB2.1) specify vers=1.0 on mount.
    [ 3183.349032] Status code returned 0xc000006d STATUS_LOGON_FAILURE
    [ 3183.349085] CIFS VFS: Send error in SessSetup = -13
    [ 3183.349129] CIFS VFS: cifs_mount failed w/return code = -13

    Je crains d’avoir un problème de droit d’accès. Pourtant comme je le dis dans mon premier post, avec le File Manager du raspberry j’ai accès sans problèmes de droits.

    Répondre
  28. Marc Bertaud

    Bonjour,
    J’ai suivi à la lettre ce tuto très clair. Au mount … j’obtiens
    mount error(115): Operation now in progress
    dmesg donne:
    [ 3322.887972] CIFS VFS: Error connecting to socket. Aborting operation.
    [ 3322.887992] CIFS VFS: cifs_mount failed w/return code = -115

    Répondre
  29. Chapi

    Bonjour François merci pour cet article.
    J’ai suivi le cheminement à la lettre mais quand je tape la commande sudo mount -v -t cifs //192.168.43.92/raspberry-pi/media/partage -o user=pi,pass=,file_mode=0777,dir_mode=0777
    on m’envoie l’erreur
    mount: //192.168.43.92/raspberry-pi/media/partage: can’t find in /etc/fstab.
    Pouvez-vous m’aider s’il vous plaît

    Répondre
  30. Chapi

    Bonjour François et merci. C’est vrai j’ai oublié l’espace. Maintenant après la ligne de réponse ( mount.cifs kernel point options…..) Puis
    Unable tout find suitable address.

    Répondre
  31. Chapi

    J’ai deux PC: Windows 10 Pro et Windows 7 et Raspberry Pi3. j’ai fais le partage avec Windows 10 Pro dont l’adresse est 192.168.43.92 mais après la réponse mount.cifs…….on m’envoie
    Unable tout find suitable address.
    Je ne sais pas pourquoi…

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

      Bonjour
      bin là on est dans le cas que j’évoque dans https://www.framboise314.fr/partage-de-dossier-entre-windows-7-et-raspberry-pi/#De_la_difficulte_a_se_lancer_dans_un_projet au début de l’article.
      C’est un peu comme pour l’espace qui manquait dans la commande. Je l’ai vu de suite parce que j’ai l’habitude et que ce sont des « pannes » récurrentes (que je fais aussi !)
      Maintenant avec ce que vous donnez comme info « Unable tout find suitable address. » je ne peux absolument pas tirer de conclusion, c’est juste un message d’erreur. Il faut reprendre tout ce que vous avez fait, vérifier si le nom de partage est le bon (confusion nom de machine, nom de partage ?) refaire des tests etc… à distance c’est compliqué.
      cordialement
      François

      Répondre
  32. Chapi

    Bonjour François et merci. Bon j’ai même changé d’option. Mon projet c’est de concevoir un véhicule autonome (robo) avec Raspberry Pi et Arduino. J’ai voulu faire le partage de dossier pour ne pas saturer la carte micro SD. J’ai trouvé plus utile de commenter la ligne target_dir pour ne plus enregistrer sur SD et transférer la vidéo avec opencv vers un PC pour envoyer des commandes
    1. Qu’en pensez-vous ?
    2. Maintenant, pour la communication entre PC et Raspberry puis-je utilisé Websocket pour transférer des données et prendre automatiquement des décisions entre PC et Raspberry ? Puis-je avoir des documents nécessaires ? Les codes ?
    Quel est le meilleur protocole de communication entre Raspberry et Arduino sachant que les deux sont sur le robo ( Raspberry envoie des commandes quand sa caméra détecte des obstacles à Arduino qui à son tour envoi des info au moteurs pour arrêter le robo )
    Je vous remercie très sincèrement.

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

    Bonjour
    Sans savoir exactement ce que vous projetez de faire c’est difficile de vous conseiller. Pour ce que je connais de websocket que je n’utilise pas (et je n’ai pas de doc), ça va assurer la com entre PC et Raspi mais je ne peux pas vous en dire beaucoup plus. Quand à faire communiquer un Raspi avec un Arduino vous pouvez passer par USB ou en série avec un adaptateur de niveau
    Cordialement
    Francois

    Répondre
  34. webangel

    Bonjour François, Je vous remercie beaucoup pour ce tutoriel très didactique, qui m’aide vraiment à progresser. J’ai donc mis en pratique la configuration expliquer dans le tuto, mais en effet comme beaucoup, je me heurtais au problème de la prise en compte, de la ligne des commandes du montage cifs dans le fichier /etc/fstab ,en effet lors du boot de la Raspberry pi le montage devient inopérant car il intervient avant que l’interface réseaux soit UP, du coup je me suis un peut gratter la tête en cherchant, je suis tomber sur un autre tuto pour l’utilisation de montages NFS ou CIFS via l’utilisation de autofs qui permet entre autre de pallier au problème cité plus haut sur la Raspberry pi. J’ai donc paramétré le tout via autofs et ça fonctionne du tonner plus de soucis, après une longue nuit blanche à chercher et à configurer le tout c’est du bonheur.
    Bonne soirée.
    Cordialement.

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

      bonjour
      merci pour ce retour
      je pense qu’en forçant le Raspberry Pi à attendre la connexion réseau avant de démarrer devrait aussi réduire le problème (je n’ai pas essayé)
      Bravo pour cette recherche et votre persévérance 🙂
      cordialement
      françois

      Répondre

Laisser un commentaire

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

Complétez ce captcha SVP *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.