Menu Fermer

Raspberry Pi : partager un disque dur en réseau (NAS)

Configuration de Raspbian

Maintenant que nous sommes connectés ou directement sur la console du Raspberry Pi, nous allons commencer par mettre à jour la bestiole.

Pour se faire lancez la commande suivante :

sudo apt-get update && sudo apt-get upgrade

Confirmez par oui pour mettre à jour les paquets.

Montage des disques dur

On va maintenant créer des dossiers où nous allons monter nos disques dur (exemple avec deux disques):

sudo mkdir /media/DD1
sudo mkdir /media/DD2

Il nous faut maintenant connaître la localisation de nos disques dur on va utiliser la commande suivante :

sudo fdisk -l

Vous devriez voir quelque chose comme : “/dev/sda1” par exemple en dessous de “Device Boot”

Si vous ne trouvez rien peut être que votre disque dur n’est pas reconnu vérifiez sa présence avec la commande suivante :

lsusb

Cela vous fournira la liste des périphériques branchés en USB histoire de vérifier que tout est bien détecté.

Une fois que l’on connait où sont les disques durs on va les monter dans les dossiers que nous avions créés (exemple avec deux disques durs) :

sudo mount -t auto /dev/sda1 /media/DD1
sudo mount -t auto /dev/sdb1 /media/DD2

Si vous obtenez une erreur comme quoi le ou les disques sont déjà montés par Raspbian, il va falloir “dé-monter” les disques avant de lancer ces commandes.

On va regarder comment sont montés les disques avec la commande suivante

sudo mount

Vous devriez voir tout en bas par exemple /dev/sda1 /media/LaCie (nom de mon disque dans ce cas précis)

Mount Raspberry Pi

Démontez le disque avec la commande suivante (à adapter selon votre cas le chemin peut même être différent) :

sudo umount "/var/media/LaCie"

Relancez ensuite la ou les commandes “mount” comme vu ci-dessus pour monter vos disques comme prévu.

Mount HDD linux

Une fois que c’est fait, on va faire en sorte que cela se fasse automatiquement à chaque redémarrage du Raspberry Pi.

Comme ça on ne refais pas ces manipulations lors d’une coupure de courant ou si vous redémarrez la machine.

On va modifier le fichier suivant :

sudo nano /etc/fstab

On ajoute les lignes suivante à la fin du fichier (à adapter selon le nombre de disques)

/dev/sda1 /media/DD1 auto noatime 0 0
/dev/sdb1 /media/DD2 auto noatime 0 0

Pour sauvegarder les modifications faites “Ctrl + O” et pour quitter l’éditeur faites : “Ctrl + X”.

Voilà nous avons terminé la première étape, où dès que l’on branche notre Raspberry Pi nos disques dur sont montés automatiquement et on peut mettre ce que l’on veut dans DD1 ou DD2.

Partage Samba

Configuration du partage local des disques

Bon alors maintenant on va installer Samba c’est lui qui va nous permettre de mettre en place un partage sur le réseau visible depuis une machine Windows ou autre.

On installe Samba :

sudo apt-get install samba samba-common-bin

Par précaution on va faire une copie de la configuration par défaut de Samba :

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

On va maintenant aller modifier le fichier de configuration de Samba pour ce faire lancez la commande suivante :

sudo nano /etc/samba/smb.conf

 

Comme tout à l’heure avec nano : pour sauvegarder les modifications faites “Ctrl + O” et pour quitter l’éditeur faites : “Ctrl + X”.

Voici ce que l’on va mettre dans notre fichier de configuration.

Vous pouvez modifier tout ça en fonction de vos besoins et créer des partages supplémentaires selon vos envies.

Par défaut je vais créer 3 types de dossiers partagés sur votre NAS.

Il va s’appeler “MONNAS” d’après le fichier de configuration mais vous pouvez modifier ça sans soucis.

Partage dossier

Il va contenir 3 types de dossiers :

  • un dossier “Public” : qui sera accessible en lecture et écriture pour tous les appareils connectés sur votre réseau local. Pratique pour déposer / récupérer des fichiers d’une machine à une autre par exemple.
  • un dossier “Films” : qui sera accessible en lecture seule par tous les appareils connectés sur votre réseau local. Tout le monde pourra aller streamer les vidéos présentes dedans mais personne ne pourras modifier ou supprimer le contenu à distance. Vous pouvez d’ailleurs en créer plusieurs pour vos “Series-Tv”, vos “Musiques” ou encore vos “Photos” qui seront consultables à distance sur votre réseau local.
  • un dossier “Perso” : qui sera invisible sur le réseau et qui demandera un login et un mot de passe pour y accéder. Un partage pratique pour y ranger des données sensibles (documents, factures, etc…)

Voici le contenu du fichier utilisé :

#Configuration générale
[global]
   workgroup = WORKGROUP
   server string = %h server

   # nom de votre NAS
   netbios name = MONNAS
   dns proxy = no

   # un endroit pour stocker les logs / debug
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d

   # Authentication
   security = user
   encrypt passwords = true
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
   map to guest = bad user
   usershare allow guests = yes

# Nos différents partages : vous pouvez en créer plusieurs à partir de ces 3 modèles selon vos besoins
[Public]
   path =/media/DD1/MONNAS/Public
   read only = no
   locking = no
   guest ok = yes
   force user = pi

[Films]
   path =/media/DD1/MONNAS/Films
   read only = yes
   locking = no
   guest ok = yes
   force user = pi

[Perso]
   browseable = no
   path = /media/DD1/MONNAS/Perso
   writable = yes
   username = Toto
   only user = yes
   create mode = 0600
   directory mask = 0700

Une fois sauvegardé, il faut maintenant créer les différents dossiers que nous avons déclarés dans le fichier de configuration.

sudo mkdir /media/DD1/MONNAS
sudo mkdir /media/DD1/MONNAS/Public
sudo mkdir /media/DD1/MONNAS/Films
sudo mkdir /media/DD1/MONNAS/Perso

On donne les droits d’écritures sur nos disques durs :

sudo chmod 777 -R /media/DD1
sudo chmod 777 -R /media/DD2

Dans le fichier de configuration, pour le partage “Perso” nous avons définis un nom d’utilisateur : “Toto” par défaut que je vous invite à personnaliser d’ailleurs.

Il faut maintenant créer un compte avec login et mot de passe pour qu’on puisse ouvrir ce dossier partagé avec cet utilisateur.

On crée un compte utilisateur :

sudo useradd Toto -m -G users
sudo passwd Toto

On associe cet utilisateur à Samba :

sudo smbpasswd -a Toto

Ensuite on donne à cet utilisateur les droits d’accès au dossier “Perso” :

sudo chown Toto:Toto /media/DD1/MONNAS/Perso/

Voilà maintenant tout est enfin prêt il n’y a plus qu’à relancer le service Samba pour appliquer les modifications faites dans le fichier de configuration :

sudo /etc/init.d/samba restart

Bilan Raspberry PI NAS

Le bilan

Une fois redémarré vos partages doivent être visibles sur le réseau local (sauf celui “Perso” qui est masqué).

Il vous faudra peut être redémarrer votre machine Windows pour voir le nouveau périphérique sur le réseau qui s’appellera “MONNAS”.

Il vous suffit d’ouvrir cette machine pour y trouver vos différents partages à savoir : Public et Films par défaut.

Pour accéder à votre partage privé (“Perso”), il vous faudra rentrer dans la barre d’adresse le chemin suivant : “\\MONAS\Perso”.

Vous serez ensuite invité à saisir un login et mot de passe (que vous aviez défini pour l’utilisateur Toto) pour en consulter le contenu !

Petite remarque si jamais vous voulez qu’il soit visible mais protégé par un mot de passe, il vous suffit de modifier la propriété “browseable = yes” dans le fichier de configuration de Samba.

Avec votre Raspberry Pi en utilisant un câble Ethernet vous pourrez atteindre des débits allants jusqu’à 11 Mo /sec  c’est largement suffisant pour streamer un film en full HD vers n’importe quel périphérique ou pour faire vos petits backups. C’est vraiment une solution économique par rapport à l’achat d’un vrai NAS même si les performances ne sont pas les mêmes bien entendu.

Laisser un commentaire