Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
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 | ||
doc:reseau:pure-ftpd [23/12/2013 05:27] nifseg [Installation] |
doc:reseau:pure-ftpd [31/05/2023 14:22] lagrenouille [PureFTPd : serveur FTP] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== PureFTPd, est un serveur FTP ====== | + | ====== PureFTPd : serveur FTP ====== |
- | * Objet : du tuto FIXME | + | * Objet : Seveur de fichiers PureFTPd |
- | * Niveau requis : FIXME {{tag>débutant avisé}} | + | * Niveau requis : {{tag>débutant avisé}} |
- | * Commentaires : //Contexte d'utilisation du sujet du tuto. // FIXME | + | * Commentaires : Installer et découvrir les bases de PureFTPd |
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
- | * Suivi : {{tag>en-chantier à-tester à-placer}} - FIXME Pour choisir, voir les autres Tags possibles dans [[:atelier:#tags|l'Atelier]]. | + | * Suivi : {{tag>à-placer}} |
- | * Création par **nifseg** 21/12/2013 | + | * Création par [[user>nifseg]] 21/12/2013 |
- | * Testé par <...> le <...> FIXME | + | * Testé par Epopée le 10/06/2016 |
- | * Commentaires sur le forum : [[url | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME | + | * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=8076 | ici]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) |
- | === Nota === | ||
- | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | ||
===== Introduction ===== | ===== Introduction ===== | ||
+ | |||
+ | ==== Déscription ==== | ||
PureFTPd est un serveur FTP(File Transfert Protocole) sous license BSD.\\ | PureFTPd est un serveur FTP(File Transfert Protocole) sous license BSD.\\ | ||
- | La particularité de PureFTPd est qu'il permet la cration d'utilisateur virtuel, celà signifie que les utilisateurs de PureFTDd ne sont pas forcés d'être enregistrés sur le système hôte. | + | |
+ | La particularité de PureFTPd est qu'il permet facilement la création d'utilisateur virtuel, cela signifie que les utilisateurs de PureFTDd ne sont pas forcés d'être enregistrés sur le système hôte.\\ | ||
+ | |||
+ | PureFTPd est relativement simple à configurer, il est possible de le customiser à souhait. Simple ne veut pas dire non sécurisé! | ||
+ | |||
+ | ==== Quelques fonctions intégrées à PureTFPd ==== | ||
+ | |||
+ | *Répertoire personnel crée automatiquement; | ||
+ | *Possibilité de chrooter des utilisateurs; | ||
+ | *Nombre d’utilisateurs illimités; | ||
+ | *Fichier de log dans "/var/log"; | ||
+ | *Limitation de la bande passante; | ||
+ | *Upload/download; | ||
+ | *Prise en charge de TLS (Transport Layer Security); | ||
+ | *Prise en charge du protocole FXP (File eXchange Protocol); | ||
+ | *Supporte une multitude de types d’authentifications (utilisateurs virtuels, unix, ldap, pam, postgresql, mysql...etc); | ||
+ | *Quotas supportés; | ||
+ | *Connexion pouvant être limitée en fonction de horaire; | ||
+ | *Possibilité de limiter le nombre de connexion par adresse IP et par utilisateurs; | ||
+ | *...etc | ||
===== Installation ===== | ===== Installation ===== | ||
- | Pour installer PureTFDd rien de plus simple : | ||
- | <code root>apt-get install pure-ftpd</code> | ||
- | Le serveur doit-être actif, pour le vérifier : | + | Pour installer PureFTDd rien de plus simple : |
- | <code root>invoke-rc.d pure-ftpd status</code> | + | <code root>apt-get update && apt-get install pure-ftpd</code> |
+ | |||
+ | Pendant l'installation, debconf va vous posez plusieurs questions :\\ | ||
+ | |||
+ | * Faut-il lancer pure-ftpd à partir de inetd ou d'un serveur autonome? | ||
+ | |||
+ | Si vous utilisez régulièrement votre serveur FTP, le mieux est de choisir "serveur autonome". | ||
+ | |||
+ | * Faut-il executer "pure-ftpwho" avec les droits superutilisateur? | ||
+ | |||
+ | Répondre non. | ||
+ | |||
+ | Si vous vous êtes trompez dans une de vos réponses, tapez (optionnel) : | ||
+ | <code root>dpkg-reconfigure pure-ftpd</code> | ||
+ | Cette commande permet de reconfigurer le paquets pure-ftpd. | ||
+ | |||
+ | Le serveur doit-être actif, pour le vérifier, utilisons [[doc:systeme:service | la commande service]] : | ||
+ | <code root>service pure-ftpd status</code> | ||
==== Ajouter un utilisateur et un groupe à PureFTDd ==== | ==== Ajouter un utilisateur et un groupe à PureFTDd ==== | ||
- | <code root>groupadd ftpgroup</code> | ||
- | <note>Ajoute le groupe "ftpgroup" au système</note> | ||
- | <code root>useradd -g ftpgroup -d /dev/null -s /usr/bin/nologin ftpuser</code> | ||
- | <note>Cette commande créer l'utilisateur "ftpuser" et lui adjoint le groupe "ftpgroup", lui associe le periphérique spécial "/dev/null"(le trou noir de Linux) comme répertoire perso et "/usr/bin/nologin" en tant que shell de connexion</note> | ||
- | <code root>/etc/init.d/pure-ftpd stop</code> | ||
- | <note>Eteint le serveur PureFTPd</code> | ||
- | Ajoutez un utilisateur pointant vers un répertoire "user" existant sur le système : | ||
- | <code root>pure-pw useradd user -u ftpuser -d /home/user/Documents</code> | ||
+ | <code root>groupadd ftpgroup && sleep 10 && useradd -g ftpgroup -d /dev/null -s /usr/bin/nologin ftpuser</code> | ||
+ | * La première commande [[doc:systeme:groupadd | groupadd]] ajoute le groupe "ftpgroup" au système, | ||
+ | * la seconde commande [[doc:systeme:sleep | sleep]] impose une attente de 10 secondes avant l'exécution de la commande suivante et | ||
+ | * la troisième commande crée l'utilisateur "ftpuser" et l'ajoute aux utilisateurs du groupe "ftpgroup", en lui associant le périphérique spécial "/dev/null" (le trou noir de Linux) comme répertoire perso et "/usr/bin/nologin" comme shell de connexion. | ||
+ | |||
+ | <note>La commande globale fonctionne sans [[doc:systeme:sleep | la commande sleep]], mais j'estime qu'il est bon de rappeler des commandes de bases. :-)</note> | ||
+ | |||
+ | Prérequis avant d'ajouter un utilisateur virtuel à PureFTPd :\\ | ||
+ | 1)Avoir un serveur Apache fonctionnel.\\ | ||
+ | |||
+ | 2)Créer le répertoire "public_html" : | ||
+ | <code user>cd ; mkdir "public_html"</code> | ||
+ | |||
+ | 3)Ajouter le module "userdir" à Apache : | ||
+ | <code root>a2enmod userdir</code> | ||
+ | |||
+ | Ajoutez un utilisateur((Voir : [[doc:systeme:useradd]])) "user" avec, comme répertoire racine "/home/user/public_html", qui doit être un répertoire déjà existant sur le système : | ||
+ | <code root>pure-pw useradd user -u ftpuser -d /home/user/public_html</code> | ||
+ | <note>Modifiez les champs "user" par le nom d'utilisateur que vous souhaitez ajouter à votre serveur!</note> | ||
+ | |||
+ | Se rendre dans le répertoire "/etc/pure-ftpd/auth/" : | ||
+ | <code root>cd /etc/pure-ftpd/auth/</code> | ||
+ | |||
+ | créer un lien symbolique((Voir : [[doc:systeme:ln | la commande ln]])) nommé "/etc/pure-ftpd/auth/50puredb" pointant sur le fichier "/etc/pure-ftpd/conf/PureDB" | ||
+ | <code root>ln -s ../conf/PureDB 50puredb</code> | ||
+ | |||
+ | Mettre à jour la base de données de PureFTPd : | ||
+ | <code root>pure-pw mkdb</code> | ||
+ | |||
+ | Relancer le service PureFTPd : | ||
+ | <code root>service pure-ftpd restart</code> | ||
+ | |||
+ | Pour créer un deuxième utilisateur "fifi", rien de plus simple, tapez à nouveau : | ||
+ | <code root>pure-pw useradd fifi -u ftpuser -d /home/user/public_html && pure-pw mkdb</code> | ||
+ | |||
+ | Et relancez le serveur pour prendre en compte l'ajout de l'utilisateur : | ||
+ | <code root>service pure-ftpd restart</code> | ||
+ | |||
+ | Vous pouvez créer ainsi autant d'utilisateurs que vous le souhaitez ! | ||
+ | |||
+ | Pour connaître la liste des utilisateurs créés pour PureFTPd tapez : | ||
+ | <code root>pure-pw list</code> | ||
+ | |||
+ | Pour avoir la liste des utilisateurs connectés tapez : | ||
+ | <code root>pure-ftpwho</code> | ||
+ | |||
+ | Pour modifier le mot de passe de l'utilisateur "fifi" : | ||
+ | <code root>pure-pw passwd fifi</code> | ||
+ | |||
+ | Pour supprimer l'utilisateur((Voir : [[doc:systeme:userdel | la commande userdel]])) "fifi" : | ||
+ | <code root>pure-pw userdel fifi</code> | ||
+ | |||
+ | |||
+ | ===== Configuration ===== | ||
+ | |||
+ | La plupart des options de configuration se font par les fichiers présents dans le répertoire "/etc/pure-ftpd/conf/" | ||
+ | |||
+ | ==== Exemples de configuration ==== | ||
+ | |||
+ | Se rendre dans le répertoire "/etc/pure-ftpd/conf/" | ||
+ | <code root>cd /etc/pure-ftpd/conf/</code> | ||
+ | |||
+ | Autoriser l'envoi de fichiers sur le serveur FTP par les utilisateurs : | ||
+ | <code root>echo yes > KeepAllFiles</code> | ||
+ | |||
+ | Ne pas accepter les connexions anonymes : | ||
+ | <code root>echo no > NoAnonymous</code> | ||
+ | |||
+ | Pour rappel, [[doc:programmation:shell:chevrons#redirection | le chevron]] fermant ">" permet de rediriger la sortie d'une commande (ici, la sortie est redirigée vers le fichier "NoAnonymous") | ||
+ | |||
+ | == Nota : == | ||
+ | |||
+ | Il existe aussi une interface graphique de configuration pour PureFTPd : **Pureadmin** | ||
===== Utilisation ===== | ===== Utilisation ===== | ||
+ | |||
+ | Pour se connecter à votre seveur FTP à partir du serveur lui même tapez : | ||
+ | <code user>ftp localhost</code> | ||
+ | Votre login et votre mot de passe va vous être demandé. | ||
+ | Ensuite vous allez arriver sur un prompt : | ||
+ | <code user>ftp></code> | ||