Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
pure-ftp [Le 15/12/2011, 15:17] 127.0.0.1 modification externe |
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]] **[[apt://pure-ftpd]][[apt://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 29: | Ligne 36: | ||
sudo useradd -g ftpgroup -d /dev/null -s /usr/sbin/nologin 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... |
Ligne 75: | Ligne 82: | ||
| -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) | | | -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 | MaxLoad | Interdit les téléchargements anonymes si la charge du CPU atteint | | ||
- | | -M | AnonymouScanCreateDirs | Autorise les utilisateurs anonymes à créer des répertoires. | | + | | -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 | | Si le serveur supporte les quotas virtuels, cette option permet de les configurer | | ||
| -N | NatMode | Mode NAT | | | -N | NatMode | Mode NAT | | ||
Ligne 93: | Ligne 100: | ||
| -x | ProhibitDotFilesWrite | Interdit les utilisateurs anonymes à écrire des fichiers commençant par un point. | | | -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. | | | -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) | | + | | -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. | | | -z | AllowDotFiles | Autorise les utilisateurs anonymes à lire les fichiers et les dossiers commençant par un point. | | ||
==== Création d'un utilisateur virtuel ==== | ==== 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> | ||
- | <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 | + | Il faut maintenant générer le fichier des utilisateurs : |
- | + | ||
- | === 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 | sudo pure-pw mkdb | ||
Ligne 126: | Ligne 115: | ||
Pour activer l'authentification liée à Pure-FTP : | Pour activer l'authentification liée à Pure-FTP : | ||
sudo ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure | sudo ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure | ||
+ | |||
+ | ===Changer le mot de passe d'un utilisateur=== | ||
+ | |||
+ | Si un mot de passe a été oublié ou doit être changé, utiliser cette commande : | ||
+ | |||
+ | sudo pure-pw passwd nom_utilisateur | ||
+ | |||
+ | Regénérer le fichier des utilisateurs | ||
+ | |||
+ | sudo pure-pw mkdb | ||
==== Autoriser les utilisateurs virtuels à suivre les liens symboliques (symlinks) ==== | ==== Autoriser les utilisateurs virtuels à suivre les liens symboliques (symlinks) ==== | ||
Ligne 181: | 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 | ||
- | | + | |
- | Il faut peut être redémarrer pour rendre la modification efficace... | + | <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 188: | 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 198: | 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]].// |