PostHeaderIcon Mise en place d’un serveur FTP vsftpd

vsftpd signifie Very Secure FTP Daemon, et c’est l’un des plus populaires autour de démons FTP. vsftpd est très médiatisées, très configurable et est généralement considéré comme plus sûr que d’autres serveurs FTP. le MyBook a un processeur ARM qui est suffisamment lent pour le chiffrement SCP.

Installation

vous devez installer Optware avant en suivant cet article optware

Après avoir installer Optware , vous pouvez facilement installer vsftpd en utilisant ipkg installer:

ipkg install vsftpd

ipkg mettra les fichiers nécessaires dans /opt, et donnera des instructions pour ajouter la ligne suivante dans /etc/inetd.conf:

ftp stream tcp nowait root /opt/sbin/vsftpd /opt/etc/vsftpd.conf

Comme une bonne pratique de sécurité, il est préférable d’avoir vsftpd s’executer comme un utilisateur non-privilégié plutôt que comme root. Par défaut, il veut être lancé par l’utilisateur ‘ftp’, mais la configuration que vient d’installer optware utilise ‘ftpsecure’ ». Vous devez ajouter ce nom d’utilisateur dans /etc/passwd. Assurez-vous de sélectionner un nom d’utilisateur unique (dans cet exemple, l’UID est de 104):

ftpsecure:x:104:99:Operator:/var:/bin/sh

Depuis vsftpd est contrôlée par inetd, aucune des modifications ne doivent être apportées aux scripts de démarrage, mais inetd a besoin d’être redémarré pour que le changement prenne effet. À partir du script de démarrage S30network, comme ceci:

/etc/init.d/S30network restart

Vous devriez maintenant avoir un serveur vsftpd de travail sur votre MyBook WD.

LOG et ramdisk

Si vous avez configuré votre MyBook WD spin_down et ramdisk, vous pouvez changer l’emplacement des log vsftpd en les mettant dans la ramdisk ça éviterai le réveille des disques.

vsftpd_log_file=/mnt/ramdisk/vsftpd.log

Article similaire

33 réponses à to “Mise en place d’un serveur FTP vsftpd”

  • Snyfir dit :

    Bonjour,

    j’ai installé FTP vsftpd en suivant ce tutoriel.
    Mais comment créé des comptes utilisateur qui puisse avoir accé au FTP ?

    Merci d’avance pour votre réponse.

  • admin dit :

    Bonjour, en fait c’est tout simple après.
    il faut créer un utilisateur soit par l’interface web fourni avec le mybook. ou bien avec la commande adduser (ou useradd je confond toujours).
    ça va tout seul.
    si vous n’arrivez pas a vous connecter sur votre serveur. postez moi le contenu du fichier /etc/vsftpd.conf

  • Snyfir dit :

    Bonjour,

    J’ai créé un utilisateur avec la commande adduser, mais quand je me connecte au ftp il me di que les identifiant son faux. De même en utilisant l’interface web.
    Quand je fais un dir, dans le dossier etc, le fichier vsftpd.conf n’existe pas.

  • Snyfir dit :

    j’ai fini par trouvé le fichier vsftpd.conf
    Il ne trouve pas dans : /etc/vsftpd.conf
    mais dans : opt/etc/vsftpd.conf
    est ce que vous pouvez me postez le contenu du fichier /opt/etc/ipkg.conf ?
    quant vous vous connectez en ftp sur votre mybook vous faites : ftp ADRESSEIPMYBOOK. s’affiche vous affiche quoi exactement?
    Voici ce qu’il y a dedans :
    # Example config file /opt/etc/vsftpd.conf
    #
    # The default compiled in settings are fairly paranoid. This sample file
    # loosens things up a bit, to make the ftp daemon more usable.
    # Please see vsftpd.conf.5 for all compiled in defaults.
    #
    # READ THIS: This example file is NOT an exhaustive list of vsftpd options.
    # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd’s
    # capabilities.
    #
    # Allow anonymous FTP? (Beware - allowed by default if you comment this out).
    anonymous_enable=NO
    #
    # Uncomment this to allow local users to log in.
    local_enable=YES
    #
    # Uncomment this to enable any form of FTP write command.
    write_enable=YES
    #
    # Default umask for local users is 077. You may wish to change this to 022,
    # if your users expect that (022 is used by most other ftpd’s)
    local_umask=022
    #
    # Uncomment this to allow the anonymous FTP user to upload files. This only
    # has an effect if the above global write enable is activated. Also, you will
    # obviously need to create a directory writable by the FTP user.
    #anon_upload_enable=YES
    #
    # Uncomment this if you want the anonymous FTP user to be able to create
    # new directories.
    #anon_mkdir_write_enable=YES
    #
    # Activate directory messages - messages given to remote users when they
    # go into a certain directory.
    dirmessage_enable=YES
    #
    # Activate logging of uploads/downloads.
    xferlog_enable=YES
    #
    # Make sure PORT transfer connections originate from port 20 (ftp-data).
    connect_from_port_20=YES
    #
    # If you want, you can arrange for uploaded anonymous files to be owned by
    # a different user. Note! Using “root” for uploaded files is not
    # recommended!
    #chown_uploads=YES
    #chown_username=whoever
    #
    # You may override where the log file goes if you like. The default is shown
    # below.
    xferlog_file=/opt/var/log/vsftpd.log
    #
    # If you want, you can have your log file in standard ftpd xferlog format
    #xferlog_std_format=YES
    #
    # You may change the default value for timing out an idle session.
    #idle_session_timeout=600

  • admin dit :

    le fichier que vous avez postez il est pas entier?! est ce normal?
    voici mon fichier vsftpd.conf.
    [root@MyBookWorld ~]# cat /etc/vsftpd.conf
    # Example config file /etc/vsftpd.conf
    #
    # The default compiled in settings are fairly paranoid. This sample file
    # loosens things up a bit, to make the ftp daemon more usable.
    # Please see vsftpd.conf.5 for all compiled in defaults.
    #
    # READ THIS: This example file is NOT an exhaustive list of vsftpd options.
    # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd’s
    # capabilities.
    #
    # Allow anonymous FTP? (Beware - allowed by default if you comment this out).
    anonymous_enable=NO
    #
    # Uncomment this to allow local users to log in.
    local_enable=YES
    #
    # Uncomment this to enable any form of FTP write command.
    write_enable=YES
    #
    # Default umask for local users is 077. You may wish to change this to 022,
    # if your users expect that (022 is used by most other ftpd’s)
    #local_umask=022
    #
    # Uncomment this to allow the anonymous FTP user to upload files. This only
    # has an effect if the above global write enable is activated. Also, you will
    # obviously need to create a directory writable by the FTP user.
    #anon_upload_enable=YES
    #
    # Uncomment this if you want the anonymous FTP user to be able to create
    # new directories.
    #anon_mkdir_write_enable=YES
    #
    # Activate directory messages - messages given to remote users when they
    # go into a certain directory.
    dirmessage_enable=YES
    #
    # Activate logging of uploads/downloads.
    xferlog_enable=YES
    #
    # Make sure PORT transfer connections originate from port 20 (ftp-data).
    connect_from_port_20=YES
    #
    # If you want, you can arrange for uploaded anonymous files to be owned by
    # a different user. Note! Using “root” for uploaded files is not
    # recommended!
    #chown_uploads=YES
    #chown_username=whoever
    #
    # You may override where the log file goes if you like. The default is shown
    # below.
    xferlog_file=/var/log/vsftpd.log
    #
    # If you want, you can have your log file in standard ftpd xferlog format
    #xferlog_std_format=YES
    #
    # You may change the default value for timing out an idle session.
    #idle_session_timeout=600
    #
    # You may change the default value for timing out a data connection.
    #data_connection_timeout=120
    #
    # It is recommended that you define on your system a unique user which the
    # ftp server can use as a totally isolated and unprivileged user.
    nopriv_user=www-data
    #
    # Enable this and the server will recognise asynchronous ABOR requests. Not
    # recommended for security (the code is non-trivial). Not enabling it,
    # however, may confuse older FTP clients.
    #async_abor_enable=YES
    #
    # By default the server will pretend to allow ASCII mode but in fact ignore
    # the request. Turn on the below options to have the server actually do ASCII
    # mangling on files when in ASCII mode.
    # Beware that on some FTP servers, ASCII support allows a denial of service
    # attack (DoS) via the command “SIZE /big/file” in ASCII mode. vsftpd
    # predicted this attack and has always been safe, reporting the size of the
    # raw file.
    # ASCII mangling is a horrible feature of the protocol.
    #ascii_upload_enable=YES
    #ascii_download_enable=YES
    #
    # You may fully customise the login banner string:

    ftpd_banner=************** Welcome to Ahmed FTP service **************

    #
    # You may specify a file of disallowed anonymous e-mail addresses. Apparently
    # useful for combatting certain DoS attacks.
    #deny_email_enable=YES
    # (default follows)
    #banned_email_file=/etc/vsftpd.banned_emails
    #
    # You may specify an explicit list of local users to chroot() to their home
    # directory. If chroot_local_user is YES, then this list becomes a list of
    # users to NOT chroot().
    #chroot_list_enable=YES
    # (default follows)
    #chroot_list_file=/etc/vsftpd.chroot_list
    #
    # You may activate the “-R” option to the builtin ls. This is disabled by
    # default to avoid remote users being able to cause excessive I/O on large
    # sites. However, some broken FTP clients such as “ncftp” and “mirror” assume
    # the presence of the “-R” option, so there is a strong case for enabling it.
    #ls_recurse_enable=YES

    #chroot_local_user=YES
    #local_root=/shares/internal/

  • Snyfir dit :

    Bonjour,

    j’arrive à me connecter, enfaite il fallait utiliser le logiciel WinSCP. Moi je voudrais pouvoir me connecter au ftp en utilisant le poste de travail. Mais quand je m’identifie, il me di que les identifiant son faut, alors qu’il sont juste vu qu’avec WinSCP sa marche.

    Comment je peux faire ?

  • admin dit :

    WinSCP est un client SFTP donc il utilise ssh et non ftp!
    sans doute vous vous connectez graphiquement en ssh :).
    vous n’avez pas répondu a mes questions

  • Snyfir dit :

    Quand je veux regarder le fichier vsftpd.conf avec la commande vi, cela m’affiche :
    #Uncomment the following line for native packages feed (if any)
    #src/gz native http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/native/unstable
    src/gz optware http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/cross/unstable
    dest /opt/ /
    #option verbose-wget

    Est-ce normal ?

  • admin dit :

    je croyais que vous pouvez voir le contenu du vsftpd.conf?!!
    normalement le contenu que vous avez c’est le contenu du fichier /etc/opt/ipkg.conf
    vous ne vous etes pas tromper?

  • Snyfir dit :

    C bon je le vois. J’ai remplacé ce fichier par le votre. Mais sa na rien changé. Si j’essai de me connecter avec ftpexpert, j’obtien comme message :
    500 OOPS: could not bind listening IPv4 socket

  • admin dit :

    erreur 500 c’est un probleme serveur.
    j’aimerai savoir le resultat de :
    which vsftpd

  • Snyfir dit :

    Quand je tape which vsftpd, j’obtient rien du tout :
    [root@MonDD /]# which vsftpd
    [root@MonDD /]#

  • admin dit :

    vous devez recommencez le tutorial. l’installation s’est mal passé!

  • Snyfir dit :

    Je recommence à partir de l’installation du ssh ? Est ce qu’il faut d’abord qu’il faut que je remette le disque dure comme à son origine ? et si oui comment ?

  • admin dit :

    non juste l’installation du http://ftp.
    la commande wich vsftpd. donne le chemin de “l’executable” (serveur ftp). d’apres vous elle ne vous affiche rien! etes vous en root (su -) quant vous tapez les commandes?

  • Snyfir dit :

    Oui, je suis bien en root. la commande which, me donne rien, pourtant si je fait un dir dans le dossier /opt/sbin/ cela m’affiche : vsftpd

  • admin dit :

    montrez moi le contenu du fichier /etc/inetd.conf.
    créez un lien symbolique :
    ln -s /opt/etc/vsftpd.conf /etc/vsftpd.conf
    car il se peut que vsftpd insiste d’avoir un fichier de conf dans /etc/.
    redemarrer le mybook et dites moi le resultat.

  • Snyfir dit :

    Voici ce que contient le fichier etc/inetd.con :

    [PATATE@DDalex etc]$ cat inetd.conf
    netbios-ssn stream tcp nowait root /usr/local/samba/sbin/smbd smbd -s/etc/smb.conf -l/var/log -d0
    #swat stream tcp nowait root /usr/local/samba/sbin/swat swat -a -d 1 -l /var/log
    #tftp dgram udp wait root /usr/sbin/in.tftpd in.tftpd -c -s /tftpboot
    #ssh stream tcp nowait root /usr/sbin/sshd sshd -i
    #telnet stream tcp nowait root /usr/sbin/telnetd telnetd
    ftp stream tcp nowait root /opt/sbin/vsftpd /opt/etc/vsftpd.conf

    La commande ln … me donne :
    creating symbolic link `/etc/vsftpd.conf’ to `/opt/etc/vsftpd.conf’: File exists

    Pour redémarrer le my book c’est la commande : /etc/init.d/S30network restart
    Si c’est sa, le ftp marche toujours pas.

  • admin dit :

    d’apres le message d’erreur. on dirait qu’il n ya rien a l’ecoute.
    essayé d’ajouter cette ligne dans le fichier de configuration vsftpd.conf :

    listen=YES

  • Snyfir dit :

    J’ai rajouté la ligne “listen=YES” et rebooter le serveur avec la commande “/etc/init.d/S30network restart” mais sa change rien.

  • admin dit :

    je suis vraiment a cours d’idée!!
    vous n’avez rien installer de similaire?
    la commande lsof -i :21 donne les service a l’ecoute sur le port 21.
    ça donne quoi chez vous?

  • Snyfir dit :

    Non je n’est rien installé d’autre.

    [root@DD ~]# lsof -i :21
    COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
    inetd 1004 root 5u IPv4 2466 TCP *:ftp (LISTEN)

  • admin dit :

    bon on baisse les bras…
    c’est vrai que ftp est de moins en moins utilisé car il peut etre piraté facilement. la winscp peut etre une alternative tres fiable

  • Snyfir dit :

    Je vais essayer en réinstallent depuis tout le début.

  • Snyfir dit :

    J’ai trouvé le problème.
    J’ai désinstallé vsftpd et j’ai fait la commande : netstat -ntl
    pour voir les port ouvert. Ce qui me donne :

    tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
    tcp 0 0 127.0.0.1:12853 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN

    Ce qui veux dir que le port 21 est utilisé.
    Mais par qui ?
    et comment le désactivé ?

  • Snyfir dit :

    C’est bon j’ai résolu le problème. J’ai tout simplement désactivé inetd et mis vsftpd en mode standalone.
    Puis j’ai lancer vsftp avec la commande : “/opt/sbin/vsftpd /opt/etc/vsftpd.conf &”

    Le problème est que je doit taper cette commande à chaque fois que je redémarre le mybook. Comment faire pour faire démarrer tout seul vsftpd au démarrage du mybook ?

  • Dimitri dit :

    BOnjour

    j’ai exactement le même problème que toi Snyfir, seulement je n’ai pas compris ta derniere modif ?? Peux tu l’expliquer en détail ?

    Et autres soucis, je n’arrive pas à executer les MAKE et MAKE Install…

    Merci pour tout

  • ecto dit :

    Bonjour,

    je n’ai eu aucun souci particulier a installer ce serveur FTP grâce à ce très bon TUTO.
    mais je me pose une question, est il possible d’interdire l’accès à un compte crée sur ce serveur au delà de son espace alloué. il n’y aucun pb a lui interdire l’accès à d’autres comptes (j’ai pu le tester) mais est il possible de lui interdire de remonter en racine des répertoires ? je n’ai pas très envie de connaitre les déboires suites à la suppression d’un fichier dans /lib ou opt….

    merci par avance de votre réponse.

  • admin dit :

    chroot
    il faut modifier le fichier vsftpd.conf en ajoutant la ligne
    chroot_local_user=YES
    voila

  • Renaud dit :

    Bonjour,

    petit soucis egalement pour acceder au serveur ftp : utilisateur non reconnu !

    dans la ligne ftpsecure:x:104:99:Operator:/var:/bin/sh ,104 c’est quoi au juste

    si je veut que l’utilisateur soit DD je met 1003 ?
    sachant que cette ligne est présente dans le fichier : DD:x:1003:1003:Linux User,,,:/home/DD:/bin/sh

    autre chose avec netstat le port 21 est aussi en écoute par qui ?

    quand Snyfir dit “J’ai tout simplement désactivé inetd et mis vsftpd en mode standalone.” c’est quoi au juste

    en tout cas merci pour tout ces excellents tuto…

  • Yannck barrtd dit :

    bonjour,
    comme beaucoup je galère, mais pour le sftp, vous avez le choix entre port 21 et port 22.
    pour ce qui me concerne, j’y accède avec le port 22 en utilisant FileZilla
    pour répondre à la question ci dessus, j’ai créer un utilisateur FTPSECURE avec son mot de passe (UID = 1007 chez moi) et j’ai mis modifié la ligne
    ftpsecure:x:1007:99:Operator:/var:/bin/sh
    en mettant 1007 au lieu de 104
    merci de m’avoir permis d’arriver jusque là :-)

  • Renaud dit :

    Help,

    aprés plusieurs bidouillage plus moyen de me connecter à mon dique j’ai tenter la manip de yannck (moi c’était 1006) et depuis impossible d’y accéder que ce soit via l’explorateur windows ou en ssh seul l’interface de géstion est accésible mais impossible de supprimer l’utilisateur ftpsecure… Help comment revenir en arriére

  • Cedric dit :

    Salut tout d’abord merci pour ce site.

    Je découvre UNIX et j’ai toujours un peu du mal à saisir ce que je fais.

    lorsque je tente de me connecter à mon ftp j’obtiens ceci comme réponse.

    Statut : Connexion établie, attente du message d’accueil…
    Réponse : /opt/etc/vsftpd.conf: can’t load library ‘libssl.so.0.9.8′
    Erreur : Impossible d’établir une connexion au serveur

    Je suis un peu perdus. Ai je raté quelque chose?

    Bien à vous.

    C

Laisser un commentaire

Sponsors