Blog de dada

DevOps, bidouilleur et routard plein de logiciels libres

Attention, ce billet se traine depuis plus de 3 mois. Les informations qu'il contient ne sont peut-être plus à jour.


Partage de fichiers dans un réseau Windows

Rédigé par dada / / 11 commentaires


Réussir à partager des fichiers dans un environnement Windows semble simple, on installe Samba et c'est plié. J'ai pourtant rencontré trop de problèmes avec cette solution, j'ai lâché l'affaire et je me suis creusé le crâne. Ma situation est la suivante :
  • Un serveur destiné à partager des fichiers chez un hébergeur sous Debian
  • Un réseau familial sous Windows
  • Un besoin basique de sécurité
  • Un besoin de fiabilité
  • Une solution éprouvée
Je gère le serveur sous Debian sans problème. Je m'y connecte déjà en SSH et une paire de clés privée/publique avec un point de montage dans mon Nautilus. Y'a rien à ajouter, ça comble les besoins de sécurité.

Le réseau familial, j'ai absolument pas envie de me prendre la tête avec samba et sa configuration affreusement chiante. J'ai choisi un truc de feignant : Apache. Comme ça, pas de prise de tête, tout se fait via le navigateur. Pourquoi Apache ? Parce que je vais ajouter une pièce dans tout ce merdier : une Raspberry Pi première génération.
L’idée qui m'a traversé l'esprit est la suivante : faire un montage SSHFS sur une Raspberry Pi qui sera la seule à pouvoir se connecter au serveur et qui offrira son contenu aux membres du réseau via une IP privée. L’accès aux données distantes se fait via SSH et Apache s'occupe du reste dans l'unique boucle locale. Note importante : seul celui que a un accès au serveur peut partager des données. Tout se fait en sens unique.

Avec un schéma, ça donne ça :



Le dessin est mauvais, mais l’idée est là : un accès en sens unique pour les PC sous Windows via Firefox. Pour que tout ça tourne bien, il ne faut pas grand chose :
  • Une Raspberry Pi avec Raspbian, un utilisateur avec SSH et une IP fixe
  • Un serveur Apache tournant avec les droits group/user dudit utilisateur pour justement éviter les problèmes de droits (envvars).
  • Un point de montage SSHFS automatique dans le fstab si redémarrage intempestif il y a, et ça arrive toujours. Toujours
  • Un Vhost qui pointe vers ce point de montage
  • Un peu de temps
On se trouve donc avec une installation pas si simple que ça, quoique, mais qui aura le mérite de faire ce que je lui demande dans des conditions honorables. Après, en tant que DevOps (*rire*), je jongle avec ce que je sais faire de mieux : des serveurs, du SSH, de l'Apache et Debian.

Si vous avez des idées plus simples et aussi stables, je suis preneur. Je ne promets pas de les appliquer tout de suite, mais ça sera stocké quelque part.

Ah, et pour finir, je vais essayer de trouver un moyen de rendre l'affichage des fichiers partagés un peu moins laid  parce que le listing du contenant d'un répertoire est vraiment limite sous Apache.
Je me suis bien amusé à faire ça. J’espère que ça va vraiment tenir. Au final, je m’inquiète plus pour ma Raspberry Pi qui traîne en équilibre sur une Freebox que du bon fonctionnement de l'installation ;-)
 

11 commentaires

#1  - Phipe a dit :

Et pourquoi pas un ch'ti Bozon tout simplement sur le Raspberry, c'est plus ergonomique pour des user lambda.
amha...

Répondre
#2  - dada a dit :

C'est jouable, faut que je teste cette solution. J'ai quand même l'impression que c'est une solution "trop" complète. J'veux juste une liste des partages, sobres et sans interaction possible.

Répondre
#3  - Cascador a dit :

Salute,

Je suis très surpris des problèmes que tu rencontres avec Samba. C'est une solution souvent utilisée et éprouvée dans un environnement Windows. J'utilise à la maison et sur quelques dossiers partagés mineurs au boulot. Quels problèmes tu as rencontré ?

Merci, Tcho !

Répondre
#4  - dada a dit :

Plop,

Des emmerdent de droits, des soucis incompréhensibles... J'avoue clairement que je ne me suis pas trop penché dessus, maîtrisant plus les outils que j'ai mis en œuvre.
De plus, je ne veux pas que les utilisateurs puissent écrire des trucs dans le répertoire partagé. C'est à sens unique, en lecture seule. Avec un accès via Firefix, personne n'est tenté de faire une manipulation non autorisée et de faire apparaître une erreur qui ferait fuir le Michu moyen.

Répondre
#5  - pololasi a dit :

Euh faut que j'avoue un de mes péchés :
A la maison tout les ordi du réseau sont sous gnu linux (debian, xubuntu et depuis peu slitaz), le NAS est un Proliant de récup sous Open Media Vault dans lequel j'ai créé des partages... samba...

Et ça marche. Bon c'est juste chiant avec Slitaz parce qu'il faut passer par pyneighbourhood et un script pour monter automatiquement les partages samba.

Mais sinon j'ai jamais eu de soucis.

Saint RMS pardonnez moi... :D

Répondre
#6  - iceman a dit :

Si je compare avec ma solution perso qui est un NAS Synology utilisant samba et qui n'est pas ouvert sur l'extérieur (par choix), recevant des clients en Debian, ANdroid ou Debian, ça parait en effet complexe comme cela. Donc comme pololasi, je pensais à la solution du Nas Open Media Vault, mais c'est vrai que rien que samba est contre la religion de saint RMS.

Répondre
#7  - pafzedog a dit :

>Ah, et pour finir, je vais essayer de trouver un moyen de rendre l'affichage des fichiers partagés un peu moins laid parce que le listing du contenant d'un répertoire est vraiment limite sous Apache

Salut,

H5ai est vraiment le top (joli... bave... bave.... )pour remplacer le listing d'apache, tu peux faire des sélections et télécharger des archives si je me souviens bien.(et plein d'autres trucs) puis c'est assez léger.

[le site](https://larsjung.de/h5ai/)
[la démo](https://larsjung.de/h5ai/demo/)

Répondre
#8  - pafzedog a dit :

Ah bah, à force de diaspora, j'essaye de faire du markdown partout moi.... :/

Répondre
#9  - dada a dit :

Héhéhé, les habitudes ! Je regarderai h5ai, je connaissais mais j'avais oublié son existence. Merci :)

Répondre
#10  - Leepic a dit :

Pour arranger le style par défaut qui est en effet pas très attrayant, tu peux l'améliorer avec du CSS : https://css-tricks.com/styling-a-server-generated-file-directory/

Perso pour partager des fichiers en LAN, je fais un simple serveur web via Python (ici v2) :
Python -m SimpleHTTPServer 5555

Merci à Sebsauvage pour l'astuce :).
5555 étant le port à entrer dans le navigateur précédent l'IP privé de la machine depuis laquelle c'est exécuté (genre 192.168.1.35:5555). Rapide, simple à faire et ça dépanne (mais c'est pas une solutions pérenne j'admet)

Répondre
#11  - Elessar a dit :

Pour rester dans la solution d'Apache HTTP Server, qui a effectivement le mérite d'être simple, en ajoutant le module dav_fs, tu peux le configurer pour proposer des fichiers par le « protocole » DAV, qui est un genre de système de fichiers basé sur HTTP, avec des extensions pour ce qui n'est pas dans le protocole de base.

Et ça, un service DAV, contrairement à SFTP, Windows sait le lire nativement !

Répondre

Fil RSS des commentaires de cet article

Écrire un commentaire

Quelle est le deuxième caractère du mot 37vjsm ?