Suite à 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.
Au sommaire :
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.
Parfois 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.
Si 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 :
Vous ê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
Par 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 :
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. Pensez aussi à lire l’aide correspondant à cette option (si, si, j’insiste !) :
Bien 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. Cliquez sur le bouton Partage avancé…
Par 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 :
Cliquez ensuite sur le bouton Autorisations :
Pour terminer d’ouvrir votre machine à l’appétit des hackers du monde entier, sélectionnez Tout le monde et cliquez sur Autoriser – Contrô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.
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.
Renseignez 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.
Cochez 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 !
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).
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
Bonjour,
L’utilisation de Samba ne serait elle pas aussi une solution?
Bonne soirée à tous
Bonjour Zodd
cifs est l’implémentation moderne de samba. smbfs est « deprecated »…
https://pserver.samba.org/samba/ftp/cifs-cvs/linux-cifs-client-guide.pdf
Cordialement
François
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.
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
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.
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
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
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
Ping : Partage de dossier entre Windows 7 et Raspberry...
Ping : Ce qu’il ne fallait pas manquer cette semaine du 5/07 au 12/07 | High-tech & Divertissement
Ping : Ce qu’il ne fallait pas manquer cette semaine du 5/07 au 12/07 | Maroc Domotique
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.
Oups, ma commande mount a été coupée. Je la réécris plus simplement :
mount -v -t hfsplus 192.168.2.2/rbpi /home/pi/partage
Ping : Une caméra de surveillance vidéo avec le Raspberry Pi | Framboise 314, le Raspberry Pi à la sauce française….
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
A propos, ça marche très bien dans Windows XP (essayé dans XP Pro)
merci pour l’info 😉
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.
Bonjour Jacquot74
Vous verriez ça en Samba ou en NFS?
Cordialement
François
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.
Ping : Un cadre Photo avec le Raspberry Pi | Framboise 314, le Raspberry Pi à la sauce française….
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
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
Merci pour cette info qui sera utilise pour ceux qui tournent en version familiale
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)
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
Oui en effet. J’ai juste recopié la suite d’instruction et réponses du système.
Merci
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
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.
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é.
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 !
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
Bonjour
Vous pourriez aussi essayer de rajouter dans les parametres de demarrage que le systeme attende le demarrage du reseau pour continuer
Cordialement
Francois
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)
Ping : Montage d’un dossier partage | Raspi Drone
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.
bonjour
vous avez bien fait sudo mount… ?
cordialement
François
salut,
oui j’ai fait tous ce qui vous avez écrire.
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
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
Bonjour Thomas
juste pour info : vous êtes passé de Raspbian Wheezy à Raspbian Jessie ?
cordialement
François
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…
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
Bonjour
merci pour ce retour qui servira sans aucun doute à des lecteurs !
cordialement
François
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)
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.
Bonjour Vincent
merci pour votre retour
c’est sans doute dû à la façon dont BerryBoot gère les partitions mais je n’ai pas d’infos là dessus
cordialement
François
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 ?
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
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.
Bonjour Richard
Difficile avec peu d’infos de vous aider
Que dit dmesg ?
Jetez aussi un coup d’oeil ici
(Ajouter la version)
Tenez moi au courant
Cordialement
François
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.
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
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
Bonjour
Verifiez la syntaxe
Il ne manque pas un espace ? Devant /media…
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.
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…
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
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.
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
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.
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