FTP : Installer et configurer un serveur ProFTPd
Table des matières
ProFTPD est un serveur FTP libre. Il permet de transférer des fichiers par Internet ou par le biais d'un réseau informatique local (intranet).
Toute personnes en ayant l'autorisation, peut télécharger et envoyer des fichiers. Il permet la création d'un espace anonyme.
Suivant la distribution, le fichier de configuration s'appelle /etc/proftpd/proftpd.conf ou /etc/proftpd.conf
On créé le fichier proftpd.conf depuis le modèle, on démarre le service puis on l'ajoute au démarrage :
On démarre le service puis on l'ajoute au démarrage :
Par défaut, la configuration attribue un espace FTP anonyme : les fichiers listés sont ceux de /home/ftp.
Aussi, chaque utilisateur peut accéder à son dossier personnel (chrooté) avec ses identifiants et mots de passe système.
Voici le fichier original avec quelques explications en commentaire :
On peut créer simplement un utilisateur système puis lui attribuer un mot de passe :
Introduction
ProFTPD est un serveur FTP libre. Il permet de transférer des fichiers par Internet ou par le biais d'un réseau informatique local (intranet).
Toute personnes en ayant l'autorisation, peut télécharger et envoyer des fichiers. Il permet la création d'un espace anonyme.
Installation
Calculate Linux
Code BASH :
emerge -avq net-ftp/proftpd
CentOS
Code BASH :
yum install proftpd
Configuration du service ProFTPd
Suivant la distribution, le fichier de configuration s'appelle /etc/proftpd/proftpd.conf ou /etc/proftpd.conf
Calculate Linux
On créé le fichier proftpd.conf depuis le modèle, on démarre le service puis on l'ajoute au démarrage :
Code BASH :
cp /etc/proftpd/proftpd.conf.sample /etc/proftpd/proftpd.conf /etc/init.d/proftpd start rc-update add proftpd default
CentOS
On démarre le service puis on l'ajoute au démarrage :
Code BASH :
systemctl start proftpd
systemctl enable proftpd
Fichier de configuration proftpd.conf
Par défaut, la configuration attribue un espace FTP anonyme : les fichiers listés sont ceux de /home/ftp.
Aussi, chaque utilisateur peut accéder à son dossier personnel (chrooté) avec ses identifiants et mots de passe système.
Fichier de démonstration
Voici le fichier original avec quelques explications en commentaire :
Code BASH :
# Nom du serveur qui s'affiche ServerName "ProFTPD Default Server" # Serveur Autonome (ne pas modifier) ServerType standalone # Activer le serveur par défaut (Si pas de "VirtualHost") DefaultServer on # Est-ce qu'on a besoin d'un shell valide pour se connecter RequireValidShell off # Activer l'authentification PAM AuthPAM off AuthPAMConfig ftp # Port d'écoute (21 par défaut) Port 21 # Permissions d'un dossier ou d'un fichier créé via FTP Umask 022 # Nombre de connexions simultanées au FTP MaxInstances 30 # Lancer le démon ftp sous cet utilisateur et groupe User ftp Group ftp # Racine du FTP ( [b]~[/b] correspond au fait que l'utilisateur est cloisonné dans son dossier personnel) DefaultRoot ~ # Generally files are overwritable. AllowOverwrite on # Désactiver la commande CHMOD via le FTP <Limit SITE_CHMOD> DenyAll </Limit> # Exemple de dossier anonyme sans possibilité d'uploader <Anonymous ~ftp> User ftp Group ftp # Possibilité de se connecter avec les utilisateurs "anonymous" et "ftp". UserAlias anonymous ftp # Limiter le nombre de connexions anonymes MaxClients 10 # Désactiver la commande WRITE (d'écriture) pour les utilisateurs anonymes <Limit WRITE> DenyAll </Limit> </Anonymous>
Créer des utilisateurs FTP
On peut créer simplement un utilisateur système puis lui attribuer un mot de passe :
Code BASH :
useradd -m -s /bin/false monutilisateur passwd monutilisatur