Je suis entrain de monter un server FTP sur un port autre que le 21 (sur un FedoraCore5 avec vsFTP) qui pointe vers le répertoire /var/www/html pour pouvoir accéder en FTP au site web.
Bon en local tout marche a merveille (youpi), mais quand c’est depuis l’extérieur (avec le nom de domaine et pas l’IP), la, heuuu, y a comme un souci :D, je m’explique : impossible de lister le répertoire, par contre j’arrive par example, à créer des répertoires. J’ai donné a l’utilisateur (qui est enregistré dans les users de linux) le maximum de droits il est dans le groupe root.
Je précise la redirection de port marche vu que je peux me connecter.
Ha oui, j’allais oublier, il me met aussi l’arborecence du dossier dans la console du client FTP, il me dis : 257 « /var/www/html », et aussi l’adresse IP locale du server : 227 Entering Passive Mode (192,168,1,2,221,50)
Etat : Connexion à humhumhum.dnsalias.com:210 ...
Etat : Connecté à humhumhum.dnsalias.com:210. Attente du message d'accueil...
Réponse : 220 humhumhum vous souhaite la bienvenue
Commande : USER humhumhum
Réponse : 331 Please specify the password.
Commande : PASS humhumhum
Réponse : 230 Login successful.
Commande : FEAT
Réponse : 211-Features:
Réponse : EPRT
Réponse : EPSV
Réponse : MDTM
Réponse : PASV
Réponse : REST STREAM
Réponse : SIZE
Réponse : TVFS
Réponse : 211 End
Commande : SYST
Réponse : 215 UNIX Type: L8
Etat : Connecté
Etat : Récupération de la liste de répertoires...
Commande : PWD
Réponse : 257 "/var/www/html"
Commande : TYPE A
Réponse : 200 Switching to ASCII mode.
Commande : PASV
Réponse : 227 Entering Passive Mode (192,168,1,2,221,50)
Commande : LIST
Erreur : Le canal de transfert n'a pas pu être ouvert. Raison : Une tentative de connexion a échoué car le parti connecté n'a pas répondu convenablement au-delà d'une certaine durée ou une connexion établie a échoué car l'hôte de connexion n'a pas répondu.
Erreur : N'a pas pu récupérer la liste du répertoire
Bon désolé si je suis un peut flou, je suis pas (encore) très familier du pingu.
Si la situation vous parai surréaliste et que vous avez une meilleure solution que vsFTP pour mon server, je suis preneur.
Le groupe root, c’est bien, mais c’est rare que /var/www/… appartienne à root que ce soit en utilisateur ou en groupe. C’est plutôt www-data ou des trucs de ce style.
[quote=« AristideRutilant, post:3, topic: 30492 »]Le groupe root, c’est bien, mais c’est rare que /var/www/… appartienne à root que ce soit en utilisateur ou en groupe. C’est plutôt www-data ou des trucs de ce style.[/quote]Oui oui, le dossier apartien bien a user : root et groupe : root. Pourquoi, c’est grave docteur?
[quote=« laOuine, post:2, topic: 30492 »]Peut etre un problème de mode actif/passif. J’avais lu un super post sur le mode actif et passif, c’était sur la zone même.
laOuine.
EDIT: ça peut aider. B)[/quote]Merci j’ai trouvé le topic en question : c’est ici je pense, non?
Et tan qu’on y est on continu dans les questions « bêtes » coment qu’on lui dis a vsFTP qui se mette en mode passif?
oui c’est /etc/vsftpd/vsftpd.conf
Mais le fichier est peu commenté, et moi peu experimenté donc c’est pas si facile…
Ca doit etre quelque chose dans le style passive_mode=YES je presume mais bon rien n’y fais…
[quote=“AcidBen, post:6, topic: 30492”]oui c’est /etc/vsftpd/vsftpd.conf
Mais le fichier est peu commenté, et moi peu experimenté donc c’est pas si facile…
Ca doit etre quelque chose dans le style passive_mode=YES je presume mais bon rien n’y fais…[/quote]
Si tu met passive_mode=YES il faut aussi que tu donne l’IP public de ton serveur, ainsi qu’une plage de port, dans la config de vsftpd, plage que tu devras ouvrir dans ton routeur/firewall. Voir ici aussi. B)
[quote=“laOuine, post:7, topic: 30492”]Si tu met passive_mode=YES il faut aussi que tu donne l’IP public de ton serveur, ainsi qu’une plage de port, dans la config de vsftpd, plage que tu devras ouvrir dans ton routeur/firewall. Voir ici[/quote]J’ai rajouté la plage de port mais comment declare t’on l’adresse publique??
Pour plus de precisions voici le vstpd.conf (ne me gifflez pas si ya des coucouilles dedans):
Apparament pas besoin de déclarer l’ip, les 3 paramètres (pasv_*) suffisent.
Si tu utilise Filezilla comme client FTP, essaies le mode passif dans les options:
Edition>Paramètres>Connexion>Paramètres Pare-feu, coche Mode passif.
[quote=“laOuine, post:11, topic: 30492”]Apparament pas besoin de déclarer l’ip, les 3 paramètres (pasv_*) suffisent.[/quote]oui j’ai vu ca
[quote=“laOuine, post:11, topic: 30492”]Si tu utilise Filezilla comme client FTP, essaies le mode passif dans les options:
Edition>Paramètres>Connexion>Paramètres Pare-feu, coche Mode passif.[/quote]c’etais déja coché dans FileZilla, puis bon j’essayé avec pleins de clients B)
Le problème est très simple. Quand tu passes en mode passif, vsftp fournit l’adresse privé de ta machine :
Ton client va donc essayer de se connecter à cette adresse, ce qui ne marchera pas s’il n’est pas en local. Rajoute donc la ligne suivante et tout le roulera si la conf de ta box est OK.
pasv_address=<adresse_publique>
PS : Quand tu as des problème de ce type, je te conseille de monitorer les trames réseau sur le client et le serveur, avec Ethereal par exemple. Très souvent, une analyse rapide de ces trames t’indique le problème.
Je viens de voir que, quand tu fais un PWD, le serveur affiche /var/www/html, ce qui est TRES mal. Je te conseille, pour des raisons de sécu, de “chrooter” les utilisateurs, ce qui a 2 avantages :
quand ils feront un PWD, ils verront / et non plus /var/www/html
il leur sera impossible de se déplacer dans un répertoire supérieur à /var/www/html, cad, au pire, jusqu’à /, et avoir accès à d’autres fichiers par la suite.
Je connais plus les commandes exactes pour ça, mais je sais que c’est possible avec vsftp
edit1 :
oui c’est ca, mais il faut changer dans /etc/passwd une ligne, moi j’ai : lambda:x:501:502:lambda:/var/www/html:/bin/bashet je vien de lire un truc ou on me dis de faire ca :lambnda:x:501:502:lambda:/var/www/./html:/bin/bashMais bon ca limite pas je met peut etre le pont au mauvais endroit, non?
edit2 :
oui ca parle bien du /./ j’essaye plusieurs choses dans mon /etc/passwd
[quote=“AcidBen, post:18, topic: 30492”]passwd_chroot_enable=YESc’est ca ?
edit1 :
oui c’est ca, mais il faut changer dans /etc/passwd une ligne, moi j’ai : lambda:x:501:502:lambda:/var/www/html:/bin/bashet je vien de lire un truc ou on me dis de faire ca :lambnda:x:501:502:lambda:/var/www/./html:/bin/bashMais bon ca limite pas je met peut etre le pont au mauvais endroit, non?
edit2 :
oui ca parle bien du /./ j’essaye plusieurs choses dans mon /etc/passwd[/quote]
J’ai regardé rapidement le man, mais je ne te conseille pas de faire comme ça (au passage, le chemin correct doit être /var/www/html/./). Le mieux est de définir explicitement quels utilisateurs ont, d’une part, le droit de se connecter et, d’autre part, ceux qui doivent être chrootés.
A priori, ça donnerait ça dans ton fichier de conf :
Tu dois bien sûr remplir le fichier liste_users avec les users qui doivent être chrootés. A noter que la 2ème ligne n’est pas nécessaire si tu utilises le fichier par défaut, qui semble être /etc/vsftpd.chroot_list
[quote=« universal_tonton, post:19, topic: 30492 »]A priori, ça donnerait ça dans ton fichier de conf :chroot_list_enable=YES
chroot_list_file=/chemin/vers/liste_users
Tu dois bien sûr remplir le fichier liste_users avec les users qui doivent être chrootés. A noter que la 2ème ligne n’est pas nécessaire si tu utilises le fichier par défaut, qui semble être /etc/vsftpd.chroot_list[/quote]
Bon Merci sérieux tu m’as été d’une grande utilité, comme tout ceux qui on collaboré a ce thread d’ailleurs.
Tout marche impec mais il y a un hic (quoi? encore un?.. et oui …) voire carrément un gag : c’est que ici ils on une IP dynamique (ha, c’étais donc pour ca le dnsalias).
Donc vu que vsFTPd ne reconnais que les adresses IP pour la ligne : pasv_address=patatipatata et pas les noms de domaines, je suis bon pour me retaper un nslookup et une édition de vsftpd.conf tout les matins ? Ou il existe une solution.
Sérieusement je n’y crois pas pour ca, mais bon, comme on dit : tout est possible sur la Cafzone … B)