Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

vsftpd + utilisateurs virtuels + permissions selon repertoire

4 réponses
Avatar
Geoffrey
Salut à tous,
Ca fait plusieurs jours maintenant que je galère :c
Je commence à me débrouiller avec vsftpd, mais les permissions me font
encore transpirer, voici mon problème :

J'ai créer 2 utilisateurs enregistrés dans une base bdb en suivant ce
tutoriel :
http://www.andesi.org/reseau/vsftpd-un-serveur-ftp-securise-et-simple

L'arborescence de mon ftp est toute simple :
Code:
/ftp/
|__ films/
|__ commun/
|__ rep-user1/
|__ rep-user2/


Je souhaiterais que mes 2 utilisateurs user1 et user2 puissent :

dans films : lire / écrire / mais pas modifier ni supprimer l'existant
dans commun : lire /écrire / modifier / supprimer
dans rep-user[1-2] : lire / écrire / modifier / supprimer ses propres
documents et lire pour l'autre user


Est-ce que cela est faisable en utilisant des utilisateurs virtuels ? La
question me turlupine, les utilisateurs virtuels étant tous mappés au
travers d'un utilisateur réel. Comment gérer ces droits avec le système de
fichier (ou autrement).

J'ai lu les pages man et les exemples sur le site officiel, les options de
vsftpd me permettent bien des choses mais pas de spécifier des repertoires
sur lesquels positionner des permissions.

Je m'en remets à vous .. :S

4 réponses

Avatar
Benoit Izac
Bonjour,

le 19/02/2011 à 19:47, Geoffrey a écrit dans le message
<ijp36u$56b$ :

J'ai créer 2 utilisateurs enregistrés dans une base bdb en suivant ce
tutoriel :
http://www.andesi.org/reseau/vsftpd-un-serveur-ftp-securise-et-simple

L'arborescence de mon ftp est toute simple :
Code:
/ftp/
|__ films/
|__ commun/
|__ rep-user1/
|__ rep-user2/


Je souhaiterais que mes 2 utilisateurs user1 et user2 puissent :

dans films : lire / écrire / mais pas modifier ni supprimer l'existant
dans commun : lire /écrire / modifier / supprimer
dans rep-user[1-2] : lire / écrire / modifier / supprimer ses propres
documents et lire pour l'autre user



Là déjà ça pose un problème : dans le tutoriel que tu cites plus haut,
il est expliqué qu'en fait tous les utilisateurs qui vont se connecter
via pam ne seront vu que comme un seul utilisateur pour le système. Ce
n'est donc pas possible d'avoir des permissions différentes pour chaque
utilisateur.

La seule solution, à ma connaissance, c'est de créer des "vrais"
utilisateurs (avec useradd) et tu les mets dans un groupe nommé, par
exemple, ftpuser. Ensuite il ne te reste plus qu'à mettre les bonnes
permissions sur le système de fichier (chown/chmod) comme il suit :

ftp/ 077x root:root
|__ films/ 075x root:ftpuser (ils ne pourront pas ajouter)
|__ commun/ 077x root:ftpuser
|__ rep-user1/ 075x user1:ftpuser
|__ rep-user2/ 075x user2:ftpuser

Le x à la fin des permissions est selon ce que tu souhaites pour les
autres utilisateurs du système (qui ne sont pas propriétaire du
répertoire et qui ne sont pas dans le groupe ftpuser).

--
Benoit Izac
Avatar
Geoffrey
C'est comme ça que je faisais auparavant, je voulais tester le principe des
utilisateurs virtuels, plus sécuritaire d'après la méthode, mais bon si
c'est pas possible dans mon cas ...

Merci de ton aide, je vais repartir sur ce principe.

Si quelqu'un connaît une quelconque autre solution, je suis toujours à
l'écoute.
Avatar
Geoffrey
Bon, mon serveur ftp est maintenant configuré comme je le souhaitais.
Par contre j'ai pu observer un comportement étrange de vsftpd, lors de mes
test pour arriver à la bonne configuration sur les droits de mes
utilisateurs.

A chaque changement, je me contentais d'un 'service vsftpd reload', et
parfois d'un 'service vsftpd restart' pour être certain, cependant les
utilisateurs restés connectés bénéficiaient encore de l'ancienne config.

Et même pire, après avoir complètement éteins le service 'service vstpd
stop' et d'avoir vérifié 'service vsftpd status' la connection reste
'ETABLISHED' sur la sortie de netstat.
Le client peut encore uploader tranquillement

Pour couper complètement la connection, je suis obligé de tuer tous les
processus (par ce qu'ils sont plusieurs, je ne sais d'ailleurs pas pourquoi,
sûrement un processus par transferts :S ) en faisant :
'kill -9 $(pgrep vsftpd)'

Est-ce un comportement normal ? - ma version de vsftpd est la 2.3.2 -

J'en profite pour autre question, je ne sais pas si je devrais ouvrir un
nouveau post (n'hésitez pas à me reprendre) :

J'utilse curlftpfs pour monter mon répertoire ftp au boot, mon fichier
/etc/fstab contient :

curlftpfs#mout: /home/geo/ftp fuse
rw,user,allow_other,uid00 0 0

Mes transferts sont beaucoup plus lents qu'avec une "connection directe" en
ftp, de l'ordre de 8 min pour 2 mo !

D'autres sont dans le même cas ? ma configuration est-elle fausse ?
Avatar
Geoffrey
oups mon mot de passe xD
Geoffrey wrote:

Bon, mon serveur ftp est maintenant configuré comme je le souhaitais.
Par contre j'ai pu observer un comportement étrange de vsftpd, lors de mes
test pour arriver à la bonne configuration sur les droits de mes
utilisateurs.

A chaque changement, je me contentais d'un 'service vsftpd reload', et
parfois d'un 'service vsftpd restart' pour être certain, cependant les
utilisateurs restés connectés bénéficiaient encore de l'ancienne config.

Et même pire, après avoir complètement éteins le service 'service vstpd
stop' et d'avoir vérifié 'service vsftpd status' la connection reste
'ETABLISHED' sur la sortie de netstat.
Le client peut encore uploader tranquillement

Pour couper complètement la connection, je suis obligé de tuer tous les
processus (par ce qu'ils sont plusieurs, je ne sais d'ailleurs pas
pourquoi, sûrement un processus par transferts :S ) en faisant :
'kill -9 $(pgrep vsftpd)'

Est-ce un comportement normal ? - ma version de vsftpd est la 2.3.2 -

J'en profite pour autre question, je ne sais pas si je devrais ouvrir un
nouveau post (n'hésitez pas à me reprendre) :

J'utilse curlftpfs pour monter mon répertoire ftp au boot, mon fichier
/etc/fstab contient :

curlftpfs#mout: /home/geo/ftp fuse
rw,user,allow_other,uid00 0 0

Mes transferts sont beaucoup plus lents qu'avec une "connection directe"
en ftp, de l'ordre de 8 min pour 2 mo !

D'autres sont dans le même cas ? ma configuration est-elle fausse ?