Propriétaire et groupe des fichiers transféré avec Proftp

Bonjour à tous et à toutes.
J’ai installé Proftp sur mon serveur local (Freebox) pour interagir avec mon répertoire /var/www/html/.
J’ai ajouté mon utilisateur normal au groupe ftpgroup.
Sur mon PC client, j’ai configurer Filezilla.
Ça fonctionne. Je peux récupérer les fichiers et je peux en envoyer.
Mon problème :
Quand j’envoie un fichier sur le serveur, le fichier a comme propriétaire et groupe ignace.
Ce que je voudrai, c’est que les fichiers que j’envoie ai comme propriétaire et groupe www-data.
Quelqu’un a-t-il une idée ?
Merci.

Non ce qui te dérange c’est que dans l’état actuel tes fichiers ne sont pas lus ou exécutés par apache/php … de deux choses l’une tu ajoute un user ftp dédié à ça et dans la configuration de proftp tu lui balance le bon uid/gid, soit tu ajoute un user au groupe apache et tu t’en sert pour gérer la partie web de ton site (ftp et apache) ou encore tu ajoute le user apache à ton groupe mais là c’est franchement caca, car tu files accès au user apache à tous ce que possède ton user.

Bonjour, Clochette.
Ben si, les fichiers transférés par FTP sont bien lu par Nginx et php. J’ai fait le test avec un fichier info.php. Depuis Tor-Browser, il est accessible.
Pour l’instant, je peux régler le problème avec un chown après chaque transfère.

Bonjour,
en hébergement, les configurations apache sont faites avec les identifiant correspondant à l’utilisateur

Bonjour, Zargos.
Heu… Je n’utilise pas Apache mais Nginx. Je n’aime pas Apache.

Pareil, même principe

Mon utilisateur est déjà dans le groupe utilisé par Nginx donc cette solution n’est pas bonne.
Bon, je vais créer un utilisateur FTP avec le bon uid et gid.
Je reviens vers vous pour vous tenir au courant.

Non ce n’est pas ce que j’ai dit :slight_smile:
j’ai dit que la configuration du virtual host du site doit utiliser des identifiants du user (en clair pas www-data ou équivalent nginx)

Bonjour,

L’utilisation de chown au préalable me semble une bonne solution associée à la création d’un profil ftp adapté pour un utilisateur www-data.

Rien n’empêche la création d’un script pour recopier les fichiers et dossiers concernés en changeant leur propriétaire et leur groupe dans un nouveau dossier qui sera utilisé avec un profil FTP dédié au transfert vers www-data

Sinon il y a surement moyen de faire comme dans ce lien (vsftp ici mais cela doit pouvoir se convertir pour proftpd):

Ben je sais, c’est Clochette qui a dit : « soit tu ajoute un user au groupe apache et tu t’en sert pour gérer la partie web de ton site (ftp et apache) ».
Bon, j’ai créé un utilisateur dédié, il me reste à configurer ProFTP pour qu’il utilise les bon uid et gid.
Après, si ça ne fonctionne pas, il me restera chown.
Merci pour le lien, Zargos, je vais regarder ça.

Bon, j’ai fait un :
sudo ftpasswd --passwd --name=ignace72 --uid=33 --gid=33 --home=/var/www/html --shell=/bin/false
Un problème, c’est qu’il faut indiquer à ProFTP ça en indiquant le fichier créé par ftpasswd mais je ne sais ou est ce fichier et comment il s’appelle. Tous les fichiers donnés en exemple sur internet ne sont pas bon.
Ça sent le sapin, cette histoire.
Je vais regarder du coté de VsFTPd.

Il te faut ça dans la conf :

DefaultRoot ~
RequireValidShell off
AuthUserFile /etc/proftpd/ftpd.passwd
AuthGroupFile /etc/proftpd/ftpd.group
AuthOrder mod_auth_file.c

bien entendu assures toi que tes fichiers soit au bon endroit :upside_down_face:

Ok, merci.
Il y a comme un problème.
ftpasswd n’a rien écrit dans ces deux fichiers donc à quoi ça sert de déclarer des fichiers vides ?
Je dis ça, je dis rien. :stuck_out_tongue:

Je te laisse regarder la doc du coup : ftpasswd: tool for ProFTPD's AuthUserFile, AuthGroupFile, UserPassword

Il est dit que ftpasswd crée les fichiers si ils n’existent pas et les modifie si ils existent ce qu’il n’a pas fait pourtant ma ligne de commande me parait bonne.

Tu peux expliquer comment tu t’y prends pour créer un user ftp ?

Tu te doutes bien que ton user n’a pas les droits de créer un fichier à cet endroit :sweat_smile:

Là c’est pour créer un utilisateur virtuel avec la commande suivante :
sudo ftpasswd --passwd --name=ignace72 --uid=33 --gid=33 --home=/var/www/html --shell=/bin/false
Vue que ftpasswd est passé avec sudo,il a donc tous les droits de créer des fichiers dans /etc/proftpd/.