Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
proftpd [Le 03/01/2017, 19:56] – tags et nettoyage de la page L'Africain | proftpd [Le 07/10/2019, 17:46] (Version actuelle) – lien interne L'Africain | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | |||
+ | ====== Serveur FTP : PROFTPD ====== | ||
+ | |||
+ | Proftpd est sûrement l'un des meilleurs serveurs FTP disponibles. Il vous offrira énormément de possibilités mais n'est pas facile à maîtriser pour un débutant, | ||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | [[: | ||
+ | |||
+ | A la question « Lancer ProFTPd à partir d' | ||
+ | |||
+ | Et voilà, vous avez un serveur ftp, enfin presque ! | ||
+ | |||
+ | ===== Configuration ===== | ||
+ | |||
+ | [[: | ||
+ | |||
+ | Voilà les paramètres intéressants à changer pour une utilisation de base (si vous voulez plus de détail référez-vous à la documentation) : | ||
+ | < | ||
+ | |||
+ | Quotas on : enlevez le # devant la ligne pour la décommenter si vous voulez utiliser les quotas | ||
+ | |||
+ | Trouvez et décommentez les lignes suivantes (en retirant les # au début de chaque ligne) pour autoriser un accès anonyme " | ||
+ | < | ||
+ | |||
+ | < | ||
+ | | ||
+ | | ||
+ | # We want clients to be able to login with " | ||
+ | | ||
+ | # Cosmetic changes, all files belongs to ftp user | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | # Limit the maximum number of anonymous logins | ||
+ | | ||
+ | |||
+ | # We want ' | ||
+ | # in each newly chdired directory. | ||
+ | | ||
+ | | ||
+ | |||
+ | # Limit WRITE everywhere in the anonymous chroot | ||
+ | < | ||
+ | < | ||
+ | | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | Faites bien attention à décommenter le dernier paragraphe (intitulé "Limit WRITE everywhere in the anonymous chroot" | ||
+ | Par contre, ne décommentez pas la suite (intitulée " | ||
+ | |||
+ | Vous pouvez autoriser de se logger en root sur le ftp en ajoutant la ligne suivante (le root login est interdit par défaut) : < | ||
+ | |||
+ | Une fois la configuration modifiée, relancez le serveur avec la commande suivante : | ||
+ | sudo service proftpd restart | ||
+ | |||
+ | ==== Configuration avec inetd ==== | ||
+ | |||
+ | [[: | ||
+ | |||
+ | Puis [[: | ||
+ | <file - / | ||
+ | |||
+ | Si vous n'avez pas installé proftpd avec l' | ||
+ | |||
+ | ==== Configuration pour le mode passif ==== | ||
+ | |||
+ | Concernant le transfert de fichiers en FTP il existe deux méthodes : passif ou actif | ||
+ | |||
+ | Le mode le plus simple est le transfert en mode actif, où le port utilisé est le port 20 (le port 21 ne sert qu'à initier la connexion et envoyer des commandes) | ||
+ | |||
+ | La deuxième méthode consiste à utiliser le mode passif : une plage de ports est utilisée, ces ports étant attribués selon la configuration du serveur et le nombre d' | ||
+ | Par défaut, la plupart des clients FTP transfèrent les fichiers en mode passif et il est donc utile de s' | ||
+ | |||
+ | Pour configurer la plage de ports utilisée on rajoute au fichier dans la partie générale : | ||
+ | |||
+ | < | ||
+ | PassivePorts 5000 5100 | ||
+ | </ | ||
+ | Où 5000 représente le premier port utilisé et 5100 le dernier. Il est déconseillé d' | ||
+ | |||
+ | Chaque utilisateur occupe environ 5 ports à chaque transferts, à vous de voir combien de ports vous devrez ouvrir. | ||
+ | |||
+ | Si cette configuration suffit pour un réseau local (après ouverture des ports dans votre pare-feu), il sera plus problématique d' | ||
+ | Pour ce faire, il vous faudra tout d' | ||
+ | |||
+ | Le reste de la configuration s' | ||
+ | |||
+ | < | ||
+ | # | ||
+ | # / | ||
+ | # | ||
+ | ServerType standalone | ||
+ | |||
+ | MultilineRFC2228 on | ||
+ | |||
+ | # To prevent DoS attacks, set the maximum number of child processes | ||
+ | # to 30. If you need to allow more than 30 concurrent connections | ||
+ | # at once, simply increase this value. | ||
+ | # in standalone mode, in inetd mode you should use an inetd server | ||
+ | # that allows you to limit maximum number of processes per service | ||
+ | # (such as xinetd) | ||
+ | MaxInstances 30 | ||
+ | |||
+ | # Some logging formats | ||
+ | LogFormat | ||
+ | LogFormat auth | ||
+ | LogFormat write | ||
+ | |||
+ | # Global settings | ||
+ | < | ||
+ | |||
+ | DeferWelcome off | ||
+ | |||
+ | # | ||
+ | # | ||
+ | ListOptions | ||
+ | DenyFilter \*.*/ | ||
+ | # Utilisation de NIS ou LDAP: | ||
+ | # | ||
+ | # Utilisation de TLS: | ||
+ | #TLSEngine on | ||
+ | # Utilisation des Quotas: | ||
+ | # | ||
+ | # Utilisation des Ratio: | ||
+ | # | ||
+ | |||
+ | DisplayConnect before.msg | ||
+ | DisplayLogin | ||
+ | DisplayFirstChdir | ||
+ | |||
+ | MaxLoginAttempts 2 | ||
+ | RequireValidShell no | ||
+ | MaxClients 50 | ||
+ | |||
+ | # Umask 022 interdit l' | ||
+ | Umask 022 | ||
+ | TimeoutLogin | ||
+ | TimeoutNoTransfer 900 | ||
+ | TimeoutStalled 3600 | ||
+ | TimeoutIdle 600 | ||
+ | # Delay engine reduces impact of the so-called Timing Attack described in | ||
+ | # http:// | ||
+ | # It is on by default. | ||
+ | # | ||
+ | |||
+ | # utilisateur et groupe du serveur. | ||
+ | User ftp | ||
+ | Group nogroup | ||
+ | # Chroot PROFTPD | ||
+ | DefaultRoot ~ | ||
+ | |||
+ | # Logging options | ||
+ | TransferLog / | ||
+ | |||
+ | |||
+ | # Turn off Ident lookups | ||
+ | # | ||
+ | IdentLookups | ||
+ | # | ||
+ | # Logging | ||
+ | # | ||
+ | # file/dir access | ||
+ | # | ||
+ | ExtendedLog / | ||
+ | # | ||
+ | # | ||
+ | # Record all logins | ||
+ | # | ||
+ | ExtendedLog / | ||
+ | # | ||
+ | # Paranoia logging level.... | ||
+ | # | ||
+ | ## | ||
+ | |||
+ | # | ||
+ | # Deny writing to the base server... | ||
+ | # | ||
+ | <Limit WRITE> | ||
+ | DenyAll | ||
+ | </ | ||
+ | |||
+ | # -------------------------------------------- | ||
+ | # Got a Frontpage customer who keeps breaking things???? | ||
+ | # - stick 'em in group fpage | ||
+ | # -------------------------------------------- | ||
+ | < | ||
+ | # | ||
+ | # Block them from doing anything other than reading... | ||
+ | # | ||
+ | <Limit STOR RNFR DELE> | ||
+ | DenyGroup fpage | ||
+ | </ | ||
+ | </ | ||
+ | # | ||
+ | # ditto for ftp_root if it's there... | ||
+ | # | ||
+ | < | ||
+ | <Limit STOR RNFR DELE> | ||
+ | DenyALL | ||
+ | </ | ||
+ | </ | ||
+ | # | ||
+ | # Limit by IP... | ||
+ | # | ||
+ | #< | ||
+ | # | ||
+ | # Order Allow,Deny | ||
+ | # Allow 195.200.31.220 | ||
+ | # Allow 212.32.17.0/ | ||
+ | # Deny ALL | ||
+ | # | ||
+ | #</ | ||
+ | |||
+ | |||
+ | < | ||
+ | | ||
+ | | ||
+ | # # Alias pour la connection de l utilisateur anonyme | ||
+ | | ||
+ | # # n' | ||
+ | | ||
+ | # # Cosmetic changes, all files belongs to ftp user | ||
+ | | ||
+ | | ||
+ | # Hide all files owned by user ' | ||
+ | | ||
+ | # | ||
+ | | ||
+ | # | ||
+ | # Message et nombre maximum de connections | ||
+ | MaxClients 50 " | ||
+ | |||
+ | # # Limit WRITE everywhere in the anonymous chroot | ||
+ | < | ||
+ | < | ||
+ | DenyAll | ||
+ | </ | ||
+ | < | ||
+ | AllowAll | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | # Connexion anonyme et des utilisateur à partir du net de du réseau local | ||
+ | # -------------------------------------------- | ||
+ | < | ||
+ | ServerAdmin aide_gnu_linux@yahoo.fr | ||
+ | ServerName " | ||
+ | # Port mode PASSV | ||
+ | PassivePorts 5000 5100 | ||
+ | # Addresse de Masquage !!! A REMPLACER PAR LA VOTRE !!! | ||
+ | MasqueradeAddress | ||
+ | Port 21 | ||
+ | |||
+ | </ | ||
+ | |||
+ | # Hôte Virtuel Pour le réseau local | ||
+ | # !!! A remplacer par l' | ||
+ | |||
+ | ==== Redémarrer Proftpd ==== | ||
+ | |||
+ | - Pour le mode " | ||
+ | Une fois les deux paramètres modifiés, on demande au serveur de prendre en compte la nouvelle configuration en le relançant: | ||
+ | |||
+ | sudo service proftpd restart | ||
+ | |||
+ | - Pour le mode " | ||
+ | il suffit de se (re)connecter. | ||
+ | |||
+ | |||
+ | ===== Utiliser votre serveur ftp ===== | ||
+ | |||
+ | Les utilisateurs de la machine ont un accès ftp en lecture/ | ||
+ | |||
+ | De plus, tout le monde a un accès anonyme avec le login " | ||
+ | |||
+ | Vous pouvez à tout moment voir qui est connecté à votre serveur avec la commande | ||
+ | ftpwho | ||
+ | et voir les statistiques avec : | ||
+ | ftpstats | ||
+ | |||
+ | ===== Interface graphique ===== | ||
+ | |||
+ | Vous pouvez malgré tout utiliser une interface graphique pour gérer proftpd. | ||
+ | |||
+ | Elle se nomme [[: | ||
+ | |||
+ | Remarque : attention Gadmin est buggé, à ne pas utiliser pour la 12.04 LTS | ||
+ | |||
+ | ===== Bugs fréquents ===== | ||
+ | |||
+ | ==== Activation de ProFTPd ==== | ||
+ | |||
+ | Il est possible que l'on n' | ||
+ | |||
+ | Pour corriger ce problème il suffit de créer le dossier var de proftpd via cette commande: | ||
+ | |||
+ | sudo mkdir / | ||
+ | |||
+ | Tout devrait fonctionner maintenant. | ||
+ | |||
+ | ==== Module memcache ==== | ||
+ | FIXME Il faut commenter le chargement du module memcache dans "/ | ||
+ | < | ||
+ | $ sudo nano / | ||
+ | </ | ||
+ | |||
+ | Et commentez la ligne : | ||
+ | < | ||
+ | LoadModule mod_tls_memcache.c | ||
+ | </ | ||
+ | |||
+ | Ajouter un # en début de ligne. | ||
+ | |||
+ | Redémarrer le service " | ||
+ | < | ||
+ | $ sudo / | ||
+ | </ | ||
+ | |||
+ | Aucun message d' | ||
+ | |||
+ | ---- | ||
+ | |||
+ | // |