Installer un serveur ftp sécurisé sur ubuntu

Install:
apt-get install vsftpd

Dossier pour vsftpd
mkdir /etc/vsftpd
mkdir /etc/vsftpd/vsftpd_user_conf/


Sauvegarde de sécurité:
cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak


Base de donnée :
apt-get install libdb3-util

Fichier de mot de passe
nano /etc/vsftpd/login.txt
Saisir:
nomUtilisateur1
passUtilisateur1
nomUtilisateur2
passUtilisateur2

etc...

Conversion du fichier :
db3_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/login.db

Droits fichiers:
chmod 600 /etc/vsftpd/login.db
chmod 600 /etc/vsftpd/login.txt


Informe pam de la base
nano /etc/vsftpd/vsftpd.pam
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/login
cp /etc/vsftpd/vsftpd.pam /etc/pam.d/vsftpd


Modif du fichier de config vsftpd
nano /etc/vsftpd.conf
Remplacer le tout par:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
guest_enable=YES
guest_username=www-data
anon_umask=022
chroot_local_user=YES
max_clients=200
max_per_ip=4
secure_chroot_dir=/var/run/vsftpd

pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
user_config_dir=/etc/vsftpd/vsftpd_user_conf
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key


Création du fichier de config de nomUtilisateur1
nano /etc/vsftpd/vsftpd_user_conf/nomUtilisateur1
Saisir:
anon_world_readable_only=NO
local_root=/home/leDossierFtp
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES


Mettre les droits www-data:www-data utilisateur et groupe du dossier leDossierFtp
chown www-data:www-data leDossierFtp

Redémarrage:
/etc/init.d/vsftpd restart