Depuis la version 1.1.2 (version supérieure à celle qui était dans Debian Woody, donc on ne pouvait pas en profiter), vsftpd permet d'adapter une configuration particulière en fonction de l'adresse IP du client.

L'implémentation ressemble (un peu) à de la bidouille avec l'utilisation de tcp_wrapper. C'est-à-dire que lors d'une connexion provenant d'une adresse donnée, tcp_wrapper va initialiser une variable d'environnement (VSFTPD_LOAD_CONF par exemple) indiquant à vsftpd qu'il faut une configuration spécifique qui va s'appliquer sur la configuration globale.

Dans les faits, ca se fait comme ca :

% grep tcp_wrapper /etc/vsftpd.conf
tcp_wrappers=YES
% grep vsftpd /etc/hosts.allow
vsftpd:192.168.19.88:setenv VSFTPD_LOAD_CONF /etc/vsftpd_special_guest.conf

Ainsi, la configuration special guest surchargera les réglages globaux. On pourra, par exemple, n'autoriser que l'écriture dans certains répertoires en anonymous, le téléchargement, le listing de (certain) fichiers (Merci A. !), etc.

Alors ? Qui a dit que vsftpd était pauvre en fonctionnalité ? Ok, sa configuration diffère totalement d'autres serveurs FTP réputés user-friendly, mais pourquoi pas utiliser des outils reconnus, même si ils sont vieux ?