Créer un NAS avec votre Raspberry Pi et Samba.
CommentairesUn des usages fréquent de la Raspberry Pi est la création d’un système de stockage multimédia local, souvent appelé NAS (Network Attached Storage, ou Serveur de Stockage en Réseau).
Aujourd’hui, nous allons donc vous expliquer comment créer un NAS sur votre Raspberry Pi à l’aide du logiciel SAMBA.
Pour résumer, l’article va vous présenter comment créer un disque dur sur le réseau local avec la Raspberry Pi et Samba,sur lequel tous les appareils multimédia (ordinateur, télévision…) pourront accéder sans avoir à être branchés dessus.
Les pré-requis pour installer un NAS
Avant toute chose, il est important de vous présenter le matériel nécessaire pour cette réalisation.
- Il vous faudra bien évidemment une Raspberry Pi
- Un cable ethernet ou un dongle wifi si elle est antérieure au troisième modèle
- Une alimentation
- Une carte SD avec raspbian installé
- Un ou des disques durs qui seront accessibles via le réseau.
Prenez de préférence des disques durs alimentés via une prise secteur pour soulager la consommation énergétique de la Raspberry Pi.
Configuration de la Raspberry Pi
Une fois que vous avez tout le matériel nécessaire, que la Raspberry est en marche et que vous êtes connecté en SSH, vous pouvez commencer par mettre à jour votre Raspberry Pi
sudo apt update sudo apt upgrade
Une fois les mises à jour terminées, nous allons créer les dossiers publics et privés qui seront accessibles sur le NAS.
sudo mkdir /home/shares sudo mkdir /home/shares/public sudo chown -R root:users /home/shares/public sudo chmod -R ug=rwx,o=rx /home/shares/public
Création du serveur NAS avec Samba
La configuration de base de la Raspberry Pi étant faite, nous allons maintenant pouvoir installer le NAS à proprement parler. Pour cela nous allons donc utiliser Samba, un logiciel capable de gérer la mise en réseau d’un disque dur pour pouvoir y accéder depuis n’importe quel système d’exploitation ou ordinateur connecté sur le réseau.
Nous allons donc commencer par installer Samba sur la Raspberry Pi à l’aide de la commande suivante :
sudo apt install samba samba-common-bin
Après cela, nous allons éditer le fichier de configuration.
sudo nano /etc/samba/smb.conf
Si vous souhaitez limiter les connexions à votre NAS en demandant une authentification, rendez vous à la ligne
##### Authentification #####
et rajoutez la ligne suivante juste en dessous
security = user
Afin de gérer les espaces de stockage privés, rendez vous maintenant dans la partie [homes]
. Si vous souhaitez pouvoir écrire (envoyer des fichiers) sur votre NAS, vérifiez bien que le fichier contient la ligne suivante :
read only = no
Enfin, tout en bas du fichier, nous allons rajouter des paramètres relatifs à l’accès à la partie public du NAS :
[public] comment= Public Storage path = /home/shares/public valid users = @users force group = users create mask = 0660 directory mask = 0771 read only = no
Fermez le fichier en le sauvegardant et redémarrez samba
sudo /etc/init.d/smbd restart
A présent, nous allons ajouter un utilisateur à samba. Dans notre exemple nous ajouterons l’utilisateur pi.
sudo smbpasswd -a pi
Ajouter un périphérique multimédia
Si vous voulez ajouter une clé USB ou un disque dur pour avoir plus de stockage, c’est bien évidemment possible. Pour simplifier les choses si vous souhaitez connecter plusieurs périphériques, il est préférable d’effectuer de brancher/configurer les périphériques un par un.
Commencez par brancher votre périphérique à votre Raspberry Pi. La première chose à faire après cela c’est de détecter quel est le nom que la Raspberry lui a associé. Pour cela exécutez la commande
dmesg
Généralement, le nom du média est sda1
mais cela peut changer notamment si vous avez plusieurs périphériques branchés.
Attention, votre périphérique doit être formaté avec un système de fichier Linux (ext3, ext4, etc.). Si ce n’est pas le cas, vous pouvez la formater en utilisant la commande suivante (en remplaçant sda1
par le nom de votre périphérique s’il est différent).
umount /dev/sda1 sudo mkfs.ext4 /dev/sda1
Créez ensuite un répertoire dans lequel sera monté le périphérique pour qu’il soit accessible via le NAS, et lui donner les droits de lecture/écriture nécessaires
sudo mkdir /home/shares/public/disk1 sudo chown -R root:users /home/shares/public/disk1 sudo chmod -R ug=rwx,o=rx /home/shares/public/disk1
Le nom du dossier (disk1 dans l’exemple) importe peu, mettez celui que vous souhaitez pour pouvoir le retrouver aisément sur le réseau. Une fois que c’est fait, montez le périphérique dans ce dossier.
sudo mount /dev/sda1 /home/shares/public/disk1
Monter les périphériques au démarrage de la Raspberry Pi
A ce stade là de l’installation, il reste effectivement un problème. Lors du redémarrage de la Raspberry Pi, les péripériques ne se montent pas obligatoirement. Pour corriger cela, éditez le fichier fstab.
sudo nano /etc/fstab
et pour chaque périphérique, rajoutez en bas du fichier la ligne suivante (en faisant bien attention de ne pas se tromper sur le nom du périphérique et le répertoire dans lequel il doit être monté)
/dev/sda1 /home/shares/public/disk1 auto noatime,nofail 0 0
Se connecter au serveur NAS
Notre NAS est maintenant configuré et je n’ai donc plus qu’à vous expliquer comment vous y connecter. Je ne vais pas le faire pour tous les systèmes d’exploitation, c’est assez similaire pour chacun. Sachez que pour les smartphones, vous pouvez vous y connecter avec une appli comme File Expert pour Android ou File Explorer sur IOS.
Pour vous connecter depuis Windows, rendez vous sur la fenêtre Ce PC cliquez sur l’onglet Ordinateur puis cliquez sur Connectez un lecteur réseau.
La lettre du lecteur importe peu mais vous devez renseigner où se trouve la Raspberry Pi sur le réseau. soit par son nom, soit par son adresse ip. Si vous n’avez jamais changé le nom de votre Raspberry Pi vous devriez pouvoir vous connecter au répertoire public en renseignant \\raspberrypi\public
et au répertoire privé avec le nom d’utilisateur (dans notre exemple pi
) en renseignant \\raspberrypi\pi
Voilà, vous avez désormais un superbe NAS avec votre Raspberry Pi ! Il ne vous reste plus qu’à installer un média-center sur une seconde Raspberry Pi pour avoir un système multimédia au top !
J’ai exactement le même problème donc, copier/coller
Damien 80000
1 février 2020 à 13 h 14 min
Bonjour,
Merci pour votre tuto ! Je rencontre cependant un souci sur la fin. Lorsque je souhaite me connecter au dossier via windows et que je rentre \\raspberrypi\public il m’est impossible de me connecter. On m’indique que le mot de passe est incorrect. Il s’agit bien du mot de passe utilisé pour se connecter au raspberry ? (notamment via le ssh et que l’on peut modifier sur l’interface bureau (Préférences>Configuration du Raspberry pi).
Je vous remercie par avance pour votre aide et pour votre travail d’une manière générale :).
Et je ne trouve rien de satisfaisant sur le forum ou j’ai mal cherché.
Mais est-ce que Damien 80000 a trouvé le problème ?
Salut, je n’ai pas de pi avec Samba sous la main pour vérifier. Si tu ne trouves pas de sujet sur le forum, je t’invite à en créer un :).
Salut, J’ai un disque dur de 1To, j’ai fait tout comme il faut pour le mount dans le dossier /shares/public/DD1 mais sa n’as pas l’air de fonctionner car quand je veux mettre mes fichier qui font 50GO sa me dit que je n’ai pas asser de place :c
Salut, peut-être le disque est-il formaté en FAT32 qui limite les fichiers à 4 Go ?
Bonjour,
Merci pour votre tuto ! Je rencontre cependant un souci sur la fin. Lorsque je souhaite me connecter au dossier via windows et que je rentre \\raspberrypi\public il m’est impossible de me connecter. On m’indique que le mot de passe est incorrect. Il s’agit bien du mot de passe utilisé pour se connecter au raspberry ? (notamment via le ssh et que l’on peut modifier sur l’interface bureau (Préférences>Configuration du Raspberry pi).
Je vous remercie par avance pour votre aide et pour votre travail d’une manière générale :).
Salut, n’ayant plus utilisé samba depuis longtemps, je pense que tu trouveras plus facilement de l’aide sur le forum.
Bonjour
J,ai scrupuleusement suivi le tuto ,j,ai le system Raspbian Buster 4.19 installé sur une carte SD de 32 go. Je monte une cle USB de 64 GO formatée ext4 comme disque NAS.
Je me connecte a partir de Windows en me connectant a un lecteur de réseau et en regardant les propriétés de mon lecteur Z en l’occurrence je m’aperçois que le disque Nas est ma carte SD de 32GO et non ma clé USB de 64 Go ;
J;ai refait plusieurs fois la manip et j’ai toujours le même pb.
Si je me connecte depuis mon téléphone portable je retrouve bien les infos que je mets sur mon Nas sur dsk1 par exemple mais le dsk1 est sur ma carte systeme.
Une info complémentaire j’ai modifie mon rasp pour qu’il puisse booter depuis un dd dur ou un ssd éventuellement.. Cela pourrait il avoir une relation avec mon PC.
Le plus étrange je ne trouve rien sur les forums relatant ce type de pb , sachant que j’ai fait plusieurs fois la manip en partant de zéro et en recréant toujours un nouveau système propre.
Merci si vous avez des infos
JB
Salut, tu devrais ouvrir un sujet sur notre forum, tu trouveras sûrement des gens pour t’aider.
sudo mkdir /home/shares/public/disk1
sudo chown -R root:users /home/shares/public/disk1
sudo chmod -R ug=rwx,o=rx /home/shares/public/disk
Manque pas un 1 tout a la fin ?
Merci !!!
Bonjour,
Impossible pour moi de le faire marcher. Zindozs m’indique que je ne dispose pas des autorisations nécessaires pour utiliser cette ressource, et la log m’indique « At this time the ‘Samba’ binary should only be used for either : ‘server role = active directory domain controller’ or to access the ntvfs file server with ‘server services = +smb’ or the rpc proxy with ‘dcerpcendpoint servers = remote’ You should start smbd/nmbd/winbindd instead for domain member and standalone file server tasks.
Bonjour,
La commande sudo chmod -R ug=rwx,o=rx /home/shares/public/disk ne marche pas. à remplacer par sudo chmod -R ug=rwx,o=rx /home/shares/public/disk1 je suppose
C’est bon a force de chercher j’ai trouvé la solution…il faut d’abord créer les utilisateurs dans Raspbian et ensuite les intégrer dans samba
j’ai un soucis pour créer des users,le profile Pi est créé,mais je voulais créer un profile supplementaire pour les autres utilisateurs….
a chaque fois que je mets la commande
sudo smbpasswd -a Syriolkay(par exemple)
ca me demande le mdp 2 fois,là rien d’annormal et apres ca me mets ce message d’erreur:
Failled to add entry for user Syriolkay
d’où cela pourrait il venir?
Salut, tu devrais aller demander sur le forum, tu trouveras plus facilement de l’aide.
Bonjour,apres m’etre pris la tête a mainte et mainte reprise pour faire redemarrer Samba,je me suis appercu que votre commande n’était pas bonne….
sudo /etc/init.d/samba restart ——–>sudo: /etc/init.d/samba: command not found
il faut rentrer cette commande:
sudo /etc/init.d/smbd restart
tres bon tuto…
Merci pour l’info, ça doit être une modification récente, nous avons corrigé.
Bonjour,
Je pense qu’il faut noter sudo /etc/init.d/smbd restart en lieu et place de sudo /etc/init.d/samba restart.
J’avais le retour sudo /etc/init.d/samba restart command not found et c’est la solution que j’ai trouvé sur les forums.
Cordialement
Merci, on a corrigé ça !
Bonsoir à tous,
J’ai suivi le tuto afin de créer le NAS ainsi que OSMC.
Par contre, je ne sais pas comment lier les deux.
Y a t’il une personne capable de me répondre svp?
Merci d’avance
Salut, pour faire un NAS avec OSMC je te conseils d’installer OSMC dans un premier temps, puis d’accéder à la ligne de commande d’OSMC et d’installer le NAS dessus.
Attention, si vous avez comme moi le soucis de taille de stockage lorsque vous montez le lecteur réseau, pensez dans le fichier /etc/samba/smb.conf à mettre path = /home/shares/public/disk1
Ajoutez bien ces droits
sudo chown -R root:users /home/shares/public/disk1
sudo chmod -R ug=rwx,o=rx /home/shares/public/disk1
Vous verrez ensuite le poids de stockage fourni par votre lecteur (HDD, USB…) et pourrez écrire dedans sans soucis
pi@raspberrypi:~ $ sudo apt install samba samba-common-bin
Reading package lists… Done
Building dependency tree
Reading state information… Done
Package samba is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
samba-common samba-libs
Package samba-common-bin is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package ‘samba’ has no installation candidate
E: Package ‘samba-common-bin’ has no installation candidate
Salut, essayes un apt update avant, parfois c’est juste la lsite des paquets qui n’est pas à jour.
sudo chmod -R ug=rwx,o=rx /home/shares/public/disk
devrait être
sudo chmod -R ug=rwx,o=rx /home/shares/public/disk1
Je ne suis pas sur que le Raspberry ne soit le plus indiqué. Ce qui fait la force du raspberry c’est sa très forte communauté et ses très très nombreuses possibilité.
Cependant pour des usages très classiques comme celui-ci, je conseillerai plutot un autre type de nano pc qui a plus de chevaux mais surtout un vrai port Ethernet, qui plus est 1Gbits/s.
Depuis peu, il y a l’Ordroid avec le port Gigibits + USB3 en non partagé. Le modèle HC1 de chez Ordroid, un convertisseur USB3=>SATA est mis en place. Il est vendu dans un boitier, c’est propre. Désolé de faire de la pub d’un autre produit sur un site de raspberry mais je reste persuadé que Raspberry est beaucoup plus adapté sur des projets plus sophistiqué ne demandant pas spécialement de ressources réssources ou de puissance.
Je voulais seulement vous remercié. Merci.
J’ai eu quelques petits problèmes, pour compléter le tuto :
pour détecter le nom du disque dur j’ai dû plutôt utiliser la commande :
sudo fdisk -l
Deuxième point, je n’arrivais pas à écrire sur mon HDD via le réseau à la fin du tuto, alors que dans le dossier « public » je pouvais, j’ai dû rajouter les commandes suivantes :
sudo chown -R root:users /home/shares/public/disk1
sudo chmod -R ug=rwx,o=rx /home/shares/public/disk1
J’ai pas galéré longtemps, mais ça peut aider pour les débutants
Sinon tip top ! Merci du tuto
Merci du retour !
Bonjour,
J’arrive sans problème à me connecter au Raspberry Pi via W10, puis à voir le dossier disk1 et à y accéder. Cependant, je ne peux pas écrire dessus, il m’indique qu’il me faut une autorisation.
Je pense pourtant avoir tout bien suivi dans votre tutoriel ^^
Une idée de la provenance de ce problème ?
Merci !
Salut, nous avions oublié la commande d’ajout des droits sur le dossier du disk, le tutoriel est maintenant à jour !
Bonjour,
je dirais aussi lors du formatage de rajouter sudo
sudo mkfs.ext3 /dev/sda1
Yep, on ajoute ça !
il y a une erreur dans ce tuto.
a l’étape:
et rajoutez la ligne suivante juste en dessous
security = use
ajouter un « r » a la fin de « use ».
Merci du retour, c’est fixé.
Bonsoir,
Pourquoi un formatage en Ext3? le Ext4 ne fonctionne-il pas?
cf:Attention, votre périphérique doit être formaté avec un système de fichier ext3.
Cordialement
Je pense que ext4 doit fonctionner parfaitement. En fait le sens de notre phrase aurait plutôt du être un format « ext » de façon général. Si tu peux me confirmer que ça marche en ext4 on mettra ça à jour.
Merci pour ce tuto.
Juste pour préciser ne pas lire « security = use » mais « security = user ».
Qui est, je pense, le mode par défaut, si rien n’ai précisé,
C’est corrigé merci !
Bonjour, je suis un peu nouveau. J’ai suivi le tutoriel à la lettre. Tout fonctionne mais quand je me connecte sur windows j’ai une erreur d’authentification.
Le user c’est bien pi et le mot de passe celui utilisé lors de la commande bash : sudo smbpasswd -a pi ?
merci d’avance
Salut, oui normalement c’est ça, mais il y avait une petite erreur de frappe sur « security = user » on avait mis « security = use » à la place !
Bonjour,
Il y a quelques années, j’avais monté un serveur SAMBA avec le premier Raspberry Pi + DD Externe auto-alimenté, les performances étaient désastreuses .. Est-ce qu’avec le RPi 3 les performances devraient être améliorées ?
Merci d’avance pour votre éclairage,
Lib’
Salut, oui je pense que ça c’est bien améliorer. De notre coté nous n’utilisons pas au quotidien car par l’utilité, mais je sais que c’est une utilisation très « classique » du pi.
Oui enfin un nas sur des dd en USB… Même en etant pas exigeant sur les performances, c’est vraiment médiocre…
Alors effectivement, l’USB c’est pas le truc le plus rapide du monde. En même temps, on est pas sur les mêmes budgets non plus.
Après ça pose une question, quel intérêt d’avoir du full SSD de la mort qui tue si derrière c’est pour passer par le réseau local et ta box en Wi-Fi, qui sera de toutes façons bridée à 100 MB/s…
Quel serait le facteur limitant ?
L’USB 2.0 ? Le Wifi ? La Raspberry elle même ? Est-ce que brancher la Rapsberry sur le port Ethernet va améliorer les vitesses de transmission.
Sinon, pourquoi ne pas ajouter nofail à la ligne
/dev/sda1 /home/shares/public/disk1 auto noatime 0 0
afin que ça ne plante pas si le DD n’est pas branché ?
Cela donnerait :
/dev/sda1 /home/shares/public/disk1 auto noatime,nofail 0 0
Merci de l’idée, on ajoute. Si je devais miser, par défaut je dirais le Wi-Fi, et juste après l’USB 2.0.
« Prenez de préférence des disques durs auto-alimentés pour soulager la consommation énergétique de la Raspberry Pi. »
Les disques durs auto-alimentés ne sont pas JUSTEMENT ceux qui utilise l’alimentation via le port USB = Augmente la consomation du Raspberry ?
=> Je ne sais pas pour les modèle récent de Rasp (j’ai le 2B encore) mail il me faut préférer un disque dur alimenté (ou un alim rasp a + de 2A) pour « supporter » un dd auto-alimenté.
C’est effectivement ce que je voulais indiqué, erreur de formulation. Je change ça. Merci pour le retour 🙂