J’ai poussé les choses un peu plus loin et ça donne (mini tuto perso) :
Pour rappel, ma configuration est la suivante:
- Box(NAS) partageant un disque dur sur le réseau et exigeant un identifiant (appeler pour ce mini tuto idbox/passbox) :
192.168.0.1/disquereseau
- Raspbian équipé d’un serveur VPN où je souhaite “repartager” le disque réseau mais uniquement en lecture seule.
192.168.0.50 (*)
10.0.0.1 (serveur “VPN”)
- l’ip du raspberry doit être fixe car sinon au boot le montage des répertoires partagés risque de planter.
=====================
I - INSTALLATION SAMBA
sudo apt install samba samba-common-bin
=============================
II - MONTAGE DU LECTEUR RESEAU
. Création d’un répertoire sur raspbian qui sera repartagé sur le VPN;
sudo mkdir /home/medias
. Montage du disque réseau dans le répertoire qu’on vient de créer “medias”;
sudo nano /etc/fstab
Ajouter à la dernière ligne d’fstab cette ligne;
//192.168.0.1/disquereseau /home/medias auto username=idbox,password=passbox,ro,_netdev 0 0
Explications; le répertoire réseau de la box “disquereseau” va être monté dans le répertoire médias. L’option “ro” indique que le répertoire sera en lecture seule, _netdev indique que le montage au boot ne doit pas se faire avant la connexion au réseau.
Sauvegarder (control + o puis valider) et sortir (control + x), puis effectuez le montage;
sudo mount -a
Pour limiter les risque d’erreur de montage au boot en raison du délai de la connexion réseau, j’ai ajouté au config.txt de raspbian, (sur la même ligne, à la fin et séparé du reste des options par un espace) rootdelay=5 , si vous souhaitez le faire, entrez la commande suivante pour modifier ce fichier:
sudo nano /boot/config.txt
===================================
III - PARTAGE DU REPERTOIRE SUR LE VPN
. sauvegarde du fichier de configuration de samba;
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old
. création de l’utilisateur toto;
sudo useradd toto -m -G users
sudo passwd toto
. association de l’utilisateur à samba;
sudo smbpasswd -a toto
. droit d’accès de l’utilisateur/groupe au répertoire;
sudo chown toto:toto /home/medias
. édition de la configuration de samba;
sudo nano /etc/samba/smb.conf
Votre fichier doit ressembler à ça afin de partager le répertoire “medias” sur le réseau:
workgroup = WORKGROUP
server string = %h server
security = user
[MEDIAS]
path = /home/medias
browseable = yes
read only = yes
writable = no
valid users = toto
directory mask = 0755
create mask = 0755
(L’accès est donc limité à l’utilisateur toto)
Sauvegarder (control + o puis valider) et sortir (control + x),
. Relancez samba;
sudo /etc/init.d/samba restart
Normalement, vous devriez pouvoir accéder au répertoire partagé (en lecture seule) depuis le réseau avec l’adresse \192.168.0.50 (via le compte toto et depuis tout appareil situé sur le réseau, dans mon cas depuis les postes sur le VPN).
Si le répertoire reste inaccessible, il est probable que iptables bloque l’accès aux services de samba, regardez l’annexe.
========
ANNEXES
-> Editer le fichier de configuration d’iptable:
sudo nano /etc/init.d/firewall
. Compléter le fichier en y ajoutant:
#SAMBA
iptables -A INPUT -p tcp --dport 135 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 135 -j ACCEPT
iptables -A INPUT -p udp --dport 135 -j ACCEPT
iptables -A OUTPUT -p udp --dport 135 -j ACCEPT
iptables -A INPUT -p tcp --dport 137 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 137 -j ACCEPT
iptables -A INPUT -p udp --dport 137 -j ACCEPT
iptables -A OUTPUT -p udp --dport 137 -j ACCEPT
iptables -A INPUT -p udp --dport 138 -j ACCEPT
iptables -A OUTPUT -p udp --dport 138 -j ACCEPT
iptables -A INPUT -p tcp --dport 139 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -p tcp --dport 445 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 445 -j ACCEPT
iptables -A INPUT -p udp --dport 445 -j ACCEPT
iptables -A OUTPUT -p udp --dport 445 -j ACCEPT
Sauvegarder (control + o puis valider) et sortir (control + x).
Rebooter raspbian pour que les changements d’iptables soient effectif.
sudo reboot