
ProFTPD est un démon FTP hautement configurable pour les systèmes d'exploitation Unix et de type Unix. Voir le fichier README.ports pour plus de détails sur les plateformes sur lesquelles ProFTPD est connu ou supposé se compiler et fonctionner.
ProFTPD est né d'un désir de disposer d'un serveur FTP sécurisé et configurable. Il a été inspiré par une admiration significative pour le serveur web Apache.
Contrairement à la plupart des autres serveurs FTP Unix, il ne dérive pas de l'ancienne base de code ftpd de BSD, mais est une conception et une implémentation entièrement nouvelles.
La grande configurable de ProFTPD offre aux administrateurs systèmes une flexibilité considérable dans l'authentification des utilisateurs et les contrôles d'accès, y compris les utilisateurs virtuels et des sessions FTP chroot() faciles pour les utilisateurs individuels.
ProFTPD est populaire auprès de nombreux fournisseurs de services pour fournir un accès de mise à jour aux pages web des utilisateurs, sans recourir à des comptes shell Unix.
voir RELEASE_NOTES pour un aperçu des changements apportés par cette version.
Un fichier de configuration principal unique, avec des directives et des groupes de directives inspirés de ceux du serveur web Apache.
Une configuration ".ftpaccess" par répertoire, similaire au ".htaccess" d'Apache.
Conçu pour fonctionner soit comme serveur autonome, soit à partir d'inetd/xinetd.
Plusieurs serveurs FTP virtuels et services FTP anonymes.
Plusieurs fichiers de mots de passe.
Prise en charge des mots de passe cachés (shadow), y compris la prise en charge des comptes expirés.
Plusieurs méthodes d'authentification, notamment PAM, LDAP, SQL et RADIUS.
Utilisateurs virtuels.
ProFTPD n'exécute jamais aucun programme externe à aucun moment. Il n'y a pas de commande SITE EXEC, et toutes les listes de fichiers et de répertoires sont générées en interne, sans utiliser de commande ls externe.
Le FTP anonyme et les autres répertoires chroot ne nécessitent aucune structure de répertoire spécifique, ni programmes exécutables, ni autres fichiers système.
Architecture modulaire avec une API qui facilite des extensions bien structurées pour répondre aux besoins des utilisateurs.
Visibilité des répertoires ou fichiers contrôlée en fonction des permissions de style Unix ou de la propriété utilisateur/groupe.
Journalisation et prise en charge d'utmp/wtmp. La journalisation est compatible avec wu-ftpd, et une journalisation étendue et personnalisable est disponible.
Si les capacités du système hôte le permettent, il peut s'exécuter en tant qu'utilisateur non privilégié en mode autonome, contrecarrant les attaques visant à exploiter les privilèges « root ».
Licence source GPLv2. Le code source est disponible pour audit.
Pour des instructions d'installation détaillées, voir le fichier INSTALL à la racine de la distribution source.
La distribution source de ProFTPD est conçue pour être configurée à l'aide des outils GNU autotools, de sorte que la compilation et l'installation suivent la séquence de commandes habituelle
$ ./configure
$ make
$ make install
Cependant, une partie importante de la configurabilité de ProFTPD s'effectue au moment de la compilation. Il est donc fortement recommandé de lire INSTALL et tous les fichiers README.*** qui concernent votre plateforme et les fonctionnalités souhaitées avant de compiler les sources.
ProFTPD utilise un fichier de configuration unique. Quelques exemples sont inclus dans le sous-répertoire sample-configurations/ de la distribution source.
Sur la plupart des systèmes, la configuration d'inetd ou d'xinetd doit être modifiée, soit pour supprimer l'entrée ftpd actuelle afin d'exécuter ProFTPD en mode autonome, soit pour modifier l'entrée ftpd actuelle afin d'utiliser le démon proftpd.
Si vous avez des questions, veuillez les poser sur les listes de diffusion appropriées.
Si vous ne comprenez pas la documentation, veuillez nous le dire afin que nous puissions mieux l'expliquer. L'idée générale est la suivante : si vous avez besoin de demander de l'aide, c'est que quelque chose doit être corrigé pour que vous (et les autres) n'ayez pas besoin de demander de l'aide. Poser des questions nous aide à savoir ce qui doit être documenté, décrit et/ou corrigé.