« Administration réseau sous Linux/ProFTPD » : différence entre les versions

Contenu supprimé Contenu ajouté
m Révocation des modifications de 80.14.226.216 (discussion) vers la dernière version de JackPotte
Balise : Révocation
DannyS712 (discussion | contributions)
m <source> -> <syntaxhighlight> (phab:T237267)
Ligne 8 :
==Installation et lancement==
Sous Debian, ProFTPD est disponible dans un package et peut s'installer avec la commande
<sourcesyntaxhighlight lang="bash">apt-get install proftpd</sourcesyntaxhighlight>
 
Il est aussi possible de le configurer pour ses propres besoins à partir des sources. Ceci permet de spécifier les modules à utiliser.
 
<sourcesyntaxhighlight lang="bash">tar zxvf proftpd-1.x.x.tar.gz
cd proftpd-1.x.x
./configure --with-modules=mod_ratio:mod_sql
make
make installproftpd</sourcesyntaxhighlight>
 
Il se lance automatiquement à l'installation et au démarrage du système.
Ligne 29 :
L'ensemble des directives sont décrites ProFTPD<ref>http://www.proftpd.org/docs/</ref>. Les commandes principales sont les suivantes :
 
<sourcesyntaxhighlight lang=apache>
ServerName "''nom''"
description = Indique le nom du serveur qui s'affichera sur les clients
</syntaxhighlight>
</source>
 
 
<sourcesyntaxhighlight lang=apache>
AccessGrantMsg "''message''"
description = Message de bienvenue.
commentaires = Le message peut contenir des jokers comme %u (ici le nom de l'utilisateur)
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang=apache>
<Limit …>…</Limit>
description = Autorise ou refuse l'utilisation de certaines commandes du protocole FTP.
Ligne 51 :
Deny All
</Limit>
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang=apache>
ServerType ''type''
description = Détermine la manière dont le serveur reçoit les connexions réseau.
Ligne 59 :
Si le type est ''standalone'', un processus père sera lancé et écoutera sur le réseau. Si le type est ''inet'', le serveur devra être lancé par inetd (TCP_WRAPPER).
Dans tous les cas il y aura un processus de lancé par connexion FTP.
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang=apache>
MaxInstances 30
description = Limite le nombre de processus simultanés autorisés
</syntaxhighlight>
</source>
 
 
<sourcesyntaxhighlight lang=apache>
User nobody
Group nobody
description = indiquent que le serveur doit s'exécuter avec les identifiants de groupe et d'utilisateur nobody
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang=apache>
ExtendedLog /var/log/ftp.log
description = spécifie le nom de fichier log
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang=apache>
Umask 022
description = précise les droits à '''enlever''' aux fichiers créés sur FTP. 022 signifie que les droits d'écriture sont enlevés au groupe et à ''others'' pour tout nouveau fichier.
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang=apache>
AllowOverwrite on
description = autorise un utilisateur à écraser un fichier qui lui appartient.
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang=apache>
UseFtpUsers on
description = active l'utilisation du fichier /etc/ftpusers qui donne la liste des utilisateur n'ayant '''pas''' accès au serveur ftp.
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang=apache>
AllowUser ''liste-d'utilisateurs''
description = à placer dans un contexte <Limit ...>...</Limit> définit qui est autorisé à exécuter la commande du bloc ''Limit'' courant.
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang=apache>
DenyUser ''liste-d'utilisateurs''
description = à placer dans un contexte <Limit ...>...</Limit> définit qui n'est pas autorisé à exécuter la commande du bloc Limit courant.
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang=apache>
AllowStoreRestart
description = autorise les clients à reprendre les uploads vers le serveur.
</syntaxhighlight>
</source>
 
 
<sourcesyntaxhighlight lang=apache>
DefaultChdir /var/ftp
description = Indique le répertoire par défaut du serveur.
commentaires = Les utilisateurs se trouvent placés dans ce répertoire lors de la connexion.
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang=apache>
DefaultRoot /var/ftp
description = déclare ce répertoire comme la racine du système de fichiers.
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang=apache>
UserRatio
description = permet la gestion des ratios.
Ligne 127 :
On lui octroie pour commencer un crédit de 10 fichiers.
Par ailleurs, pour 1 octet déposé, il pourra recevoir 5 octets et il détient un crédit de 4ko. À la place d'un nom on peut aussi utiliser * qui définit des ratios par défaut.
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang=apache>
SaveRatios on
description = sert à préciser que nous souhaitons sauvegarder les crédits de chaque utilisateur entre deux sessions.
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang=apache>
RatioFile /ratio/RatioFile
RatioTempFile /ratio/RatioTempFile
description = indiquent les noms de fichiers permettant de sauvegarder des informations sur les ratios des utilisateurs.
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang=apache>
FileRatioErrMsg "Vous n'avez pas suffisamment télédéchargé de fichiers"
ByteRatioErrMsg "Vous n'avez pas assez télédéchargé d'octets"
description = indiquent qu'un utilisateur a dépassé son quota par des messages.
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang=apache>
<Directory ''répertoire''> … </Directory>
description = Cette section indique les droits sur le répertoire et sur tout ce qu'il contient.
Ligne 159 :
</Directory>
Ici, nous interdisons toute opération sur le répertoire ratio grace à la section <Limit ALL>.
</syntaxhighlight>
</source>
 
 
<sourcesyntaxhighlight lang=apache>
HideNoAccess
description = Cache tous les éléments inaccessibles aux utilisateurs.
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang=apache>
<Anonymous ''répertoire''>…</Anonymous>
description = Configure l'accès anonyme
Ligne 202 :
</Anonymous>
 
</syntaxhighlight>
</source>
 
Pour que le serveur prenne en compte le nouveau fichier de configuration, il faut recharger le démon avec:
Ligne 209 :
 
Exemple de fichier proftpd.conf:
<sourcesyntaxhighlight lang=apache>
# This is a basic ProFTPD configuration file (rename it to # ’proftpd.conf’ for
# actual use. It establishes a single server
Ligne 284 :
</VirtualHost>
 
</syntaxhighlight>
</source>
 
Dans ce fichier on peut rajouter les lignes suivantes :
<sourcesyntaxhighlight lang=apache>
# permet à l'utilisateur même si il ne dispose pas d'un shell valide (ex: /bin/false)
RequireValidShell off
Ligne 298 :
# on peut également afficher une autre chaîne de caractères :
#ServerIdent on "Serveur FTP du Creufop"
</syntaxhighlight>
</source>
 
=== Accès FTP anonyme ===
 
Pour faire un serveur FTP anonyme, il suffit de rajouter les lignes suivantes dans '''/etc/proftpd/proftpd.conf''' :
<sourcesyntaxhighlight lang=apache>
<Anonymous ~ftp>
User ftp
Ligne 341 :
</Anonymous>
</syntaxhighlight>
</source>
 
== Création d'un utilisateur FTP ==
Ligne 389 :
== FTPS ==
Pour activer le protocole {{w|FTPS}} :
<sourcesyntaxhighlight lang=bash>
vim /etc/proftpd/proftpd.conf # Décommenter la ligne "Include /etc/proftpd/tls.conf"
vim /etc/proftpd/tls.conf # Ajouter le code ci-dessous
Ligne 398 :
</IfModule>
/etc/init.d/proftpd restart
</syntaxhighlight>
</source>
 
Pour plus d'information sur les certificats .pem, voir [[Apache/HTTPS]].