[FTP] Stratégie FTP : Utilisateur virtuel ET local

Salut,

J’espère juste que je ne me suis pas trompé de forum, j’ai un problème de “stratégie” d’accès FTP, j’ai du mal à “conceptualiser”, j’ai besoin d’aide

J’ai un serveur Debian 5.0 avec une ip fixe sur lequel 3 domaines sont hébergés (apache, php, mysql, bin, postfix), chaque domaine à un accès FTP.
Le serveur supporte plusieurs services (daemon) spécifiques, une 30ene d’utilisateurs locaux avec chacun un accès FTP.

A/ Utilisateurs Locaux ET Virtuel
J’ai désormais besoins d’étendre la strategie d’accès au FTP par groupe d’utilisateur pour y rajouter des comptes “clients” pour l’echange d’info avec les clients.
et des comptes “administrateurs de groupe”.

Groupe “Utilisateur” : chrooté en RW dans /home/$user
(Utilisateur locaux classique, pas de shell, accès FTP a son home)

Groupe “Domain” : chrooté dans /home/web/$domain
(Utilisateur domaine, pas de shell, accès FTP a son home)

Groupe “Admin Domain” : chrooté en RW dans /home/web (récursif)
(Utilisateurs avec shell, accès FTP en RW a l’ensemble de /home/web et sous répertoire)

Groupe “Client” : chrooté dans /home/clients/$client
(Utilisateurs “virtuelle”, accès FTP en RW a sont répertoire, évidement pas de shell)

Groupe “Admin Client” : chrooté en RW dans /home/clients (récursif)
(Utilisateurs avec shell, accès FTP en RW a l’ensemble de /home/clients et sous répertoire)

J’ai reussi à donner les accès “utilisateur système” sans trop de soucis avec les ACL, ca fonctionne bien au point de vu du bash, donc des droits système.
Mais sur le FTP c’est une autre histoire, si j’active les “guests” sur vsftpd je me retrouve avec un seul utilisateur système “ftp”, même pour les utilisateurs locaux !
Du coup je dois donner les accès a l’utilisateur système “ftp” avec les ACL sur tous les répertoires utilisateurs, et en plus déclarer /home comme racine du user “ftp” ce qui me parait quand même très étrange…

Bref, vous l’aurez compris, j’ai du laisser passer quelque chose sur le “principe” ou les “concepts”, ou alors je suis en limite de fonctionnalité de vsftp.

  • Quelqu’un a t’il compris ce que je souhaitais faire et ou je fais fausse route dans ma conception ?
  • Pensez vous que proFTPd permet de d’utiliser les utilisateurs locaux ET virtuelle en même temps ?

B/ Bonus I : Masquer un fichier “rwx------+”

Toujours dans cette logique de stratégie, j’ai besoin d’un compte (Ex: “zac”) qui n’a accès qu’a 2 domaines. Avec les acl, pas de problème pour interdire/autoriser l’accès a zac a ces 2 domaines t pas l’autre. Par FTP ca fonctionne, il voit le 3eme mais ne peut y accéder, mais c’est pas propre du tout.

Comment peut on faire pour masquer les fichiers dont le user connecté n’a pas les droits de lecture (std et acl) ?

C/ Bonus II : mount --bind fstab o_O !

C’est le première fois que j’ai ce genre de stratégie à appliquer, et je m’appercois par exemple que si je veux créer un utilisateur avec des accès particulier, il faut que je pourrisse mon fstab d’équivalent “mount --bin /path/rep /home/user/rep”.
C’est assez flippant puisque si je souhaiter monter un script pour ajouter des compte avec ces type d’accès il faut que je tripatrouille le fstab régulièrement, je trouve ca super dangereux et vraiment pas propre. j’ai déjà pas mal de montage ésotérique dans ce fstab…

Y’a pas une autre solution un peu plus classe que de modifier le script /etc/init.d du serveur ftp pour rebinder/debinder les bon rep a chaque démarrage, c’est assez fou cette histoire, je comprend la barrière du chroot mais est que les serveur ftp (vsftpd ou proftpd) propose la création de de “liens bindé” à la volé, au démarrage ou à la connexion d’un user ?

Voila, désolé pour le roman,
La solution la plus simple serait peut être de déclarer les clients en “local” mais on risque d’en avoir vite une petite 200ene, ca me rassurerai qu’il soit gérer par un seul et même utilisateur complètement indépendant du système.

Quelqu’un a une idée ?

Molux