Dans ce tutoriel, nous allons vous montrer comment créer facilement un serveur FTP avec des utilisateurs virtuels en utilisant le démon vsFTP sur Debian 8.
Tout d'abord. Mettez à jour votre VPS Debian :
# apt-get update && apt-get upgrade
Si vous n'avez pas de serveur web Apache2 ou si vous utilisez NGINX, vous devrez installer apache2-utils
qui est nécessaire pour générer des mots de passe pour les utilisateurs.
# apt-get install apache2-utils
Installez le service vsftpd :
# apt-get install vsftpd libpam-pwdfile
Modifiez le fichier de configuration vsftpd et décommentez les lignes ci-dessous. Utilisez vim
ou nano
. Les lignes qui ne sont pas présentes dans le fichier conf, placez-les en bas.
# vim /etc/vsftpd.conf listen=YES listen_ipv6=NO anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 nopriv_user=vsftpd chroot_local_user=YES allow_writeable_chroot=yes guest_username=vsftpd virtual_use_local_privs=YES guest_enable=YES user_sub_token=$USER local_root=/var/www/$USER hide_ids=YES # Exclude this if you are doing this guide on your own private server seccomp_sandbox=NO
Ensuite, nous devons modifier notre /etc/pam.d/vsftpd
fichier pour vérifier le fichier utilisateurs/mots de passe que nous sommes sur le point de créer.
Commencez par créer une sauvegarde du fichier, puis modifiez celle qui existe :
# cp /etc/pam.d/vsftpd{,.bak} # vim /etc/pam.d/vsftpd
Supprimez tout du fichier et ajoutez ces lignes à la place :
auth required pam_pwdfile.so pwdfile /etc/ftpd.passwd account required pam_permit.so
Créez l'utilisateur principal qui sera utilisé par les utilisateurs virtuels pour s'authentifier :
# useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd
Une fois cela fait, nous pouvons créer notre fichier utilisateurs/mots de passe.
Remarque :Les mots de passe utilisés par cette méthode peuvent comporter jusqu'à 8 caractères. Si vous souhaitez que vsftpd lise des mots de passe plus forts, vous pouvez rechercher un autre module pam.
# htpasswd -cd /etc/ftpd.passwd rosetest1
Ajoutez un autre utilisateur et ajoutez-le au fichier ftpd.passwd. Le -c
le drapeau est omis ici.
# htpasswd -d /etc/ftpd.passwd rosetest2
Ensuite, ajoutez les répertoires pour les utilisateurs puisque vsftpd ne les créera pas automatiquement.
## For rosetest1 # mkdir /var/www/rosetest1 # chown vsftpd:nogroup /var/www/rosetest1 # chmod +w /var/www/rosetest1 ## For rosetest2 # mkdir /var/www/rosetest2 # chown vsftpd:nogroup /var/www/rosetest2 # chmod +w /var/www/rosetest2
Enfin, démarrez le démon vsftp et configurez-le pour qu'il démarre automatiquement au démarrage du système.
# systemctl start vsftpd && systemctl enable vsftpd
Vérifiez l'état pour vous assurer que le service est démarré :
# systemctl status vsftpd ● vsftpd.service - vsftpd FTP server Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled) Active: active (running) since Sat 2016-12-03 11:07:30 CST; 23min ago Main PID: 5316 (vsftpd) CGroup: /system.slice/vsftpd.service ├─5316 /usr/sbin/vsftpd /etc/vsftpd.conf ├─5455 /usr/sbin/vsftpd /etc/vsftpd.conf └─5457 /usr/sbin/vsftpd /etc/vsftpd.conf
Testez votre configuration
Utilisez FileZilla ou WinSCP pour vous connecter à votre VPS en utilisant les utilisateurs et les mots de passe que vous avez créés précédemment.
Créez un répertoire de test et un fichier de test à partir des clients.
Sur le serveur, vérifiez que les fichiers sont créés avec succès avec :
# ls -l /var/www/rosetest1 # ls -l /var/www/rosetest2
Bien sûr, vous n'avez rien à faire si vous utilisez l'un de nos services d'hébergement VPS Linux, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts de configurer votre serveur FTP. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.
PS. Si vous avez aimé cet article, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.