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 ?
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 ?
C’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
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.
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
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).
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
Ouvrez 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 !
Pour les tests j’ai créé des fichiers depuis la machine Windows et envoyé ensuite BigBuckBunny (le film) sur le RasPi :
Dans la fenêtre « Exécuter »
On peut aussi lancer la connexion depuis la fenêtre Exécuter :
Saisissez 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
- http://www.cyberciti.biz/tips/how-do-i-set-permissions-to-samba-shares.html
- https://www.samba.org/samba/docs/using_samba/ch09.html
- http://samba.ausics.net/samba/docs/using_samba/appb.html
- http://www.pchilton.co.uk/2013/03/30/file-sharing-on-raspberry-pi-using-samba/
- https://amazingrando.wordpress.com/2007/06/03/share-folders-via-samba-without-a-password-easy/
- http://www.htpcguides.com/create-samba-share-raspberry-pi/