#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…