Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/05/2018, à 12:06

alius

Configuration FTP et utilisateurs

Salut cher membre de la communauté !

Aujourd'hui j'ai une petite question technique concernant la configuration d'un serveur ftp.

J'ai installé un serveur web AMP pour une petite boite qui bosse avec le CMS Prestashop1.6, j'ai installé trois versions prod / preprod / test que j'ai centralisées sur le même compte utilisateur avec les DocumentRoot suivantes /home/$USER/www/prod, /home/$USER/www/preprod et /home/$USER/www/test. Pour faire fonctionner tout ça, j'ai mis en propriétaire l'utilisateur et groupe www-data sur les trois dossiers et aucune permission pour le reste. Jusque là tout va bien.
Cependant on m'a fait comprendre après coup qu'il fallait aussi créer plusieurs accès FTP pour d'éventuelles opérations de support sur le CMS Prestashop. J'ai donc d'abord penser à créer des comptes utilisateurs locaux verrouillés (no-login) uniquement pour du FTP et dont le home directory pointerais vers la racine du site preprod par exemple pour d'éventuel support sur preprod ou sur le site test... Malheureusement cette solution ne me convient pas, en effet il est hors de question de filer les accès complets et ces utilisateurs FTP ou de les ajouter dans le groupe www-data pour qu'ils puissent faire leur boulot... Un utilisateur du support pour le site preprod pourrait par exemple aller se balader sur la version production ce que je ne souhaite pas...
Je me suis orienté sur l'utilisation de VSFTP et me suis lancé dans la création d'utilisateurs virtuels en pensant qu'il serait possible de les emprisonner à la racine du site par exemple. Mais je suis tombé sur un Permission denied... J'ai tenter un subterfuge en essayant de leur assignant un dossier avec les permission en en faisant un lien symbolique vers la racine du site. Ça n'a pas l'air de fonctionner non plus. Pareil avec des un mount et les options read write...

I need help !
En fait je suis un peu à cours d'idées là... Si je pouvais éviter de refaire toute la config aussi !


Alius

Hors ligne

#2 Le 21/05/2018, à 13:08

bruno

Re : Configuration FTP et utilisateurs

Bonjour,

À ta place je reverrai complètement ton architecture : un site web = un utilisateur. Le mieux étant de configurer Apache avec PHP-FPM et un pool php-fpm pour chaque site avec un utilisateur différent. Chaque utilisateur pourra avoir un dossier personnel différent (prod, preprod, etc) et être chrooté dans son dossier pour faire du FTP ou du SFTP.

Hors ligne

#3 Le 21/05/2018, à 13:58

alius

Re : Configuration FTP et utilisateurs

Bonjour Bruno,

Merci pour ta réponse.
Dans l'idéal j'aimerais éviter de tout reconfigurer. Même si dans l'absolu j'aurais mieux fait de faire un user par site je suis d'accord.

Par contre je ne suis pas sûr que passer en mode fastCGI avec FPM soit d'un grand intérêt ici, je veux dire par là que c'est pas un site où le trafic est dense, même si le CMS n'est pas tout léger... Donc je pense que je mode de fonctionnement habituel suffira qu'en pense tu ?

J'attends encore voir si quelqu'un à une idée pour mon problème avant de tout reconfigurer.


Alius

Hors ligne

#4 Le 21/05/2018, à 14:20

bruno

Re : Configuration FTP et utilisateurs

Je suppose que ce que tu appelles le mode de fonctionnement habituel c'est Apache + mod_php. Cela ne permet pas d'avoir des utilisateurs différents pour des sites différents, à moins d'utiliser des trucs plus ou moins maintenus comme suexec ou le mpm_itk d'Apache.

Après en gardant ta configuration avec des dossiers et fichier qui appartiennent à www-data tu dois pouvoir configurer ton serveur FTP avec trois utilisateurs différents confinés dans leur dossier personnels (prod, prepro, etc) et forcer le propriétaire et le groupe à www-data (ou au moins le groupe sur ww-data). En tous cas c'est possible avec proftpd me si ce n'est pas optimal au niveau de la séparation des privilèges et donc de la sécurité.

Hors ligne

#5 Le 21/05/2018, à 14:40

alius

Re : Configuration FTP et utilisateurs

Effectivement je parlais bien de apache + mod_php.
Mais plus simplement je peux avoir plusieurs virtual host apache avec pour chacun un DocumentRoot pointant sur le home des différents utilisateurs ? Où alors je ne comprends pas bien ce que tu veux dire. Est-ce que tu veux dire que si je passe en php-fpm je n'ai plus à me soucier de donner les droits à www-data ?

Oui avec proftpd comme avec vsftpd il est possible de chrooter les utilisateurs sur leur home. Le problème c'est que je n'ai qu'un seul utilisateur et il est pas possible de faire ça avec des virtual user, du moins pas à ma connaissance (d'où ma question initiale). Je suppose que comme tu le dis je vais devoir revoir la config.


Alius

Hors ligne

#6 Le 21/05/2018, à 14:56

bruno

Re : Configuration FTP et utilisateurs

Si tu utilises PHP-FPM et les pools tu peux avoir un utilisateur par site. Les scripts PHP ne sont plus interprétés par Apache et son module PHP mais par PHP-FPM sous l'utilisateur que tu auras choisi. C'est plus compliqué à configurer mais c'est plus performant et, plus soupe, et plus sécurisé.

Pour le FTP de toutes façons, il te faut trois utilisateurs avec trois home différents. Ensuite dans la configuration du serveur FTP tu force les doroits, le propriétaire et le groupe, exemple sous proftpd avec un utilisateur toto sans shell avec un home pointant sur /srv/web/example.com/www :

<Directory /srv/web/example.com/www>
    Umask 007 007
    UserOwner www-data
    GroupOwner www-data
</Directory>

Avec vsftpd on doit pouvoir faire la même chose.

Hors ligne

#7 Le 26/05/2018, à 14:40

krodelabestiole

Re : Configuration FTP et utilisateurs

je suis pas sûr d'avoir tout suivi mais il y a une vidéo toute fraîche qui pourrait t'intéresser je crois :
https://youtu.be/yb3TloUaIk8

Hors ligne