broncowdd / BoZoN

Minimalist Drag & drop file sharing app (version 2.4 build 15)
Other
284 stars 47 forks source link

Configuration des permissions pour BoZon + FTP #193

Open briceparmentier opened 7 years ago

briceparmentier commented 7 years ago

Bonjour !

Un collègue m'a fait découvrir BoZon, et j'en suis ravi (même si ça ne colle pas exactement à mon besoin personnel) !

J'ai cependant une question concernant la possibilité de pousser des fichiers via un client FTP dans les dossiers de BoZon. Je n'arrive pas à obtenir une configuration satisfaisante.

Pour faire simple, voici ma configuration :

Mon problème est sur les permissions du dossier "uploads" (et de ses enfants) de BoZon.

=> Au final je me retrouve à devoir passer le dossier "uploads" de BoZon en 777 (rwx pour tout le monde) si je veux pouvoir tout faire... ce qui vous l'admettrez est loin d'être viable en termes de sécurité... (surtout pour le dernier 7, je ne vois pas l'utilité). Autre problème que cela génère : quand je me connecte avec mon client FTP dans le dossier de mon utilisateur, je peux remonter au niveau de "uploads" et ainsi naviguer librement dans le dossier des autres utilisateurs, ce qui de la même manière n'est pas souhaitable !

Bref voilà, je me demandais si vous auriez des conseils pour configurer tout ça proprement :)

Merci beaucoup d'avance ! Brice

jerrywham commented 7 years ago

C'est plus un problème de droits FTP qu'un problème lié à BoZoN. Pour ton FTP, si tu utilises comme utilisateur le même que le propriétaire de ton dossier /var/www/html, est-ce que le problème persiste ?

briceparmentier commented 7 years ago

Merci pour la réponse ! Tout d'abord, on est bien d'accords, et pardon si je n'ai pas été clair à ce sujet, je n'ai jamais dit que le problème (si problème il y a) vient de BoZoN. Je suis simplement en quête d'aide pour coupler ça au mieux avec BoZoN ;)

Pour les détails techniques, j'ai essayé tellement de choses que je ne sais pas dire avec certitude si j'ai essayé de me connecter avec le même utilisateur que le propriétaire du dossier /var/www/html/, mais j'ai tout de même un doute là-dessus car il s'agit de l'utilisateur par défaut qu'utilise le serveur nginx (et donc BoZoN) : www-data. Comme je l'ai dit, j'ai attribué à mon utilisateur FTP le même groupe primaire que cet utilisateur nginx : www-data.

Parce qu'au final, j'arrive à faire ce que je veux, à savoir :

J'ai lu plusieurs sujets par ici où les utilisateurs parlent de FTP, donc j'imagine que ça doit être faisable, mais je n'arrive pas à trouver la configuration adéquate :p

jerrywham commented 7 years ago

Si tu utilises le propriètaire du dossier, tu ne dois pas être en 777. Tu as quoi dans ton fichier de configuration de vsFTP (/etc/vsftpd.conf) ? Est-ce que tu utilises une base de données pour gérer tes utilisateurs FTP ?

briceparmentier commented 7 years ago

Si j'utilise le propriétaire du dossier, ça signifie que je suis limité à un seul compte possible pour l'accès FTP. L'idée serait d'en avoir plusieurs (autant que de comptes sur BoZon potentiellement), même s'il n'y en aura pas des tonnes. Je n'ai pas accès facilement à mon fichier de conf de vsftpd ce soir, je le posterai demain. Qu'entends-tu par "base de données" ? Pour le moment j'ai suivi le tuto dont j'ai mis le lien sur mon post initial ici, et j'ai créé un nouvel utilisateur dans Linux directement. J'avais essayé précédemment de créer une liste des utilisateurs contenue dans un fichier à lier avec les paramètres chroot_list_enable et chroot_list_file, sans grande conviction...

jerrywham commented 7 years ago

Dans ton tuto, il est dit que les utilisateurs peuvent être enregistrés dans une base de données...

Pour ce qui est de ta demande, je ne pense pas que ce soit possible car du point de vue du serveur, il n'y a qu'un seul utilisateur/propriétaire des fichiers et c'est celui qui posséde /var/www/html (typiquement www-data). C'est celui qui fait "tourner" les fichiers php.

Il faudrait que BoZoN modifie le CHOWN et le CHMOD des dossiers utlisateurs mais que ces utilisateurs soient créés au préalable sur le serveur en tant qu'utilisateurs du système (et qu'ils appartiennent au groupe www-data, mais alors ils auront la possibilité de remonter toute l'arborescence de www-data).

Je ne sais pas si tu vois ce que je veux dire ?

briceparmentier commented 7 years ago

Salut ! Voici mon fichier de config de vsftpd en PJ. vsftpd_conf.txt

Pour l'histoire du tuto sur vsftpd, il s'agit d'une énumération des moyens possibles pour gérer les utilisateurs. Il cite la méthode de la bdd mais ne l'utilise pas.

Sinon oui je vois carrément ce que tu veux dire, c'était une réponse que je craignais. Ceci étant la nuit ayant peut-être un peu porté conseil, j'ai au moins une autre option à explorer : laisser le serveur FTP indépendant (du point de vue des répertoires) de BoZoN, et créer un script local qui scrute ce qui se passe dans les répertoires du serveur FTP et déplace ensuite dans les répertoires de BoZoN.

Je vous tiens au jus ! Merci

jerrywham commented 7 years ago

Ah oui pas con. Par contre, il faudra lancer le rafraichissement de la base de BoZoN lors de la connexion car sinon, les fichiers uploadés via FTP ne seront pas visibles.

Si ça marche, n'hésite pas à partager ;-)

briceparmentier commented 7 years ago

Bonsoir ! Oui effectivement j'ai bien pensé qu'il faudrait "regénérer" la base une fois les fichier déplacés, je me doute qu'il doit y avoir une URL appelable sans forcément être authentifié sur l'interface web.

Je teste tout ça et je vous poste bientôt mes résultats !

briceparmentier commented 7 years ago

Bonjour ! Juste pour tenir au courant de mes avancées, je bloque sur le fait que je n'arrive pas à exporter la base de BoZoN pour utiliser un autre répertoire de stockage que celui par défaut (configuration modifiable dans le config.php à la variable $default_path). Pour la partie synchronisation entre les répertoires du serveur FTP et les répertoires de BoZoN, un coup de inotify-tools pour ceux qui connaissent, un script qui gère tout ça et le tour est joué normalement sans trop de complications ;) La suite bientôt (avec les fêtes qui arrivent c'est plus compliqué de trouver du temps) !

broncowdd commented 7 years ago

Oui, le temps manque pour tout faire !