vsftpd est le deamon qui gère les connexions à webusers et webassos en FTP. Le but de vsftpd est de fournir un accès au dossier /var/www/(nom de l'user)
via le protocole FTP.
L'installation actuelle comprend vsftpd ainsi que le système de pam_mysql. Il à été installé via la commande :
apt-get install vsftpd libpam-mysql openssl
Les fichiers de configuration sont :
/etc/vsftpd.conf
→ configuration du deamon/etc/vsftpd/
→ fichiers de conf de chaque utilisateur
La configuration générale ce trouve dans dans /etc/vsftpd.conf
Les lignes qui nous intéressent sont :
[...] listen=YES listen_port=14258 [...]
Ceci permet de dire à vsftpd que le port d'écoute est 14258. le port n'est pas 21 car le port 21 est bloqué par notre firewall, ainsi que celui de la disi !
[...] # "guest_enable" active les utilisateurs virtuels # "guest_username" fait correspondre tous les utilisateurs virtuels à l'utilisateur d'Apache 2 guest_enable=YES guest_username=www-data <color blue>user_config_dir=/etc/vsftpd</color> [...]
Ceci permet d'enable les guests, c'est à dire les utilisateurs du ftp qui n'ont pas de compte sur la machine. Lorsqu'ils se connectent, le système les reconnais en tant que www-data, l'user qui gère le serveur web et a les droits sur /var/www
[...] #Fichier de configuration par défaut, aucun droit !!!!!!! anon_world_readable_only=YES #local_root=/var/www/chroot write_enable=NO anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO hide_file=* force_dot_files=YES [...]
Cette partie sert de protection, elle ne donne pas les droits par défaut.
Le ftp authentifie les users via ce qui est présent dans la table users
de la base de donnée ftp
présent sur sql.minet.net.
La configuration des guests se trouve dans le dossier /etc/vsftpd/
.
Prenons l’exemple de superman, voici le fichier /etc/vsftpd/superman
:
anon_world_readable_only=NO local_root=/var/www/superman write_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES hide_file=(none) force_dot_files=YES
Ce bout de code permet de dire à vsftpd quel est le dossier dans le serveur qui appartient à superman. Il donne les droits à superman d'écrire dans son propre dossier.
vsftpd est un deamon. Sous Debian, les daemon/services se gère via :
services vsftpd start|stop|restart