Suggestion : Undefined index: dark_nature dans le fichier /web/tekniko/linux/kernel/header.php à la ligne 243
Suggestion : Undefined index: dark_nature dans le fichier /web/tekniko/linux/kernel/header.php à la ligne 244
Un coin perdu... : Articles - Serveur ftp avec vsftpd 1 : Mise en place.
Rss Serveur ftp avec vsftpd 1 : Mise en place.
Voici comment je me suis monté un serveur FTP afin de pouvoir agrémenter mon Weblog avec quelques téléchargements......et précision, je veux que n'importe qui puisse prendre les fichiers mis a dispo, mais je ne veux pas qu'il puisse faire n'importe quoi, juste les télécharger !


Comme d'habitude, nous somme sur une Ubuntu, une 7.10 cette fois mais ça fonctionne comme la 7.04, commençons par installer vsftpd


Code BASH :
 moi@ma-machine:-$ sudo apt-get install vsftpd




Et bien sur sur Linux, quasiment tout se passe dans le fichier de configuration, celui ci se trouve dans le répertoire /etc, il nous faut l'editer :


Code BASH :
 moi@ma-machine:-$ sudo vi /etc/vsftpd.conf



Ce qui nous renvois :


Code BASH :
# 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.
 #
 #
 # Run standalone?  vsftpd can run either from an inetd or as a standalone
 # daemon started from an initscript.
 listen=YES
 #
 # Run standalone with IPv6?
 # Like the listen parameter, except vsftpd will listen on an IPv6 socket
 # instead of an IPv4 one. This parameter and the listen parameter are mutually
 # exclusive.
 #listen_ipv6=YES
 #
 # Allow anonymous FTP? (Beware - allowed by default if you comment this out).
 anonymous_enable=YES
 #
 # Uncomment this to allow local users to log in.
 local_enable=NO
 #
 # 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=ftpsecure
 #
 # 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 the small furtiv one 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 restrict local users to their home directories.  See the FAQ for
 # the possible risks in this before using chroot_local_user or
 #chroot_list_enable below.
 chroot_local_user=NO
 #
 # 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
 #
 #
 # Debian customization
 #
 # 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/ssl-cert-snakeoil.pem
 #
 # This option specifies the location of the RSA key to use for SSL
 # encrypted connections.
 rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
 


Voici les options importantes a retenir pour un accès avec l'utilisateur "''anonymous''" de façon relativement sécurisée, bien sur, étant donné que nous utilisons un accès anonyme, on ne peut garantir a 100% la sécurité du système !



Code BASH :
 listen=YES
 anonymous_enable=YES
 local_enable=NO
 local_umask=022
 write_enable=NO
 xferlog_file=YES
 chroot_list_enable=YES
 chroot_list_file=/etc/vsftpd.chroot_list
 ftpd_banner=Welcome to the small furtiv one's FTP service


Description des options a retenir :

listen=YES--> Permet de définir si le serveur est en ''standalone'' ou lancé par un super deamon comme ''xinetd''.
anonymous_enable=YES--> On accepte les connexions anonymes.
Local_enable=NO--> On refuse les connexions locales, pour l'exemple, je n'en ai pas besoin donc je refuse !
local_umask=022--> Permet de définir les droit sur les dossiers et fichiers du /home du ftp =>022 donne des permissions en 644 sur les fichiers et 755 sur les dossiers.
write_enable=NO--> On interdit toutes actions d'ecriture.
xferlog_file=YES--> On ecrit un log sur les fichiers.
chroot_list_enable=YES--> On active la liste des utilisateur qui seront enfermés.
chroot_list_file=/etc/vsftpd.chroot_list--> c'est dans cette liste, qu'il faut créer, que l'on nomme les futur prisonniers ! dans notre cas, mentionner : anonymous
ftpd_banner=Welcome to the small furtiv one's FTP service--> Me semble important car on peut y mettre d'éventuelles infos sur des mises a jours etc....


Il existe de nombreuses autres options, vsftpd est plein de possibilités, on peut par exemple définir le nombre de connexion maxi sur le serveur grâce a l'option max_clients=, ou encore limiter le nombre de connexion par adresse ip grâce a max_per_ip=, et puis nous n'avons vu que la config pour une utilisation en anonyme, mais avec des utilisateurs déclarés, vsftpd se montre particulièrement performant, notamment grâce au base de données berkeley pour l'authentification....Nous verrons cela dans un futur article.

Voici les liens qui m'ont aidé dans ma tache :

Le site d'Andesi pour une config avec utilisateur virtuels et authentification
 
 
Note: Aucune note
(0 note)
Ecrit par: le furtif, Le: 12/10/08