Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
proftpd [Le 13/07/2016, 15:57] – [Installation] Vocabulaire : « package » → « paquet » 195.154.11.37proftpd [Le 18/02/2026, 18:35] (Version actuelle) – lien SFTP krodelabestiole
Ligne 1: Ligne 1:
-{{tag>Dapper Edgy Feisty Gutsy serveur réseau brouillon ftp}} +{{tag>Xenial serveur réseau ftp BROUILLON}}
- +
----- +
  
 ====== Serveur FTP : PROFTPD ====== ====== 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,
  
-===== Introduction ===== +<note warning> 
- +Le niveau de sécurité par défaut du protocole FTP est extrêmement faibleCe protocole est à juste titre considéré comme obsolète de nos jour et ne devrait globalement plus être utiliséen particulier si le service doit être disponible sur [[:Internet]].(([[wpfr>IONOS by 1&1|IONOS]] : [[https://www.ionos.fr/assistance/hebergement/configurer-et-gerer-lacces-ftp/pourquoi-utiliser-sftp-et-ftps-au-lieu-de-ftp/|Pourquoi utiliser SFTP et FTPS au lieu de FTP]])) Dans ce cas mieux vaut lui préférer des solutions sécurisée, comme [[:SFTP]], ou [[:WebDAV]] (en [[:tutoriel:securiser_apache2_avec_ssl|HTTPS]]). 
-Proftpd est sûrement l'un des meilleurs serveurs FTP disponiblesIl vous offrira énormément de possibilités mais n'est pas facile à maîtriser pour un débutant, +</note>
-donc pour utiliser la majorité des fonctions de proftpd sans trop de difficulté utilisez l'interface graphique [[:gproftpd]]+
  
 ===== Installation ===== ===== Installation =====
  
-Pour installer le paquet, rien de plus simple, vérifiez que vos [[depots#depots_officiels|dépôts Universe]] sont bien activés puis [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt>proftpd]]**.+[[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>proftpd-basic]]**.
  
-A la question « Lancer ProFTPd à partir d'inetd ou indépendamment ? », à moins de savoir ce que vous faites, répondez **indépendamment** (en fait si c'est pour un "petit serveur FTP léger" préférez inetd, pour un "gros serveur FTP puissant" choisissez indépendant).+A la question « Lancer ProFTPd à partir d'inetd ou indépendamment ? », à moins de savoir ce que vous faites, répondez **indépendamment** (en fait si c'est pour un "petit serveur FTP léger" préférez [[wpfr>inetd]], pour un "gros serveur FTP puissant" choisissez indépendant).
  
 Et voilà, vous avez un serveur ftp, enfin presque ! Et voilà, vous avez un serveur ftp, enfin presque !
- 
  
 ===== Configuration ===== ===== Configuration =====
Ligne 25: Ligne 22:
  
 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) : 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) :
 +<file>ServerName : le nom de votre serveur ftp</file>
  
-ServerName : le nom de votre serveur ftp +Quotas on : enlevez le #devant la ligne pour la décommenter si vous voulez utiliser les quotas
- +
-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 "standard"+Trouvez et décommentez les lignes suivantes (en retirant les #au début de chaque ligne) pour autoriser un accès anonyme "standard"
-<file># A basic anonymous configuration, no upload directories.+<file>#A basic anonymous configuration, no upload directories.
  
  <Anonymous ~ftp>  <Anonymous ~ftp>
    User                         ftp    User                         ftp
    Group                        nogroup    Group                        nogroup
-   # We want clients to be able to login with "anonymous" as well as "ftp"+   #We want clients to be able to login with "anonymous" as well as "ftp"
    UserAlias                    anonymous ftp    UserAlias                    anonymous ftp
-   # Cosmetic changes, all files belongs to ftp user+   #Cosmetic changes, all files belongs to ftp user
    DirFakeUser  on ftp    DirFakeUser  on ftp
    DirFakeGroup on ftp    DirFakeGroup on ftp
Ligne 44: Ligne 40:
    RequireValidShell            off    RequireValidShell            off
    
-   # Limit the maximum number of anonymous logins+   #Limit the maximum number of anonymous logins
    MaxClients                   10    MaxClients                   10
    
-   # We want 'welcome.msg' displayed at login, and '.message' displayed +   #We want 'welcome.msg' displayed at login, and '.message' displayed 
-   # in each newly chdired directory.+   #in each newly chdired directory.
    DisplayLogin                 welcome.msg    DisplayLogin                 welcome.msg
    DisplayFirstChdir            .message    DisplayFirstChdir            .message
    
-   # Limit WRITE everywhere in the anonymous chroot+   #Limit WRITE everywhere in the anonymous chroot
    <Directory *>    <Directory *>
      <Limit WRITE>      <Limit WRITE>
Ligne 63: Ligne 59:
 Par contre, ne décommentez pas la suite (intitulée "Uncomment this if you're brave": "Décommentez ceci si vous en avez le courage"). Par contre, ne décommentez pas la suite (intitulée "Uncomment this if you're brave": "Décommentez ceci si vous en avez le courage").
  
-Vous pouvez interdire de se logger en root sur le ftp en ajoutant la ligne suivante  +Vous pouvez autoriser de se logger en root sur le ftp en ajoutant la ligne suivante (le root login est interdit par défaut) : <file>RootLogin on</file> puis en enlevant l'utilisateur ''root'' du fichier **/etc/ftpusers**.
-  RootLogin off+
  
 Une fois la configuration modifiée, relancez le serveur avec la commande suivante : Une fois la configuration modifiée, relancez le serveur avec la commande suivante :
   sudo service proftpd restart   sudo service proftpd restart
 +
 +==== Configuration avec inetd ====
 +
 +[[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>inetd]]**.
 +
 +Puis [[:tutoriel:comment_modifier_un_fichier|ajoutez]] dans **/etc/inetd.conf** :
 +<file - /etc/inetd.conf>ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/proftpd</file>
 +
 +Si vous n'avez pas installé proftpd avec l'option inetd, vous pouvez changer ce paramètre dans le fichier de configuration de proftpd : <file - /etc/proftpd/proftpd.conf>ServerType inetd</file>
  
 ==== Configuration pour le mode passif ==== ==== Configuration pour le mode passif ====
Ligne 94: Ligne 98:
 <file> <file>
 # #
-# /etc/proftpd.conf -- Masquerade avec Virtual Host Local . +#/etc/proftpd.conf -- Masquerade avec Virtual Host Local . 
-+#
 ServerType standalone ServerType standalone
  
 MultilineRFC2228 on MultilineRFC2228 on
  
-# To prevent DoS attacks, set the maximum number of child processes +#To prevent DoS attacks, set the maximum number of child processes 
-# to 30.  If you need to allow more than 30 concurrent connections +#to 30.  If you need to allow more than 30 concurrent connections 
-# at once, simply increase this value.  Note that this ONLY works +#at once, simply increase this value.  Note that this ONLY works 
-# in standalone mode, in inetd mode you should use an inetd server +#in standalone mode, in inetd mode you should use an inetd server 
-# that allows you to limit maximum number of processes per service +#that allows you to limit maximum number of processes per service 
-# (such as xinetd)+#(such as xinetd)
 MaxInstances 30 MaxInstances 30
  
-# Some logging formats+#Some logging formats
 LogFormat         default "%h %l %u %t \"%r\" %s %b" LogFormat         default "%h %l %u %t \"%r\" %s %b"
 LogFormat auth    "%v [%P] %h %t \"%r\" %s" LogFormat auth    "%v [%P] %h %t \"%r\" %s"
 LogFormat write   "%h %l %u %t \"%r\" %s %b" LogFormat write   "%h %l %u %t \"%r\" %s %b"
  
-# Global settings+#Global settings
 <Global> <Global>
  
Ligne 122: Ligne 126:
 ListOptions                "-l" ListOptions                "-l"
 DenyFilter \*.*/ DenyFilter \*.*/
-# Utilisation de NIS ou LDAP:+#Utilisation de NIS ou LDAP:
 #PersistentPasswd off #PersistentPasswd off
-# Utilisation de TLS:+#Utilisation de TLS:
 #TLSEngine on #TLSEngine on
-# Utilisation des Quotas:+#Utilisation des Quotas:
 #Quotas on #Quotas on
-# Utilisation des Ratio:+#Utilisation des Ratio:
 #Ratios on #Ratios on
  
Ligne 139: Ligne 143:
 MaxClients 50 MaxClients 50
  
-# Umask 022 interdit l'écriture et la creation de fichier et de répertoire.+#Umask 022 interdit l'écriture et la creation de fichier et de répertoire.
 Umask 022  022 Umask 022  022
 TimeoutLogin          120 TimeoutLogin          120
Ligne 145: Ligne 149:
 TimeoutStalled 3600 TimeoutStalled 3600
 TimeoutIdle 600 TimeoutIdle 600
-# Delay engine reduces impact of the so-called Timing Attack described in +#Delay engine reduces impact of the so-called Timing Attack described in 
-# http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02 +#http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02 
-# It is on by default. +#It is on by default. 
 #DelayEngine off #DelayEngine off
  
-# utilisateur et groupe du serveur.+#utilisateur et groupe du serveur.
 User ftp User ftp
 Group nogroup Group nogroup
-# Chroot PROFTPD+#Chroot PROFTPD
 DefaultRoot ~ DefaultRoot ~
  
-# Logging options+#Logging options
 TransferLog /var/spool/syslog/proftpd/xferlog.legacy TransferLog /var/spool/syslog/proftpd/xferlog.legacy
  
  
-# Turn off Ident lookups+#Turn off Ident lookups
  #  #
  IdentLookups         off  IdentLookups         off
  #  #
- # Logging+ #Logging
  #  #
- # file/dir access+ #file/dir access
  #  #
  ExtendedLog /var/spool/syslog/proftpd/globaccess.log WRITE,READ write  ExtendedLog /var/spool/syslog/proftpd/globaccess.log WRITE,READ write
  #  #
  #  #
- # Record all logins+ #Record all logins
  #  #
  ExtendedLog /var/spool/syslog/proftpd/globauth.log AUTH auth  ExtendedLog /var/spool/syslog/proftpd/globauth.log AUTH auth
  #  #
- # Paranoia logging level....+ #Paranoia logging level....
  #  #
    ##ExtendedLog    /var/spool/syslog/proftpd/paranoid.log ALL default    ##ExtendedLog    /var/spool/syslog/proftpd/paranoid.log ALL default
  
 # #
-# Deny writing to the base server...+#Deny writing to the base server...
 # #
 <Limit WRITE> <Limit WRITE>
Ligne 186: Ligne 190:
 </Limit> </Limit>
  
-# -------------------------------------------- +#-------------------------------------------- 
- # Got a Frontpage customer who keeps breaking things???? + #Got a Frontpage customer who keeps breaking things???? 
- - stick 'em in group fpage + #- stick 'em in group fpage 
- # --------------------------------------------+ #--------------------------------------------
  <Directory ~/public_html>  <Directory ~/public_html>
  #  #
- # Block them from doing anything other than reading...+ #Block them from doing anything other than reading...
  #  #
  <Limit STOR RNFR DELE>  <Limit STOR RNFR DELE>
Ligne 199: Ligne 203:
  </Directory>  </Directory>
  #  #
- # ditto for ftp_root if it's there...+ #ditto for ftp_root if it's there...
  #  #
  <Directory ~/ftp_root>  <Directory ~/ftp_root>
Ligne 207: Ligne 211:
  </Directory>  </Directory>
  #  #
- # Limit by IP...+ #Limit by IP...
  #  #
  #<Directory /web/zsl>  #<Directory /web/zsl>
Ligne 222: Ligne 226:
    User ftp    User ftp
    Group nogroup    Group nogroup
-  # Alias pour la connection de l utilisateur anonyme+##Alias pour la connection de l utilisateur anonyme
    UserAlias anonymous ftp    UserAlias anonymous ftp
-  # n'utiliser que des alias authentifiés+##n'utiliser que des alias authentifiés
    AuthAliasOnly on    AuthAliasOnly on
-  # Cosmetic changes, all files belongs to ftp user+##Cosmetic changes, all files belongs to ftp user
    DirFakeUser on ftp    DirFakeUser on ftp
    DirFakeGroup on ftp    DirFakeGroup on ftp
-# Hide all files owned by user 'root'+#Hide all files owned by user 'root'
    HideUser root    HideUser root
-+#
    RequireValidShell off    RequireValidShell off
-#  +
-  # Message et nombre maximum de connections+  #Message et nombre maximum de connections
   MaxClients 50 "Désolé, le maximum de %m utilisateurs est atteint -- réessayez plus tard"   MaxClients 50 "Désolé, le maximum de %m utilisateurs est atteint -- réessayez plus tard"
  
-  # Limit WRITE everywhere in the anonymous chroot+##Limit WRITE everywhere in the anonymous chroot
    <Directory *>    <Directory *>
      <Limit RMD DELE MKD STOR WRITE>      <Limit RMD DELE MKD STOR WRITE>
Ligne 253: Ligne 257:
  
  
-# Connexion anonyme et des utilisateur à partir du net de du réseau local +#Connexion anonyme et des utilisateur à partir du net de du réseau local 
-# --------------------------------------------+#--------------------------------------------
 <VirtualHost 192.168.2.2> <VirtualHost 192.168.2.2>
  ServerAdmin aide_gnu_linux@yahoo.fr  ServerAdmin aide_gnu_linux@yahoo.fr
  ServerName "ftp.cereli.org"  ServerName "ftp.cereli.org"
- # Port mode PASSV + #Port mode PASSV 
         PassivePorts 5000 5100         PassivePorts 5000 5100
-        # Addresse de Masquage !!! A REMPLACER PAR LA VOTRE !!!+        #Addresse de Masquage !!! A REMPLACER PAR LA VOTRE !!!
         MasqueradeAddress  XXX.XXX.XXX.XXX         MasqueradeAddress  XXX.XXX.XXX.XXX
  Port 21  Port 21
Ligne 266: Ligne 270:
 </VirtualHost> </VirtualHost>
  
-# Hôte Virtuel Pour le réseau local +#Hôte Virtuel Pour le réseau local 
-# !!! A remplacer par l'adresse</file>+#!!! A remplacer par l'adresse</file>
  
 ==== Redémarrer Proftpd ==== ==== Redémarrer Proftpd ====
Ligne 296: Ligne 300:
  
 Elle se nomme [[:gproftpd]]. Elle se nomme [[:gproftpd]].
- 
-Remarque : attention Gadmin est buggé, à ne pas utiliser pour la 12.04 LTS 
  
 ===== Bugs fréquents ===== ===== Bugs fréquents =====
Ligne 322: Ligne 324:
 </file> </file>
  
-Ajouter un # en début de ligne.+Ajouter un #en début de ligne.
  
 Redémarrer le service "proftpd" : Redémarrer le service "proftpd" :