Creation D'un serveur FTP sous debian

Bonsoir à tous,

Voilà étant nouveau sur debian je souhaiterais mettre en place un serveur FTP accessible aussi bien en local que en externe 8)

J’ai essayé Proftpd mais je n’arrive pas à l’installer,les seuls que j’ai réussi à installer sont wzdftpd mais je n’arrive pas à le configurer.

Pourriez vous m’aidez s’il vous plait?j’ai quand même quelques notions sur la chose mais elles sont trés limitées

Merci à tous :smt006

ben tu te prends par les bras, tu googleise un peu et tu commence l’installation de vstpd, à la limite, tu peux meme te fendre d’une petite recherche sur ce forum, tu verra que ç’à été abordé de nombreuses fois.

ensuite, tous nous expliques CLAIREMENT les problèmes que tu rencontre, et là on t’aidera.

des tutos d’install, il y en a plein partout, être nouveau n’excuse pas ne pas vouloir lire.

bonjour,

je viens d’avoir le permis, j’ai installé un autoradio dans ma voiture, et depuis, y’a un bruit dans le moteur, vous pouvez m’aider?

Salut,

Voici un lien qui m’as beaucoup aide j’ai le suivi au pied de la lettre et mon serveur marche très bien!!!

http://www.andesi.org/admin:vsftpd-un-serveur-ftp-securise-et-simple

Merci à tous pour votre aide,

Pour info j’ai déja “googleise” comme tu dis, simplement pour l’install de vstpd il ne trouve aucun paquet dans les dépôts à ce nom là, j’ai fait un apt-get upgrade mais ca change rien ( peut etre dois je modifier une ligne dans un fichier source-list je ne sais pas)

Aprés comme je le dit j’ai essayé wzdftpd, j’arrive à me connecter sur le site ftp à partir d’un autre pc dans le réseau local pas de soucis, simplement il ne me demande aucun login et aucun mdp, et me renvoi dans un dossier que je connais pas :unamused:

verveine:/home/hades# apt-cache policy vsftpd vsftpd: Installed: (none) Candidate: 2.0.6-1.2 Version table: 2.0.6-1.2 0 500 http://ftp.fr.debian.org testing/main Packages 600 http://ftp.fr.debian.org unstable/main Packages 2.0.5-2 0 500 http://ftp.fr.debian.org stable/main Packages

Cherche bien avec le nom : vsftpd

Ok j’essaye ca et je vous tiens au courant :smt006

Alors je viens d’essayer ta commande et il me dit:

W: Impossible de trouver le paquet vsftpd

:laughing:

J’ai récupérer le vsftpd.deb sur le dépôt de debian et je l’ai installé avec la commande dpkg -i,
Le serveur ftp est lancé et marche, merci à tous pour vos info :smt006

Il vaut mieux l’installer à partir des dépots, pour qu’il puisse se mettre à jour :
viewtopic.php?f=8&t=5659

Salut

Il existe une doc ubuntu concernant la configuration de vsftpd (avec utilisateurs vituels et ssl) qui peut venir en complément de la doc andesi.

Concernant ton soucis de dépôt : fais péter ton source.list ou va dans le fil “source.list au carré”. Si après tu ne le trouves toujours pas…

Note : je tourne aussi avec un vsftpd, il y a plusieurs fils ici-même qui te permettrons de faire joujou avec la bête, notamment d’appréhender les règles iptables et de protéger ton serveur des attaques en force brute.

Amuse-toi bien et n’oublie pas : modprobe ip_conntrack_ftp

Note : Anthropo est un peu sauvage mais il n’est pas méchant :smt005

Merci j’avoue avoir un peu eu peur quand je suis tombé sur sa réponse, maintenant j’ai un nouveau probleme, j’ai suivi ce tuto andesi.org/admin:vsftpd-un-s … -et-simple
Mais au moment de redemarrer avec “vsftpd start” j’ai un message d’erreur "vsftpd: too many arguments ( i take an optional config file only) :question:

Cela va être difficile de te répondre sans connaître ces trop nombreux arguments.

Si tu peux résumer ton fichier de conf…

Voici mon fichier de configuration vsftpd.conf

Ceci configure vsFTPd en mode “standalone”

listen=YES

On désactive les connexions anonymes

et on active les non-anonymes(c’est le cas des utilisateurs virtuels):

anonymous_enable=NO
local_enable=YES

Pour des raisons de sécurité on interdit toute action d’écriture:

write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO

‘guest_enable’ est très important: cela active les utilisateurs virtuels!

‘guest_username’ fait correspondre tous les utilisateurs virtuels à

l’utilisateur ‘virtual’ que nous avons défini plus haut, et au home

correspondant: ‘~virtual/’.

guest_enable=YES
guest_username=virtual

On veut que les utilisateurs virtuels restent chez eux: ‘~virtual/’

(attends, on leur a fait un toît, c’est pas pour rien!)

chroot_local_user=YES

On défini le nombre maximum de sessions à 200(les nouveaux clients recevront

un message du genre: “erreur: serveur occupé”).

On défini le nombre maximum de sessions par IP à 4

max_clients=200
max_per_ip=4

####################################

Debian customization

(ou adoptons la debian attitude)

####################################

Some of vsftpd’s settings don’t fit the Debian filesystem layout by

default. These settings are more Debian-friendly.

This option should be the name of a directory which is empty. Also, the

directory should not be writable by the ftp user. This directory is used

as a secure chroot() jail at times vsftpd does not require filesystem

access.

secure_chroot_dir=/var/run/vsftpd

This string is the name of the PAM service vsftpd will use.

pam_service_name=vsftpd

This option specifies the location of the RSA certificate to use for SSL

encrypted connections.

rsa_cert_file=/etc/ssl/certs/vsftpd.pem

Merci de votre aide :smt006

J’ai comparé ton fichier avec le mien et je ne vois rien de spécial chez toi.
Si ce n’est que tu peux ajouter le paramètre :

Ce qui configure le nombre de tentatives pour le mot de passe.

As-tu bien créé tes utilisateurs virtuels et placé leur répertoire dans /home/virtual ? As-tu une config différente pas utilisateur ?
Autre piste : as-tu essayé de faire tourner ton serveur avec seulement tes utilisateurs système ?

re

dis moi, tu viens pour quoi? pour apprendre et comprendre, ou pour qu’on te configure ton machin à ta place?

nan parceque bon, dans le deuxième cas, tu balance ton IP, tu me files un accès SSH en root sur ta bécane, et ton serveur FTP il va être configuré hein. (nan nan, je suis même pas un méchant qui va se servir de ta bécane à ton insu, c’est pas ma religion.)

juste, ça me gave de voir à longueur de forum des mecs se pointer en disant: je suis nouveau, j’essaye de faire ça mais ça marche pas comment je fais? (pas de bol, ça tombe sur toi)

pour t’aider: peux-tu nous dire quelle version de debian tu utilises, sur quelle type de machine, avec quels autres services, quelle est la version du vstpd que tu utilises, bref des trucs concrets autres que “too many arguments”.

parceque bon, vu que tu l’as installé à l’arrache d’un .deb récupéré on sait pas ou, je serai pas surpris que le fichier de conf que t’essaies de lui enfiler -qui ressemble fortement à un copié collé d’on sait pas ou d’ailleurs- ne sois pas compatible avec la version que tu utilises. d’ou ton problème.

et non je ne suis pas poli, ni sociable, ni aimable. mais c’est pas pour autant que je ne t’aiderai pas.

Anthropo essaye de changer de ton avec moi s’il te plait, je n’ai pas été désagréable alors essaye d’en faire autant, tu est né avec debian inclut dans ton crâne? non alors soit tolérant, Merci!
j’ai suivi des tutos, j’ai essayé de comprendre, le problême c’est que je ne peut pas aller plus loin dans les tutos car j’ai des erreurs à répétition, comme tu le dit j’ai récupéré un .deb sur un dépôt officiel car je ne pouvais pas l’installer à partir d’un apt-get install. :smt002

Je crois que dans ton cas il faudrait penser à être plus sympa avec les nouveaux parce que ça donne pas vraiment envie de demander de l’aide, heureusement qu’ils ne sont pas tous comme ça ici :open_mouth:
Le style rebelle et intolérant ça colle pas avec moi c’est pas ma religion comme tu le dit si bien.

Sinon pour les autres merci de votre aide, Pour antalgeek j’ai bien créer mes utilisateurs virtuels en convertissant en .db le fichier login.txt que j’ai précédemment crée.

Seul problême, quand je rentre par exemple ftp://127.0.0.1 je vois que je peux explorer un dossier virtual (qui à été attribué suivant le tuto que j’ai mis un peu plus haut, lequel j’ai suivi).

Je clique sur virtual et là paf erreure 550 failed to change directory

Merci à tous :smt006

"tu est né avec debian inclut dans ton crâne? "

Mon Dieu, ce que ça aurait été pratique, ça…

Tkt, t’es pas le seul à apprendre. T’es pas non plus le seul à devoir faire avec l’impatience, et tu n’es pas non plus le seul à poser… trop de questions.

Je ne suis pas toujours mieux, snif… Mais le temps et le travail améliore largement les choses, tu peux me croire par expérience.

Faut juste bosser.

Bien.

D’abord, si tu ne chopes pas le vsftpd par apt-get, c’est parce que tu n’as pas de repository à jour. Pour ça, tu dois avoir un fichier sources.list correctement alimenté :

etch

deb ftp.fr.debian.org/debian/ etch main contrib non-free
deb-src ftp.fr.debian.org/debian/ etch main contrib non-free
deb ftp.fr.debian.org/debian/ etch main
deb-src ftp.fr.debian.org/debian/ etch main

A partir de là, tu fais un apt-get update, pour mettre à jour ta base. La machine ira mettre à jour les paquetages disponibles à partir des miroirs indiqués dans ton sources.list. Si tu ne l’as pas fait, tu n’auras rien.

Avant de faire un apt-get install, tu peux chercher ce qui t’intéresse avec un apt-cache show vsftpd. Personnellement, ça me donne ça:

Monstre:/home/vsftpd# apt-cache policy vsftpd
vsftpd:
Installé : 2.0.5-2
Candidat : 2.0.5-2
Table de version :
2.0.6-1.2 0
-992 ftp.fr.debian.org sid/main Packages
*** 2.0.5-2 0
1001 ftp.fr.debian.org etch/main Packages
1001 ftp.fr.debian.org stable/main Packages
100 /var/lib/dpkg/status
J’ai ce résultat parce que je n’ai pas simplement les sources de Etch, mais aussi de la Sid, de la Lenny, etc. Je manage le tout avec le fichier “préférences”, que tu découvriras plus tard. Toi, tu devrais trouver quelque chose comme :

500 ftp.fr.debian.org etch/main Packages

Un apt-cache show vsftpd te filera des informations sur le paquetage que tu veux installer.

Ensuite, les tuto relatifs à l’installation du vsftpd ne manquent pas sur la toile. Utilise tout ce que je t’indique ici pour approfondir (y a pas urgence, à priori).

Pour te dire, j’ai - grosso modo - moi-même appris tout seul à l’installer, mis à part une grosse aparté peuplée de déboires dûes au fait que j’avais confondu vsftpd et le sftp - ce qui est fréquent quand on connait mal l’outil et la différence entre le ftp, le sftp ou le ftps… Le FTP est le protocole de base, le sftp est le SSH FTP, tandis que le ftps est le FTP over SSL. Là aussi, chaque chose en son temps. Paramètre déjà un ftp “simple” avant de compliquer les choses (conseil d’ami).

Pas besoin d’être sorcier vaudou ou de sacrifier un poulet pour y arriver, donc (je plaisante).

Quand au fichier de conf, je te donne un exemple (que j’ai traduit):

#Le port d’écoute par défaut est le 21. Vous pouvez imposer un autre port si vous le souhaitez. La ligne listen_port n’apparait pas forcément dans le fichier de configuration initial. Ne vous inquiétez pas, il écoute bien le 21. Tapez l’option si vraiment vous voulez attribuer un autre numéro de port.
listen_port=21

#Nombre de clients simultanés:
max_clients = 5

#Spécifie le nombre max de clients autorises à se connecter depuis la même adresse source.
max_per_ip = 4

Vsftpd est en standalone. Le démarrage du serveur n’est donc géré par aucun superserveur de type intetd ou xinetd.

listen=YES

Même chose mais pour IPV4.

#listen_ipv6=YES

Accorder l’accès “anonyme”?

(La configuration par défaut est “oui”. Par sécurité, j’ai indiqué non.

anonymous_enable=NO

#A décommenter pour que les users locaux puissant se connecter au FTP.
local_enable=YES

#A décommenter si on veut que l’utilisateur puisses écrire dans un fichier/dossiers.
write_enable=YES

#Définir un umask. Par défaut, 077. Ici, 022, ce qui laisse de droits en 644 sur les fichiers. #Cela nous donnera, si nous faisons un ls –l, sur le fichier uploadé des droits en : -rw-r–r--.
local_umask=022

#Pour que l’utilisateur anonyme puisse faire du téléversement (upload) : décommenter.
anon_upload_enable=YES

#A décommenter si vous souhaitez que le user anonyme puisse créer de nouveau répertoires.
#anon_mkdir_write_enable=YES

#Active les messages de répertoires perçus par l’utilisateur distant.
dirmessage_enable=YES

#Active l’enregistrement des téléchargements/téléversements.
xferlog_enable=YES

#Pour être sûr que la connexion des données – au moins initialement – passera par le port 20
#(ftp-data). Si on choisit la solution des ports éphémères (Cf. plus loin), YES ne sera pas
#obligatoire.
connect_from_port_20=YES

#Si vous voulez, vous pouvez prendre des dispositions pour ce que les dossiers anonymes tél éversés aient pour propriétaire un utilisateur différent. Attention! L’utilisation “de la racine” pour les dossiers tél éversés n’est pas recommandée !
#chown_uploads=YES
#chown_username=whoever

#L’emplacement des fichiers logs (journaux évènementiels).
xferlog_file=/var/log/vsftpd.log

#Si vous le souhaitez, vous pouvez avoir votre journal évènementiel au format xferlog.
#xferlog_std_format=YES

#Vous pouvez changer la valeur du time out par défaut, en cas de session lente à l’ouverture.
#idle_session_timeout=600

Vous pouvez changer la valeur par défaut pour le time out de la connexion Data.

#data_connection_timeout=120

#Pour définir sur votre système un utilisateur unique que le serveur FTP peut utiliser comme
#un utilisateur totalement isolé et non privilégié.
#nopriv_user=ftpsecure

#Permettre au serveur la reconnaissance des requêtes asynchrones d’ABOR. Non
#recommandé pour la sécurité (le code est non-insignifiant).
#async_abor_enable=YES

#Par défaut, le serveur autorisera le mode ASCII. Mais en fait, il l’ignorera. Pour que le serveur gère réellement l’ASCII, décommentez les lignes suivantes.

Prenez garde car sur certains serveurs FTP, l’utilisation d’ASCII permet une attaque par déni de service (Attaque DOS), via la commande « SIZE /big/file » dans le mode ASCII. VSFTPD a « prévu » cette attaque et s’en est toujours protégé en reportant la taille du fichier brut.

ASCII mangling is a horrible feature of the protocol.

#ascii_upload_enable=YES
#ascii_download_enable=YES

#Configurer la bannière qui apparait sur le client, à la connexion de l’utilisateur distant.
ftpd_banner=Welcome to Christian FTP service!

#Vous pouvez spécifier un fichier d’adresses électroniques anonymes rejetées. Apparemment utile dans la lutte contre les attaques DoS.
#deny_email_enable=YES

#Spécifie l’emplacement du fichier banned_emails (dans /etc/vsftpd)
#banned_email_file=/etc/vsftpd.banned_emails

#Vous pouvez restreindre les utilisateurs locaux dans leur répertoire $HOME via ce fichier.
#Par défaut, est considéré comme étant sur NO.
#chroot_local_user=NO

#Vous pouvez spécifier une liste d’utilisateurs locaux à chrooter dans leur $HOME. Si
#chroot_local_user est sur YES, alors la liste des users figurant dans ce fichier ne sera pas
#chrootée par défaut. Seuls ceux qui n’y figureront pas seront chrootés.
chroot_list_enable=YES

#Spécifie l’emplacement du fichier /etc/vsftpd/chroot_list
chroot_list_file=/etc/vsftpd/chroot_list
(ou chroot_list_file=/etc/vsftpd.chroot_list)

#On refuse l’utilisation de la commande « ls –R »
ls_recurse_enable=YES

#Répertoire vide et non modifiable par les processus du serveur. Il est utilisé comme cellule
#chroot lorsque le serveur n’a pas besoin d’accéder au système de fichiers. /var/run/vsftpd est
#la valeur par défaut.
secure_chroot_dir=/var/run/vsftpd

#Définition du nom du fichier de configuration pour VSFTPD pour le module
#d’authentification PAM. (= « Pluggable Authentication Module », qui gère

L’authentification pour vsftpd - Module d’authentification pour Linux).

pam_service_name=vsftpd

#Cette option spécifie la localisation du certificate RSA utilise par SSL.
rsa_cert_file=/etc/ssl/certs/vsftpd.pem

#Si vous mettez le serveur en mode passif, ces trois lignes suffiront :
pasv_enable=YES
pasv_min_port=55500
pasv_max_port=55510
#PS. Attention, car plus vous ouvrez de ports, ainsi, plus vous prenez de risques pour la sécurité. Si vous voulez vous en tenir au mode actif, il suffira de ne pas ajouter ses trois lignes et de préciser « actif » au niveau du client. En cas de changement, il faudra juste « reloader ».

#En plus (selon besoin).
#permettre au serveur d’utiliser les pam_service et donne le nom au service (si besoin)
pam_service_name=vsftpd

Fichier des users FTP. Sans ce fichier, VSFTPD se base de toute façon, sur les users locaux.

userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list

Chargement de la liste userlist_file

userlist_enable=YES

#Permettre au serveur d’utiliser les tcp_Wrapper
tcp_wrappers=YES


C’est un exemple… tout n’est pas à utiliser. Demande toi, d’abord ce que tu veux faire. L’exemple ci-dessus prends en compte une configuration en mode passif, par exemple. C’est ce que nous indique notamment les lignes :

pasv_enable=YES
pasv_min_port=55500
pasv_max_port=55510

Mais si ton Firewall l’accepte, un mode actif peut fonctionner (le mode actif, c’est simple : tu ne mets rien. Si ça ne marche pas : hop, passive mode).

A présent, lit bien tout ça… part d’abord sur une configuration en FTP sans sécurisation autre que le chroot (super simple à utiliser, contrairement à sftpd, par exemple, ou tu dois passer par la création d’un environnement utilisateur), et tu lance le tout avec un :

“/etc/init.d/vsftpd start”
(ou restart, selon si le serveur est déjà lancé ou non).

"/etc/init.d/vsftpd stop"
stoppera le serveur.

"/etc/init.d/vsftpd reload"
reloadera la configuration du serveur.

Pour vérifier si ça marche ou pas :

Utilise “netstat -nltp | grep 21” (tu verras ainsi si le port 21, du ftp, est bien ouvert, autrement dit si le serveur est en marche).
Utilise ftp localhost (ou “127.0.0.1”… pour voir, en local, si la connexion de l’utilisateur créé se fait comme tu l’entends).
Et ensuite, teste à partir d’une machine distante.

Déjà avec tout ça, tu as de la matière pour bosser, au moins.
(ton fichier de conf… il me parait lège).

Bonne chance,

et bien sonador :open_mouth: je peux te dire un grand merci, ca me parait bcp plus clair, merci encore :smt007

je vais bosser ca de mon coté et je reviendrais encore meilleur :smiling_imp:

merci merci merci merci

Effectivement, ta conf, en soit, n’est pas dramatique. Toutefois, pour qu’elle fonctionne, il faut :
-que tu aies configuré des users virtuels
-un user “virtual” (virtual, ftpuser, etc… comme tu le sens)
-que le user aie les droits d’accès à son répertoire de connexion.
-que les user virtuels soient indiqué comme tel dans les fichiers que tu dois créer dans le répertoire /etc/vsftpd/vsftpd_user_conf (fichier qui doivent être aux noms des users virtuels et qui doivent contenir la configuration - style droits d’accès, de lecture, etc… desdits users).
etc…

Ensuite, tu as décommenté la lignes relatives au ssl:
rsa_cert_file=/etc/ssl/certs/vsftpd.pem

D’une part (en tout cas pour ma part), il faut une ligne supplémentaire, dans ce cas. Tu dois avoir:
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/certs/vsftpd.pem

En principe, tu devrais aussi avoir des lignes comme celles-ci:
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=NO
force_local_logins_ssl=YES

ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES

(avant rsa_cert_file and cie, sinon ça bloque).

Il s’agit à la fois d’indiquer ce que ssl doit pouvoir faire et quelles sont les bibliothèques utilisées (de mémoire). or tu n’as rien de tout ça et comme tu débutes, je suppose que tu ne l’as pas vérifié.

Idem pour les users virtuels. Commence plutôt par créer des users physiques ayant des accès au ftp via le vsftpd avant d’entrer dans la conf de users virtuels (ça ne tient qu’à moi, mais je ne suis même pas convaincu de la super utilité des users virtuels, pour le moment… Rien qu’au niveau des logs, tu ne vois pas qui fait quoi, déjà… Mais bon, quelqu’un aura peut-être une bonne idée à me proposer quand à l’utiliser de cette conf. Je suis preneur, comme d’hab’).

Ce sera plus simple.

Ensuite :
chroot_local_user=YES

Une ligne importante, donc (mais pas à sniffer, celle-là).
chrooter c’est bien. C’est la vie. Mais chrooter quoi? Si tu es en mode “users virtuels”, le seul user que tu peux chrooter, c’est “virtual” (enfin, disons l’utilisateur virtuel, quoi) car c’est le seul user physique qui rééllement se connecte au ftp, dans ce cas. Je n’ai pas essayé, de mémoire. Je suppose que c’est jouable (je ne me souviens plus de la façon dont j’avais fait le truc, pour ne rien te cacher). Cependant, dans les fichiers contenu dans le répertoire vsftpd_user_conf, tu peux ajouter la ligne :

local_root=/home/Fleury-Mérogis
(ou ce que tu veux, bien sûr).
Cette ligne, que tu pourras individuellement ajouter dans chacun des fichiers des users virtuels du répertoire vsftpd_user_conf chrootera l’utilisateur dans /home/Fleury-Mérogis, par exemple.

Le user y sera alors enfermé…

Bref, tu vois, t’as plein de trucs à vérifier…

Pas de problème.

Y a trois mois, je commençais à m’intéresser à vsftpd, moi aussi.

Alors tu vois, y a de l’espoir :slightly_smiling:

Ce qui est bien avec ce serveur, c’est que tu peux aller de la conf la plus simple à la plus complexe et il reste toujours intéressant.