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 02/03/2021, à 14:34

pierrot10

[FTP] Comment changer le destination des fichiers envoyés

Bonjour,

Je viens de configurer un serveur FTP avec un compte dédié au FTP. Ce compte n'a pas d'accès ssh, etc

Le stockage des fichiers sont dans /Home

local_root=/home/$USER/ftp

Nous voulons que le stockage se fasse dans un disque externe de 12T pour recevoir des fichiers d'un partenaire et nous aurons à changer de disques.
Je pourrais modifier la ligne ci-dessus pour modifier la destination, mais il me semble qu'on peut aussi créer un alias, ou un truc du genre pour que tout ce qu'il est sauver dans /home/$USER/ftp soit sauvé dans une autre destination.

Savez-vous comment je pourrais faire ceci?

Merci

Hors ligne

#2 Le 02/03/2021, à 15:14

Vobul

Re : [FTP] Comment changer le destination des fichiers envoyés

man ln

Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#3 Le 02/03/2021, à 16:08

pierrot10

Re : [FTP] Comment changer le destination des fichiers envoyés

Oui c'est ce que je suis en train d'essayer de faire, mais je n'arrive a changer le owner d'un ln

Server:

/home/user/ftp/files
/media/user/disque/ftp

J'ai fais

cd /home/user/ftp
ln -s /media/user/disque/ftp source

Je devrais voir

lrwxrwxrwx 1 root       root         27 Mär  2 15:56 source -> /media/user/disque/ftp/

Mais je dois changer le owner de source (qui avant était un dossier)

sudo chown user:someelse /home/user/ftp/source
user@c1:/home/user/ftp$ 
sudo chown user:someoneelse /home/user/ftp/source
chown: changing ownership of '/home/user/ftp/source': Operation not permitted

Hors ligne

#4 Le 02/03/2021, à 16:35

bruno

Re : [FTP] Comment changer le destination des fichiers envoyés

Le propriétaire apparent d'un lien symbolique (celui qui l'a créé) n'a aucune importance, les propriétaire, groupe et droits d'accès effectifs sont ceux de la cible du lien. En l'occurrence /media/user/disque/ftp.

#5 Le 04/03/2021, à 10:09

pierrot10

Re : [FTP] Comment changer le destination des fichiers envoyés

Bonjour Bruno,

Merci pour ta répounse. J'avais une autre erreur, le disque dur externe était formaté en fat.
Je l'ai formaté ne ext4 et j'ai fait les corrections sans succès

sudo mkdir /mnt/target
sudo mount /dev/sdb1 /mnt/target
cd /mnt/target
sudo chown user:someelse /mnt/target/data
ls /mnt/target/data // je vois le fichier que j'avais précédement créé sur le disque
cd /home/user/ftp/
sudo ln -s /mnt/target/data data

Puis quand je fais

ll /home/user/ftp/data

Je vois bien le dossier que j'avais créé précédement. Donc ca marche

Par contre quand je prends mon client ftp, je peux me connecter, mais quand je clique sur le lien data pour descendre dans le contenu du disque dur, j'ai ce message

WD /data
Response:     550 Failed to change directory.
Error:            Failed to retrieve directory listing

Est-ce que j'ai choisi els bonnes options en créant mon lien symbolique?

Hors ligne

#6 Le 04/03/2021, à 10:45

bruno

Re : [FTP] Comment changer le destination des fichiers envoyés

On ne sait rien du serveur FTP utilisé, ni de sa configuration.
Généralement les serveurs FTP ne permettent pas de suivre les liens symboliques en dehors du dossier de l'utilisateur (chroot). Ce qui est logique, car cela constituerait une faille de sécurité importante.

Plutôt qu'un lien symbolique, il faudrait essayer un montage dans le dossier utilisateur :

mount --bind /media/user/disque/ftp /home/user/ftp/source

De mémoire cela fonctionne avec Proftpd.

#7 Le 04/03/2021, à 12:26

pierrot10

Re : [FTP] Comment changer le destination des fichiers envoyés

mount --bind /media/user/disque/ftp /home/user/ftp/source

Oui c'est que je suis en train de faire maintenant, mais toujours avec problème

J'ai créé un dossier dans

/home/user/mnt/

dans le quel je monte mon disuqe

sudo mount /dev/sdb1 /home/user/mnt

Une fois monté, j'ai créé deux dossier dans le doisque qui est en ext4, maintenant
/home/user/mn/ftp/data
et j'ai relancé mes commande pour modifier les propriétés des deux dossiers.

sudo mkdir /home/user/mnt/ftp
sudo chown nobody:nogroup /home/user/mnt/ftp
sudo chmod a-w /home/user/mnt/ftp
sudo mkdir /home/user/mnt/ftp/files
sudo chown meteoswiss:kirchner /home/user/mnt/ftp/files

Dans mon fichier de configuration vsftpd,conf , j'ai modifié la ligne

local_root=/home/$USER/ftp
=>
local_root=/home/$USER/mnt/ftp

Quand je tente de me logguer avec mon client ftp, j'ai encore ce message d'erreur

Response:     500 OOPS: cannot change directory:/home/user/mnt/ftp
Error:            Critical error: Could not connect to server

J'ai fait un

ll /home/user/

après le montage ce qui me donne

drwx------ 4 moi       moi       4096 Mär  4 11:17 mnt/

mnt appartient à l'utilisateur qui a lancer le montage, et je me demande si le problème n'est pas la, non?
Car la personne peut aller plus loin que /home/user/mnt

Est-ce que je peux faire le montage au nom de l'utilisateur, juste pour voir?

Hors ligne

#8 Le 04/03/2021, à 12:39

pierrot10

Re : [FTP] Comment changer le destination des fichiers envoyés

En fait j'ai mal lu ton message

Je ne le mets plus dans /media/user/....

Je le montais dans /mnt/target/, mais je devais encore faire un lien symbolique.

Alors maintenant je le monte directement dans le home de l'utilisateur, soit le compte que j'ai créé pour notre partenaire. Comme cela plus besoin de ln

sudo mount /dev/sdb1 /home/user/mnt/

mais malgré ceci, ca ne marche toujours pas.

Je ne sais pas si ceci est toujours relevant

mount --bind /media/user/disque/ftp /home/user/ftp/source

Hors ligne

#9 Le 04/03/2021, à 12:51

bruno

Re : [FTP] Comment changer le destination des fichiers envoyés

Si tu mets dans la configuration de vsftpd :

local_root=/home/$USER/mnt/ftp

l'utilisateur est emprisonné (chroot) dans le dossier /home/$USER/mnt/ftp. Il ne epaut pas en sortie et donc pas accède aux niveaux supérieurs.

Dans ce cas il faut faire le montage sur /home/$USER/mnt/ftp

#10 Le 04/03/2021, à 13:44

pierrot10

Re : [FTP] Comment changer le destination des fichiers envoyés

J'ai réussi.
J'ai reformaté le disque avec le nom d'utilisateur
J'ai mis le dossier /home/user/mnt en 777
Dans le ficher /etc/fstab j'ai ajoutlé cette ligne

UUID=7169c774-f0b5-4486-9e22-137db2b41a71 /home/user/mnt ext4 auto,users,rw 0 0

puis

sudo mount -a

et j'ai supprimé le dossier ftp/data.
le dossier /home/user/mnt/ftp, je lui ai mis les droit 777
Aussi dans le fichier /etc/vsftpd,conf j'ai ajouté la ligne

allow_writeable_chroot=YES

et j'ai changé le mask comme cela

local_umask=000

Pour que tout ce qui soit écris soit en 777. Important puisque c'est un disque dur exeterne.

Est.ce qu'on peut faire mieux?

Hors ligne

#11 Le 04/03/2021, à 14:42

bruno

Re : [FTP] Comment changer le destination des fichiers envoyés

Il n'y a aucun besoin d'avoir des droits en 777…