Notes concernant l'installation et la configuration d'un serveur FTP VSFTPD
08.07.2004 Phil
Le but ici est d'installer un serveur FTP simple, efficace, rapide et surtout
très sé-cu-ri-sé !!!
Face à la complexité de certains de ses concurrents, la simplicité de mise en
oeuvre laisse songeur ...
Serveur utilisé : vsftpd
Site de l'auteur : Jetez
un oeil à la liste des "gros" utilisateurs et au diagrammes
des charge.
Page de
man : La référence ultime.
avantages : serveur léger rapide et très sécurisé.
configuration : voir le fichier /etc/vsftpd.conf
les options utilisables y sont toutes mentionnées.
Options personelles :
- modification de la bannière de connection ( = texte apparaissant lors du login)
permet de mettre plus de texte qu'avec ftpd_banner
banner_file=/etc/vsftpd.banner_file
- login anonyme (discutable du point de vue de la sécurité)
anonymous_enable=YES
- chroot des utilisateurs locaux
chroot_local_user=YES
Fichier de configuration de VSFTPD
Ce fichier décrit la configuration d'un serveur FTP public, qui chroote les
utilisateurs dans leur répertoire personel, mais qui autorise aussi le login
anonyme dans le répertoire de l'utilisateur anonymous. Ce qui permet la mise
en mirroir de l'arborescence de OpenBSD, par exemple, pour pouvoir faire des
installations très rapides par FTP. On peut ensuite utiliser Integrit ou Samhain
pour vérifier l'intégrité des packages avant d'installer. Dans ce cas on installera
le répertoire pub ainsi : /home/anonymous/pub/OpenBSD ...
# vi /etc/vsftpd.conf
anonymous_enable=YES
anon_root=/home/anonymous/
userlist_deny=YES
userlist_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
xferlog_file=/var/log/vsftpd.log
data_connection_timeout=300
idle_session_timeout=600
ascii_download_enable=YES
ascii_upload_enable=YES
ftpd_banner=***** WELCOME TO ALEX FTP SERVICE *****
banner_file=/etc/vsftpd.banner_file
chroot_list_enable=YES
chroot_local_user=YES
chroot_list_file=/etc/vsftpd.chroot_list
# deny_email_enable=YES
# banned_email_file=/etc/vsftpd.banned_emails
# dirmessage_enable=YES
ls_recurse_enable=YES
pam_service_name=vsftpd
passwd_chroot_enable=YES
use_localtime=YES
Maintenant quelque chose de plus intéressant :
Créer un répertoire commun à plusieurs utilisateurs
:
Nous avons vu ci-dessus comment donner à chaque utilisateur (sauf les interdits
de userlist_deny) un accès ftp à son répertoire personel.
Supposons maintenant qu'il existe aussi sur le serveur un répertoire contenant
par exemple votre collection de mp3 et que vous souhaitiez la partager avec
certains utilisateurs choisis ...
Comme il est interdit de proposer des mp3 en téléchargement vous n'allez pas,
c'est mieux pour vous, les mettre dans le répertoire /home/anonymous/public/mp3
... mais plutôt dans le répertoire d'un utilisateur spécial, files, muni du
répertoire /home/files
adduser files
ensuite il s'agit de placer les mp3 dans le répertoire /home/files/mp3
c'est à ce répertoire que les utilisateurs choisis auront accès, malgré le chroot.
Tout se passe avec la commande mount munie de l'option bind , voici la procédure
à appliquer :
le truc est de monter le répertoire à partager sur un répertoire de l'utilisateur
à qui vous offrez l'accès
1) Chmoder le répertoire que vous voulez mettre à disposition (mp3) de manière
à le rendre lisible par tous,
dans notre exemple :
chmod 755 /home/files/mp3
éventuellement songer à créer un sous-répertoire $_UPLOAD autorisé en écriture
pour les uploads
2) Pour chaque utilisateur choisi, créer le répertoire d'accès au répertoire
mp3
pour l'utilisateur mouna, ça donne :
mkdir /home/mouna/mp3
le chowner et le chmoder correctement selon les besoins
chown mouna:mouna /home/mouna/mp3
chmod 755 /home/mouna/mp3
3) Utiliser la commande mount --bind pour monter le répertoire /home/files/mp3
à l'endroit souhaité
mount --bind /home/files/mp3 /home/mouna/mp3
!! cette manip n'est pas persistante (son effet disparaît
au reboot) pour la rendre permanente :
4) Utiliser fstab pour y inscrire le montage : il sera
remonté à chaque démarrage
/home/files/mp3
/home/mouna/mp3 auto bind,defaults 0 0
Répétez l'opération pour l'utilisateur Arno qui aime beaucoup la guitare et
pour tous les autres utilisateurs à qui vous voulez aussi permettre l'accès
à vos mp3.