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édentes Révision précédente
Prochaine révision
Révision précédente
pure-ftp [Le 16/07/2010, 02:57]
79.84.12.23
pure-ftp [Le 27/01/2024, 10:14] (Version actuelle)
bruno ancienne révision (Le 26/01/2024, 18:33) restaurée
Ligne 1: Ligne 1:
-{{tag>Dapper Karmic ​serveur réseau ftp}} +{{tag>Xenial ​serveur réseau ftp}}
- +
-----+
  
 ====== Serveur FTP Pure-FTPd ====== ====== Serveur FTP Pure-FTPd ======
  
-Pure-FTPd est un serveur FTP sécurisé et fiable pour les systèmes dérivés d'​UNIX. Il est sous licence BSD.+Pure-FTPd est un serveur FTP fiable pour les systèmes dérivés d'​UNIX. Il est sous licence BSD.
  
  
-Pure-FTPd propose comme fonctionnalités le contrôle de la bande passante, l'​établissement de quotas de téléchargement,​ les aliases ​de répertoires,​ la création d'​hôtes virtuels ​et Bonjour de Apple. On peut également afficher des messages personnalisés (bannières et fortunes) lors de la connexion des utilisateurs.+Pure-FTPd propose comme fonctionnalités le contrôle de la bande passante, l'​établissement de quotas de téléchargement,​ les alias de répertoires,​ la création d'​hôtes virtuels. On peut également afficher des messages personnalisés (bannières et fortunes) lors de la connexion des utilisateurs.
  
 Pure-FTPd peut exécuter un script à la suite d'une upload. Il peut également refuser des utilisateurs si la charge système devient trop importante. Pure-FTPd peut exécuter un script à la suite d'une upload. Il peut également refuser des utilisateurs si la charge système devient trop importante.
Ligne 18: Ligne 16:
 Plusieurs serveurs FTP Pure-FTPd indépendants peuvent s'​exécuter de façon concurrente sur la même machine. Plusieurs serveurs FTP Pure-FTPd indépendants peuvent s'​exécuter de façon concurrente sur la même machine.
  
 +<note warning>
 +Le niveau de sécurité par défaut du protocole FTP est extrêmement faible. Ce 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ées,​ comme [[:​ssh#​monter_un_repertoire_distant_navigation_via_sftp_secure_file_transfer_protocol| SFTP]], ou [[:WebDAV]] (en [[:​tutoriel:​securiser_apache2_avec_ssl|HTTPS]]).
 +</​note>​
 +
 +===== Pré-requis =====
 + 
 +  * Disposer des [[:​sudo|droits d'​administration]].
 +  * Disposer d'une connexion à Internet configurée et activée.
 ===== Installation ===== ===== Installation =====
  
-[[:​tutoriel:​comment_installer_un_paquet|Installez ​les paquets]] **pure-ftpd ​pure-ftpd-common**.+[[:​tutoriel:​comment_installer_un_paquet|Installez ​le paquet]] **[[apt>pure-ftpd]]**.
  
 +===== Configuration =====
 Création du groupe ftpgroup : Création du groupe ftpgroup :
  
Ligne 28: Ligne 35:
 Création de l'​utilisateur ftpuser : Création de l'​utilisateur ftpuser :
  
-  sudo useradd -g ftpgroup -d /dev/null -s /etc ftpuser +  sudo useradd -g ftpgroup -d /dev/null -s /usr/​sbin/​nologin ​ftpuser 
- +  ou 
-===== Configuration =====+  sudo useradd -g ftpgroup --system ftpuser
  
 La configuration se fait à l'aide de fichiers présents dans le dossier /​etc/​pure-ftpd/​conf/​ La configuration se fait à l'aide de fichiers présents dans le dossier /​etc/​pure-ftpd/​conf/​
  
-Ces fichiers sont documentés dans le ReadMe officiel de PureFtpd (voir [[http://​download.pureftpd.org/​pub/​pure-ftpd/​doc/​README|README Pure-ftpd]]). Ils prennent des valeurs de type: yes/no, chemin, valeur... ​+Ces fichiers sont documentés dans le ReadMe officiel de PureFtpd (voir [[https://​download.pureftpd.org/​pub/​pure-ftpd/​doc/​README|README Pure-ftpd]]). Ils prennent des valeurs de type: yes/no, chemin, valeur...
  
  
 Par exemple, Pure-ftp ne montre pas plus de 2000 fichiers lorsque vous vous connectez à votre serveur pure-ftp, et n'​autorise pas plus de 5 répertoires Par exemple, Pure-ftp ne montre pas plus de 2000 fichiers lorsque vous vous connectez à votre serveur pure-ftp, et n'​autorise pas plus de 5 répertoires
-Pour dépasser cette limite, vous devez créer un fichier dans le répertoire /​etc/​pure-ftpd/​conf/​ et créer le fichier dont le nom est relative ​à l'​option.+Pour dépasser cette limite, vous devez créer un fichier dans le répertoire /​etc/​pure-ftpd/​conf/​ et créer le fichier dont le nom est relatif ​à l'​option.
  
 Pour l'​exemple LimitRecursion Pour l'​exemple LimitRecursion
Ligne 50: Ligne 57:
 Vous faites de façon identique pour toutes les autres options. Vous faites de façon identique pour toutes les autres options.
  
--0 —notruncate Cette option permet de renommer automatiquement un fichier si un autre du même nom existe déjà sur le serveur.Cette option est incompatible avec les "​Quotas virtuels"​+-0 | NoTruncate | Cette option permet de renommer automatiquement un fichier si un autre du même nom existe déjà sur le serveur.Cette option est incompatible avec les "​Quotas virtuels"​
 +| -1 | LogPid | Log le PID de chaque session dans Syslog | 
 +| -4 | ipv4only | Écoute uniquement les connections IP V4 | 
 +| -6 | ipv6only | Écoute uniquement les connections IP V6 | 
 +| -a | TrustedGid | Seulement les membre du groupe peuvent se connecter | 
 +| -A | ChrootEveryone | Chroot tous les utilisateurs | 
 +| -B | Daemonize | Démarrer le serveur en mode Standalone (en daémon) | 
 +| -c | MaxClientsNumber | Autorise au maximum clients à se connecter simultanément au serveur (Défaut = 50) | 
 +| -C | MaxClientsPerIP | Nombre maximum de connexions simultanées par client (adresse IP) | 
 +| -d | VerboseLog | Envoie des messages de débugage dans Syslog (A utiliser seulement en cas de problème)Pour avoir également les log de réponses, il faut doubler ce paramètre. | 
 +| -D | DisplayDotFiles | Affiche les fichiers commençant par un point (Paramètre à activer pour les puristes et à désactiver pour les simples utilisateurs) | 
 +| -e | AnonymousOnly | Autorise uniquement les utilisateurs anonymes. A utiliser uniquement pour les sites FTP publiques. | 
 +| -E | NoAnonymous | Autorise uniquement les utilisateurs authentifiés. Les utilisateurs anonymes sont interdits. | 
 +| -f | SyslogFacility | Indique la « facility » à utiliser pour syslog (Défaut = local2). « -f none » permet de désactiver les logs. | 
 +| -F | FortunesFile | Affiche une ligne de texte aléatoire à la connexion en provenance du fichier « fortune file » (ex : Astuce du jour). Pour afficher un texte à la connexion, il faut également utiliser cette option. | 
 +| -g | PidFile | Change l'​adresse du fichier pid quand l serveur est exécuté en mode standalone. (Défaut = /​var/​run/​pure-ftpd.pid) | 
 +| -H | DontResolve | Par défaut, les noms pleinement qualifiés sont logués en faisant une requête DNS inverse sur l'​adresse IP. Cette option permet d'​éviter de rechercher le nom pleinement qualifié dans le but d'​accélérer le temps de connexion. Cette option est donc conseillée pour les sites publiques très chargés. | 
 +| -i | AnonymousCantUpload | Interdit l'​accès en écriture sur le serveur (upload) pour les utilisateurs anonymes. | 
 +| -I | MaxIdleTime | Change la durée de connexion maximum en minutes (Défaut = 15) | 
 +| -j | CreateHomeDir | Crée automatiquement le home de l'​utilisateur s'il n'​existe pas. | 
 +| -k | MaxDiskUsage | Interdit les chargements sur le serveur (upload) si la partition utilisée est chargée à plus de | 
 +| -K | KeepAllFiles | Autorise les utilisateurs à charger des fichiers sur le serveur, mais les interdit de les renommer ou les supprimer. | 
 +| -l | login | Ajoute une nouvelle règle d'​authentification. | 
 +| -L | LimitRecursion | Cette option permet d'​éviter le nombre de fichiers listes et le nombre de niveau de recherches pour éviter les déni de services.(Défaut = 2000 fichiers et 5 niveaux de répertoire) | 
 +| -m | MaxLoad | Interdit les téléchargements anonymes si la charge du CPU atteint | 
 +| -M | AnonymousCanCreateDirs | Autorise les utilisateurs anonymes à créer des répertoires. | 
 +| -n | | Si le serveur supporte les quotas virtuels, cette option permet de les configurer | 
 +| -N | NatMode | Mode NAT | 
 +| -O | AltLog | Enregistre les logs des fichiers transférés dans un fichier spécifique. Plusieurs formats sont supportés : CLF (Apache-like),​ Stats, W3C and xferlog.Par exemple le format "​Stats"​ ressemble à  | 
 +| -p | PassivePortRange | Permet de modifier les ports sur lesquels le serveur Écoute | 
 +| -P | ForcePassiveIP | Force l'​adresse IP ou le nom de la machine pour le retour | 
 +| -q | AnonymousRatio | Active les ratios pour les utilisateurs anonymes | 
 +| -Q | UserRatio | Active les ratios pour tous les utilisateurs | 
 +| -r | AutoRename | Ne jamais écraser un fichier existant. Le fichier est automatiquement renommé si c'est nécessaire. | 
 +| -R | NoChmod | Interdit aux utilisateurs d'​utiliser les commandes CHMOD | 
 +| -s | AntiWarez | Interdit aux utilisateur anonymes de télécharger des fichiers | 
 +| -T | UserBandwidth or [] :[] | Active la limitation de la bande passante en kilobytes/​seconds. Il est possible d'​avoir une bande passante différente avec la syntaxe "-t [] :[]" | 
 +| -t | AnonymousBandwidth | Active la limitation de la bande passante en kbps pour les utilisateurs anonymes. Il est possible d'​avoir une bande passante différente avec la syntaxe "-t [] :[]" | 
 +| -u | MinUID | Interdit les accès pour les utilisateurs ayant un uid inférieur à celui indiqué. | 
 +| -U | Umask | Change le mask de création des dossiers et des fichiers. (Défaut = 133 022) | 
 +| -V | TrustedIP | Autorise les accès non anonymes seulement pour l'​adresse IP spécifiée. Les autres adresses IP auront un accès anonyme. | 
 +| -x | ProhibitDotFilesWrite | Interdit les utilisateurs anonymes à écrire des fichiers commençant par un point. | 
 +| -X | ProhibitDotFilesRead | Interdit les utilisateurs anonymes à lire et écrire des fichiers commençant par un point. | 
 +| -y | PerUserLimits | Permet de limiter le nombre de sessions simultanées qu'un utilisateur peut ouvrir (Défaut = 0 = illimités) | 
 +| -z | AllowDotFiles | Autorise les utilisateurs anonymes à lire les fichiers et les dossiers commençant par un point. |
  
--1 —LogPid Log le PID de chaque session ​dans Syslog+==== Création d'un utilisateur virtuel ==== 
 +Entrez la commande ​dans un [[:​terminal]] :​ <​code>​sudo pure-pw useradd nom_utilisateur -u ftpuser -g ftpgroup -d /​home/​www/​nom_utilisateur</​code>​
  
--4 —ipv4only Écoute uniquement les connections IP V4 
  
--6 —ipv6only Écoute uniquement les connections IP V6+Il faut maintenant générer le fichier des utilisateurs :​
  
--a —TrustedGid Seulement les membre du groupe peuvent se connecter+  sudo pure-pw mkdb
  
--A —ChrootEveryone Chroot tous les utilisateurs+Après chaque modification ou rajout d'​utilisateur il faut régénérer le fichier des utilisateurs ​avec cette commande.
  
--B —Daemonize Démarrer le serveur en mode Standalone (en daémon)+Pour activer l'​authentification liée à Pure-FTP : 
 +  sudo ln -s /​etc/​pure-ftpd/​conf/​PureDB /​etc/​pure-ftpd/​auth/​50pure
  
--c —MaxClientsNumber Autorise au maximum clients à se connecter simultanément au serveur (Défaut ​50)+===Changer le mot de passe d'un utilisateur===
  
--C —MaxClientsperIP Nombre maximum ​de connexions simultanées par client (adresse IP)+Si un mot de passe a été oublié ou doit être changé, utiliser cette commande :
  
--d —VerboseLog Envoie des messages de débugage dans Syslog (A utiliser seulement en cas de problème)Pour avoir également les log de réponses, il faut doubler ce paramètre.+  sudo pure-pw passwd nom_utilisateur
  
--D —DisplayDotFiles Affiche les fichiers commençant par un point (Paramètre à activer pour les puristes et à désactiver pour les simples utilisateurs) +Regénérer ​le fichier des utilisateurs
- +
--e —AnonymousOnly Autorise uniquement les utilisateurs anonymes. A utiliser uniquement pour les sites FTP publiques. +
- +
--E —NoAnonymous Autorise uniquement les utilisateurs authentifiés. Les utilisateurs anonymes sont interdits. +
- +
--f —SyslogFacility Indique la « facility » à utiliser pour syslog (Défaut = local2). « -f none » permet de désactiver les logs. +
- +
--F —FortunesFile Affiche une ligne de texte aléatoire à la connexion en provenance du fichier « fortune file » (ex : Astuce du jour). Pour afficher un texte à la connexion, il faut également utiliser cette option. +
- +
--g —PidFile Change l’adresse du fichier pid quand l serveur est exécuté en mode standalone. (Défaut = /​var/​run/​pure-ftpd.pid) +
- +
--H —DontResolve Par défaut, les noms pleinement qualifiés sont logués en faisant une requête DNS inverse sur l’adresse IP. Cette option permet d’éviter de rechercher le nom pleinement qualifié dans le but d’accélérer le temps de connexion. Cette option est donc conseillée pour les sites publiques très chargés. +
- +
--i —AnonymouScantUpload Interdit l’accès en écriture sur le serveur (upload) pour les utilisateurs anonymes. +
- +
--I —MaxIdleTime Change la durée de connexion maximum en minutes (Défaut = 15) +
- +
--j —CreateHomeDir Crée automatiquement le home de l’utilisateur s’il n’existe pas. +
- +
--k —MaxDiskUsage Interdit les chargements sur le serveur (upload) si la partition utilisée est chargée à plus de +
- +
--K —KeepAllFiles Autorise les utilisateurs à charger des fichiers sur le serveur, mais les interdit de les renommer ou les supprimer. +
- +
--l —login or  : Ajoute une nouvelle règle d’authentification. +
- +
--L —LimitRecursion Cette option permet d’éviter le nombre de fichiers listes et le nombre de niveau de recherches pour éviter les déni de services.(Défaut = 2000 fichiers et 5 niveaux de répertoire) +
- +
--m —MaxLoad Interdit les téléchargements anonymes si la charge du CPU atteint +
- +
--M —AnonymouScanCreateDirs Autorise les utilisateurs anonymes à créer des répertoires. +
- +
--n Si le serveur supporte les quotas virtuels, cette option permet de les configurer +
- +
--N —NatMode Mode NAT +
- +
--O —AltLog ​ :​ Enregistre les logs des fichiers transférés dans un fichier spécifique. Plusieurs formats sont supportés : CLF (Apache-like),​ Stats, W3C and xferlog.Par exemple le format "​Stats"​ ressemble à : +
- +
--p —PassivePortrange Permet de modifier les ports sur lesquels le serveur Écoute +
- +
--P —ForcePassiveIP Force l’adresse IP ou le nom de la machine pour le retour +
- +
--q —AnonymousRatio ​ : Active les ratios pour les utilisateurs anonymes +
- +
--Q —UserRatio ​ : Active les ratios pour tous les utilisateurs +
- +
--r —AutoRename Ne jamais écraser un fichier existant. Le fichier est automatiquement renommé si c’est nécessaire. +
- +
--R —NoChmod Interdit aux utilisateurs d’utiliser les commandes CHMOD +
- +
--s —AntiWarez Interdit aux utilisateur anonymes de télécharger des fichiers +
- +
--T —UserBandwidth or [] :[] Active la limitation de la bande passante en kilobytes/​seconds. Il est possible d’avoir une bande passante différente avec la syntaxe "-t [] :[]" +
- +
--t —AnonymousBandwidth Active la limitation de la bande passante en kbps pour les utilisateurs anonymes. Il est possible d’avoir une bande passante différente avec la syntaxe "-t [] :[]" +
- +
--u —MinUid Interdit les accès pour les utilisateurs ayant un uid inférieur à celui indiqué. +
- +
--U —umask ​ : Change le mask de création des dossiers et des fichiers. (Défaut = 133.022) +
- +
--V —TrustedIP Autorise les accès non anonymes seulement pour l’adresse IP spécifiée. Les autres adresses IP auront un accès anonyme. +
- +
--x —ProhibitDotFilesWrite Interdit les utilisateurs anonymes à écrire des fichiers commençant par un point. +
- +
--X —ProhibitDotFilesRead Interdit les utilisateurs anonymes à lire et écrire des fichiers commençant par un point. +
- +
--y —PeruserLimits ​ : Permet de limiter le nombre de sessiond simultanées qu’un utilisateur peut ouvrir (Défaut = 0 = illimités) +
- +
--z —AllowDotFiles Autorise les utilisateurs anonymes à lire les fichiers et les dossiers commençant par un point. +
- +
-==== Création d'un utilisateur virtuel ==== +
- +
-<note important>​Ne pas utiliser [[PUREADMIN]] pour gérer les utilisateurs virtuels.</​note>​ +
- +
-  sudo pure-pw useradd test -u ftpuser -g ftpgroup -d /​home/​www/​test +
- +
-=== Syntaxe et options pour vos utilisateurs === +
- +
-<​code>​ +
-pure-pw useradd <​login>​ [-f <passwd file>] -u <uid> [-g <​gid>​] +
-        -D/-d <home directory>​ [-c <​gecos>​] +
-        [-t <​download bandwidth>​] [-T <upload bandwidth>​] +
-        [-n <max number of files>] [-N <max Mbytes>​] +
-        [-q <upload ratio>] [-Q <​download ratio>​] +
-        [-r <allow client host>​[/<​mask>​][,<​allow client host>​[/<​mask>​]]...] +
-        [-R <deny client host>​[/<​mask>​][,<​deny client host>​[/<​mask>​]]...] +
-        [-i <allow local host>​[/<​mask>​][,<​allow client host>​[/<​mask>​]]...] +
-        [-I <deny local host>​[/<​mask>​][,<​deny local host>​[/<​mask>​]]...] +
-        [-y <max number of concurrent sessions>​] +
-        [-z <​hhmm>​-<​hhmm>​] [-m] +
-</​code>​ +
- +
-Il faut maintenant générer le fichier des utilisateurs +
- +
-  sudo pure-pw mkdb            , +
- +
-Après chaque modification ou rajout d'​utilisateur il faut régénérer ​le fichier des utilisateurs ​avec cette commande+
  
 +  sudo pure-pw mkdb
 ==== Autoriser les utilisateurs virtuels à suivre les liens symboliques (symlinks) ==== ==== Autoriser les utilisateurs virtuels à suivre les liens symboliques (symlinks) ====
  
Ligne 223: Ligne 180:
  
   sudo ln -s /​etc/​pure-ftpd/​conf/​PureDB /​etc/​pure-ftpd/​auth/​75puredb   sudo ln -s /​etc/​pure-ftpd/​conf/​PureDB /​etc/​pure-ftpd/​auth/​75puredb
 +
 +<note important>​important</​note>​Attention :  pure-ftpd interdit le login pour les numéros inférieurs à celui paramétré dans : ///​etc/​pure-ftpd/​conf/​MinUID//​.
 +
 +Si erreur : **530 Sorry, but I can't trust you**
 +
 +Modifier : /​etc/​pure-ftpd/​conf/​MinUID,​ avec un uid (1000 par défaut) inférieur à l'uid de l'​utilisateur physique auquel est lié l'​utilisateur virtuel.
 +
 +Il faut peut être redémarrer pour rendre la modification effective...
  
 ==== Pour relancer le serveur pure-ftpd ==== ==== Pour relancer le serveur pure-ftpd ====
Ligne 228: Ligne 193:
   sudo /​etc/​init.d/​pure-ftpd restart   sudo /​etc/​init.d/​pure-ftpd restart
  
-<note help>​Avec [[Pureadmin]],​ il est agréable de voir les connexions actives, suivre le journal sous interface graphique, mais ne pas l'​utiliser pour la gestion des comptes.</​note>​ 
  
 ==== Lister les utilisateurs connectés et leurs états ==== ==== Lister les utilisateurs connectés et leurs états ====
  
   sudo pure-ftpwho   sudo pure-ftpwho
 +
  
 ===== Voir aussi ===== ===== Voir aussi =====
Ligne 238: Ligne 203:
   * [[http://​www.pureftpd.org/​project/​pure-ftpd|Pureftpd.org]]   * [[http://​www.pureftpd.org/​project/​pure-ftpd|Pureftpd.org]]
   * [[http://​www.pureftpd.org/​project/​pure-ftpd/​doc|Pureftpd.org - Documentations]]   * [[http://​www.pureftpd.org/​project/​pure-ftpd/​doc|Pureftpd.org - Documentations]]
-  * [[http://​www.webmin.com/​cgi-bin/​search_third.cgi?​search=ftpd|webmin.com - Module]]+  * [[https://​www.webmin.com/​cgi-bin/​search_third.cgi?​search=ftpd|webmin.com - Module]]
  
 ---- ----
  
 //​Contributeurs principaux : [[utilisateurs:​zoph]],​[[utilisateurs:​snoopyp]].//​ //​Contributeurs principaux : [[utilisateurs:​zoph]],​[[utilisateurs:​snoopyp]].//​
  • pure-ftp.1279241837.txt.gz
  • Dernière modification: Le 18/04/2011, 14:57
  • (modification externe)