Jump to content
Sign in to follow this  
crocodudule

[ (auto-)RESOLU] [MINI-TUTO] Partager un répertoire réseau en lecture seule sous Raspbian

Recommended Posts

Bonjour à tous.

Toujours dans mes travaux de pré-vacances, je souhaite partager le disque dur de ma box (déjà accessible sur le réseau local via SMB ou FTP) sur mon raspberry (raspbian), mais en limitant ce partage à de la lecture seule (là où on peut tout faire en local sous réserve d'entrer un id et pass)..

Le raspberry est équipé d'un serveur VPN et j'aimerai que tous les ordis présents sur ce VPN, puissent accéder au répertoire de ma box en lecture seule (naturellement, la box n'est pas elle-même sur le VPN) comme un espèce de "miroir" du disque dur de la box.

Pour faciliter l'exposé, je précise comment est le réseau local:

- Box (dont je veux accéder en lecture seule depuis le VPN):

. IP locale: 192.168.0.1

Répertoire accessible librement depuis le réseau local via SMB ou FTP sous réserve d'entrer un identifiant et un pass.

- Raspbian:

. IP locale: 192.168.0.50

. IP VPN: 10.0.0.1

Merci de votre aide 🙂

____________

EDIT: MINI TUTO PLUS BAS

Edited by crocodudule

Share this post


Link to post
Share on other sites

Je pense déjà que tu dois mettre des droits sur ton dossier.

 

Pour les droit, il faut utiliser le chmod. https://fr.wikipedia.org/wiki/Chmod

Ouvre un terminal

Sudo su

Mot de passe


Chmod +x 'chemindetondossier'
chmod 400 'chemindetondossier'  (ou chmod 401)


Pour le partage de ton dossier, il faut que tu installe un samba. http://www.debianaddict.org/article38.html

Si tu veux faire du ftp, il faudra installer un serveur apache.

Edited by trOmAtism

Share this post


Link to post
Share on other sites

Apache pour un simple serveur FTP c'est de l'ultra violence.

Regarde plutôt du coté d'un logiciel dédié comme vsftpd très simple à configurer utilisant les droits et les utilisateurs système.

Share this post


Link to post
Share on other sites

Le plus simple me semble d'installer samba sur le pi, de monter le partage de la box sur le pi et de le partager en lecture seule depuis le pi :

Box (serveur smb)<->pi(client cifs)<->point de montage<-partage samba en lecture seule sur le VPN

smb.conf :

[global]
   bind interfaces only = yes
   interfaces = lo INTERFACE_VPN

[box]
   comment = Partage MachinBox
   read only = Yes
   path = /mnt/box
   guest ok = yes

Montage du partage de la box sur le pi.

Edited by Quiproquo
Sample config

Share this post


Link to post
Share on other sites

Je confirme, le plus simple c'est d'installer Samba et voilà comment j'ai fait.

 

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

 

Edited by crocodudule
  • Thanks 1

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×
×
  • Create New...