Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
logiciel:internet:ftp:proftpd:start [2020/09/10 17:17] – [Utilisation] admin | logiciel:internet:ftp:proftpd:start [2021/02/17 10:10] – ↷ Liens modifiés en raison d'un déplacement. admin | ||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
====== Pro-ftpd : un serveur FTP open source pour Linux ====== | ====== Pro-ftpd : un serveur FTP open source pour Linux ====== | ||
- | ===== Introduction ===== | + | ====== Introduction |
**ProFTPD** est un serveur FTP/ | **ProFTPD** est un serveur FTP/ | ||
Ligne 11: | Ligne 11: | ||
* Il gère les fonctionnalités avancées (plusieurs fichiers de mots de passe, ratios téléchargement/ | * Il gère les fonctionnalités avancées (plusieurs fichiers de mots de passe, ratios téléchargement/ | ||
- | ===== Pré-requis ===== | + | ====== Pré-requis |
- | ===== Installation ===== | + | ====== Installation |
<WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
Pour utiliser une authentification sur une base de données, installez les paquets **proftpd-mod** suggérés correspondants. | Pour utiliser une authentification sur une base de données, installez les paquets **proftpd-mod** suggérés correspondants. | ||
</ | </ | ||
- | + | - Installez | |
- | Installez | + | * **ftp** pour les tests |
- | <WRAP center round info 60%> | + | * Lors de l’installation, |
- | * **ftp** pour les tests | + | * Vous pouvez installer aussi les paquets **[[apt> |
- | * Pendant l' | + | * L' |
- | | + | * **proftpd** (UID 127), groupe **nogroup** ; __pas de répertoire personnel__ **/run/ |
- | * **ftp** (UID 128), groupe **nogroup**. Création du répertoire personnel **/ | + | * **ftp** (UID 128), groupe **nogroup** ; création du répertoire personnel **/ |
- | | + | |
- | </WRAP> | + | |
- | + | ||
- | | + | |
... | ... | ||
<cli prompt=': | <cli prompt=': | ||
Ligne 45: | Ligne 42: | ||
< | < | ||
</ | </ | ||
+ | - Si vous essayez avec un client comme **Filezilla**, | ||
- | Si vous essayez avec un client comme Filezilla, vous constaterez que l' | + | ====== Configuration |
- | + | ||
- | ===== Configuration ====== | + | |
<WRAP center round info 60%> | <WRAP center round info 60%> | ||
- | * L' | + | * L' |
+ | / | ||
+ | └── conf.d</ | ||
/ | / | ||
└── conf.d | └── conf.d | ||
Ligne 58: | Ligne 56: | ||
</ | </ | ||
- | <WRAP center round tip 60%> | + | <WRAP center round important |
- | Nous ne toucherons pas au fichier | + | * Pour que les réglages persistent après les mises à jour, nous ne toucherons pas au fichier **/ |
+ | * Nous placerons dans le répertoire **/ | ||
* Liste des directives : [[http:// | * Liste des directives : [[http:// | ||
- | |||
- | A la fin de ce fichier, une directive **include** appelle les directives des fichiers du répertoire **/ | ||
- | |||
- | Nous y mettrons des fichiers contenant les directives de configuration voulues. | ||
- | |||
- | Ces fichiers ne seront pas affectés par les mises à jour. | ||
- | |||
- | **Pour le listing des fichiers de la distribution**, | ||
</ | </ | ||
- | ==== Utilisateurs virtuels ==== | + | ===== Utilisateurs virtuels |
- | Chaque utilisateur a accès à son propre répertoire personnel | + | Chaque utilisateur a accès à son propre répertoire personnel |
<WRAP center round info 60%> | <WRAP center round info 60%> | ||
Ligne 81: | Ligne 72: | ||
</ | </ | ||
- | === Création d'un webmestre pour un site monsite.tld === | + | ==== Création d'un webmestre pour un site monsite.tld |
Nous allons créer un utilisateur virtuel **admiweb** pour accéder par ftp au site **monsite.tld**, | Nous allons créer un utilisateur virtuel **admiweb** pour accéder par ftp au site **monsite.tld**, | ||
- | + | | |
- | | + | uid=33(www-data) gid=33(www-data) groupes=33(www-data)</ |
- | uid=33(www-data) gid=33(www-data) groupes=33(www-data)</ | + | * Si le groupe **www-data** n' |
- | $ sudo useradd -g www-data -d /var/www -s /bin/false www-data</ | + | ...@...:~$ sudo useradd -g www-data -d /var/www -s /bin/false www-data</ |
- | - Créez un nouvel utilisateur virtuel ayant accès à **/ | + | - Créez un nouvel utilisateur virtuel ayant accès à **/ |
...@...:/ | ...@...:/ | ||
ftpasswd: creating passwd entry for user admiweb | ftpasswd: creating passwd entry for user admiweb | ||
Ligne 97: | Ligne 88: | ||
ftpasswd: entry created</ | ftpasswd: entry created</ | ||
- | === Création d'un utilisateur virtuel (cas général) === | + | ==== Création d'un utilisateur virtuel (cas général) |
On peut créer de la même façon des utilisateurs virtuels ayant des identifiants quelconques (sauf UID 0 (zéro) et GID 0 (zéro) qui sont utilisés pour l' | On peut créer de la même façon des utilisateurs virtuels ayant des identifiants quelconques (sauf UID 0 (zéro) et GID 0 (zéro) qui sont utilisés pour l' | ||
Ligne 113: | Ligne 104: | ||
L' | L' | ||
- | ==== Fichier de configuration ==== | + | ===== Fichier de configuration |
- Créez ou éditez avec les droits d' | - Créez ou éditez avec les droits d' | ||
# Tous les utilsateurs seront emprisonnés dans leur home, sauf l' | # Tous les utilsateurs seront emprisonnés dans leur home, sauf l' | ||
DefaultRoot ~ !xxxxxxx | DefaultRoot ~ !xxxxxxx | ||
+ | |||
+ | # Pas de shell valide exigé (ex : bin/sh ou /bin/bash). | ||
+ | RequireValidShell off | ||
+ | |||
+ | # Fichier des mots de passe | ||
+ | AuthUserFile / | ||
+ | |||
+ | # Fichier des groupes | ||
+ | AuthGroupFile / | ||
+ | |||
+ | AuthOrder mod_auth_file.c | ||
+ | AuthPAM off | ||
+ | </ | ||
+ | # Tous les utilsateurs seront emprisonnés dans leur home, sauf l' | ||
+ | DefaultRoot ~ !pi | ||
# Pas de shell valide exigé (ex : bin/sh ou /bin/bash). | # Pas de shell valide exigé (ex : bin/sh ou /bin/bash). | ||
Ligne 134: | Ligne 140: | ||
...@...:~$ sudo touch / | ...@...:~$ sudo touch / | ||
- | ==== Rechargement et test ==== | + | ===== Rechargement et test ===== |
+ | - Relancez proftpd et vérifiez que l' | ||
- Relancez proftpd et vérifiez que l' | - Relancez proftpd et vérifiez que l' | ||
...@...:~$ ftp localhost | ...@...:~$ ftp localhost | ||
Ligne 151: | Ligne 158: | ||
ftp> bye | ftp> bye | ||
221 Au revoir.</ | 221 Au revoir.</ | ||
- | <cli prompt=' | + | <cli prompt=' |
+ | pi@framboise: | ||
+ | Connected to localhost. | ||
+ | 220 ProFTPD Server (Debian) [::1] | ||
+ | Name (localhost: | ||
+ | 331 Mot de passe requis pour admiweb | ||
+ | Password: | ||
+ | 230 Utilisateur admiweb authentifié | ||
+ | Remote system type is UNIX. | ||
+ | Using binary mode to transfer files. | ||
+ | <cli prompt='> | ||
+ | ... | ||
+ | drwxrws--- | ||
+ | ... | ||
+ | ftp> bye | ||
+ | 221 Au revoir.</ | ||
+ | <cli prompt=' | ||
+ | </ | ||
- L' | - L' | ||
... | ... | ||
Ligne 174: | Ligne 198: | ||
221 Au revoir.</ | 221 Au revoir.</ | ||
< | < | ||
- | </ | + | </ |
- | + | ||
- | + | ||
- | ==== Hôtes virtuels ==== | + | |
- | + | ||
- | Créez avec les droits d' | + | |
- | <code - / | + | |
- | DefaultRoot ~ | + | |
- | + | ||
- | AuthUserFile / | + | |
- | AuthGroupFile / | + | |
- | </ | + | |
- | + | ||
- | Vérifiez l' | + | |
- | <cli>$ getent group www-data | + | |
- | www-data:x:33: | + | |
- | $ getent passwd www-data | + | |
- | www-data: | + | |
- | + | ||
- | ++++ Sinon, créez-le | | + | |
- | < | + | |
- | $ sudo useradd -g www-data -d /var/www -s /bin/false www-data</ | + | |
- | ++++ | + | |
- | + | ||
- | On constate que l’identifiant du groupe **www-data** est **33**. | + | |
- | + | ||
- | Créez l' | + | |
- | < | + | |
- | $ sudo ftpasswd --passwd --name=admiweb --uid=33 --gid=33 --home=/ | + | |
- | ftpasswd: creating passwd entry for user admiweb | + | |
... | ... | ||
- | Password: | + | Name (localhost: |
- | Re-type password: | + | 331 Mot de passe requis pour pi |
+ | Password: | ||
+ | 230 Utilisateur pi authentifié | ||
+ | ... | ||
+ | <cli prompt='> | ||
+ | ... | ||
+ | drwxr-xr-x 2 pi | ||
+ | ... | ||
+ | ftp> cd .. | ||
... | ... | ||
- | ftpasswd: entry created</ | ||
- | |||
- | Vérifiez que l' | ||
- | < | ||
- | Connected to localhost.localdomain. | ||
- | 220 ProFTPD 1.3.4c Server (ProFTPD) [:: | ||
- | Name (localhost: | ||
- | 331 Password required for xxxxxxx | ||
- | Password: | ||
- | 230 User xxxxxxx logged in | ||
- | Remote system type is UNIX. | ||
- | Using binary mode to transfer files. | ||
ftp> ls | ftp> ls | ||
- | 200 PORT command successful | + | ... |
- | 150 Opening ASCII mode data connection for file list | + | drwxr-xr-x |
- | -rw-r--r-- | + | ... |
- | -rw-r--r-- | + | |
- | drwxr-xr-x | + | |
- | -rw-r--r-- | + | |
- | drwxr-xr-x | + | |
- | -rw-r--r-- | + | |
- | drwxr-xr-x | + | |
- | 226 Transfer complete | + | |
ftp> bye | ftp> bye | ||
- | 221 Goodbye.</ | + | 221 Au revoir.</ |
+ | <cli prompt=' | ||
+ | </ | ||
- | De même pour admiweb : | + | ===== Fichier proftpd.conf et dérivés |
- | < | + | |
- | Connected to localhost.localdomain. | + | |
- | 220 ProFTPD 1.3.4c Server (ProFTPD) [:: | + | |
- | Name (localhost: | + | |
- | 331 Password required for admiweb | + | |
- | Password: | + | |
- | 230 User admiweb logged in | + | |
- | Remote system type is UNIX. | + | |
- | Using binary mode to transfer files. | + | |
- | ftp> ls | + | |
- | 200 PORT command successful | + | |
- | 150 Opening ASCII mode data connection for file list | + | |
- | -rw-r--r-- | + | |
- | -rw-r--r-- | + | |
- | drwxr-xr-x | + | |
- | -rw-r--r-- | + | |
- | drwxr-xr-x | + | |
- | -rw-r--r-- | + | |
- | drwxr-xr-x | + | |
- | 226 Transfer complete | + | |
- | ftp> bye | + | |
- | 221 Goodbye.</ | + | |
- | + | ||
- | Vous pouvez maintenant créer tous les utilisateurs nécessaires en répétant cette commande. | + | |
- | + | ||
- | ==== Fichier proftpd.conf et dérivés ==== | + | |
Il inclut : | Il inclut : | ||
Ligne 278: | Ligne 238: | ||
</ | </ | ||
- | ==== Premiers réglages ==== | + | ===== Sécurisation TLS ===== |
- | + | ||
- | Créez ou éditez avec les droits d' | + | |
- | * Dé-commentez la ligne **DefaultRoot** -> Les utilisateurs seront // | + | |
- | * Vous pouvez aussi personnaliser au besoin : | + | |
- | * **ServerName**, | + | |
- | * **DisplayLogin** | + | |
- | * et **UseIPv6** | + | |
- | + | ||
- | ==== Sécurisation TLS ==== | + | |
Le serveur est maintenant en place, cependant, tout ce qui transite entre votre serveur et votre Client FTP transite en clair sur le Net. | Le serveur est maintenant en place, cependant, tout ce qui transite entre votre serveur et votre Client FTP transite en clair sur le Net. | ||
Ligne 352: | Ligne 303: | ||
Vous pouvez maintenant vous connecter à votre serveur FTP de manière sécurisée ! | Vous pouvez maintenant vous connecter à votre serveur FTP de manière sécurisée ! | ||
- | ==== Quelques exemples de fichiers de configuration ==== | + | ===== Quelques exemples de fichiers de configuration |
* **Basic** : | * **Basic** : | ||
Ligne 1426: | Ligne 1377: | ||
++++ | ++++ | ||
- | ==== Fichier / | + | ===== Fichier / |
* **Fichier Proftpd.conf exemple** | * **Fichier Proftpd.conf exemple** | ||
Ligne 1973: | Ligne 1924: | ||
++++ | ++++ | ||
- | ===== Utilisation ===== | + | ====== Utilisation |
Sur un PC du réseau, ouvrez Filezilla et lancez une connexion :{{ logiciel: | Sur un PC du réseau, ouvrez Filezilla et lancez une connexion :{{ logiciel: | ||
- | * Hôte : l' | + | * Hôte : l' |
* Identifiant : admiweb | * Identifiant : admiweb | ||
* Mot de passe : son mot de passe | * Mot de passe : son mot de passe | ||
+ | Interface graphique : [[logiciel: | ||
- | Interface graphique : [[logiciel: | + | ====== Désinstallation |
- | + | ||
- | ===== Désinstallation ===== | + | |
- | ===== Voir aussi ===== | + | ====== Voir aussi ====== |
* **(fr)** [[http:// | * **(fr)** [[http:// | ||
- | * **(fr)** [[http://]] | + | * **(fr)** [[https:// |
---- | ---- | ||
- | //Basé sur << [[http://|Article]] >> par Auteur.// | + | //Basé sur << [[https:// |