« ProFTPd » : différence entre les versions
Aller à la navigation
Aller à la recherche
Installation d'Apache2 Paramétrage courant
Aucun résumé des modifications |
|||
(4 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
{{Serveur Web}} | |||
== Présentation == | == Présentation == | ||
'''proFTPd''' est un serveur de fichiers basé sur le protocole '''FTP ''(File Transfer Protocol)'''''. | '''proFTPd''' est un serveur de fichiers basé sur le protocole '''FTP ''(File Transfer Protocol)'''''. | ||
{{ Box Attention | objet=Le protocole FTP est un protocole non sécurisé. Pour cette raison, il est à proscrire. Préférer l'utilisation de SFTP. Pour de plus amples informations, reportez-vous à l'article [[:Installer_Apache2#Configuration_du_service_SSH_pour_SFTP|Configuration du service SSH pour SFTP]]}} | |||
== Installation == | == Installation == | ||
* '''proFTPd''' est inclut dans les dépôts d''''apt-get''' : | |||
proFTPd est inclut dans les dépôts d'apt-get | |||
{{ Box_Console | objet=apt-get install proftpd }} | {{ Box_Console | objet=apt-get install proftpd }} | ||
== Paramétrage == | |||
=== Connexion au serveur === | === Connexion au serveur === | ||
Le service FTP exploite le protocole tcp et écoute sur deux ports : | * Le service FTP exploite le protocole tcp et écoute sur deux ports : | ||
* '''TCP 20 :''' pour le transfert de fichiers; | ** '''TCP 20 :''' pour le transfert de fichiers; | ||
* '''TCP 21 :''' pour l'authentification. | ** '''TCP 21 :''' pour l'authentification. | ||
Cependant, si le serveur est hébergé derrière un | * Cependant, si le serveur est hébergé derrière un pare-feu faisant du '''nat''', il sera indispensable de mettre en place des ports d'écoute supplémentaires pour le '''mode passif'''. | ||
Editer le fichier de configuration '''/etc/proftpd/proftpd.conf''' puis renseigner les deux lignes suivantes : | * Editer le fichier de configuration '''/etc/proftpd/proftpd.conf''' puis renseigner les deux lignes suivantes : | ||
PassivePorts 5000 5020 # choisir une plage de port supérieur à 1024. | PassivePorts 5000 5020 # choisir une plage de port supérieur à 1024. | ||
MasqueradeAddress 193.55.12.65 # adresse IP publique | MasqueradeAddress 193.55.12.65 # adresse IP publique | ||
{{ Box Remarque | objet=Un utilisateur exploitera 5 slots pour le transfert de fichier. Dans l'exemple ci-dessus, 4 utilisateurs maximum pourront effectuer des transferts de fichier. }} | {{ Box Remarque | objet=Un utilisateur exploitera 5 slots pour le transfert de fichier. Dans l'exemple ci-dessus, 4 utilisateurs maximum pourront effectuer des transferts de fichier. }} | ||
=== Limiter les vus des répertoires === | |||
* Par défaut, les utilisateurs ont une vue de l''''arborescence complète''' du disque. Pour limiter cette vue uniquement à leur répertoire '''home''', il suffit de dé-commenter la ligne suivante : | |||
DefaultRoot ~ | |||
=== Module Sql === | === Module Sql === | ||
Le module sql permet de déporter l'authentification sur une base de données SQL. Dans notre cas, nous utiliserons une base de type MySQL. | * Le module sql permet de déporter l'authentification sur une base de données SQL. Dans notre cas, nous utiliserons une base de type MySQL. | ||
{{ Box_Console | objet=apt-get install proftpd-mod-mysql }} | {{ Box_Console | objet=apt-get install proftpd-mod-mysql }} | ||
Ligne 39 : | Ligne 44 : | ||
==== Création des tables ==== | ==== Création des tables ==== | ||
Créer une base de données pour le service proFTPd. Lors de l'authentification, ce dernier ira consulter deux tables : | * Créer une '''base de données''' pour le service '''proFTPd'''. Lors de l'authentification, ce dernier ira consulter deux tables : | ||
* users | ** users | ||
* groups | ** groups | ||
Voici, la structure de ces tables et la requêtes Sql pour leur création : | * Voici, la structure de ces tables et la requêtes Sql pour leur création : | ||
CREATE TABLE users ( | CREATE TABLE users ( | ||
Ligne 62 : | Ligne 67 : | ||
==== Activation de l'authentification MySQL ==== | ==== Activation de l'authentification MySQL ==== | ||
Le service proFTPd doit disposer de trois modules pour gérer l'authentification via une base de données sql/mysql. Pour cela, éditer le fichier de configuration '''/etc/proftpd/modules.conf''' et décommenter les lignes suivantes : | * Le service '''proFTPd''' doit disposer de trois modules pour gérer l''''authentification''' via une base de données '''sql/mysql'''. Pour cela, éditer le fichier de configuration '''/etc/proftpd/modules.conf''' et décommenter les lignes suivantes : | ||
LoadModule mod_sql.c | LoadModule mod_sql.c | ||
LoadModule mod_sql_mysql.c | LoadModule mod_sql_mysql.c | ||
Ligne 69 : | Ligne 74 : | ||
==== Paramètres d'accès à la base ==== | ==== Paramètres d'accès à la base ==== | ||
Pour permettre au service proFTPd d'interroger la base de données MySQL, il faut lui indiquer les informations de connexion et les méthodes d'authentification dans le fichier '''/etc/proftpd/sql.conf''' : | * Pour permettre au service '''proFTPd''' d'interroger la '''base de données MySQL''', il faut lui indiquer les informations de connexion et les méthodes d'authentification dans le fichier '''/etc/proftpd/sql.conf''' : | ||
<IfModule mod_sql.c> | <IfModule mod_sql.c> | ||
SQLBackend mysql | SQLBackend mysql | ||
Ligne 85 : | Ligne 90 : | ||
</IfModule> | </IfModule> | ||
== | == À Propos == | ||
http://www.proftpd.org/docs/howto/SQL.html | * Module MySQL : http://www.proftpd.org/docs/howto/SQL.html |
Dernière version du 13 juillet 2024 à 22:19
— Serveur Web —
Certificats SSL Web | .htaccess | Authentification par carte à puce | Certificats Let's Encrypt
Archives : Ancien article sur Apache2 | Module Whois | ProFTPd
Présentation
proFTPd est un serveur de fichiers basé sur le protocole FTP (File Transfer Protocol).
|
Le protocole FTP est un protocole non sécurisé. Pour cette raison, il est à proscrire. Préférer l'utilisation de SFTP. Pour de plus amples informations, reportez-vous à l'article Configuration du service SSH pour SFTP |
Installation
- proFTPd est inclut dans les dépôts d'apt-get :
|
|
Paramétrage
Connexion au serveur
- Le service FTP exploite le protocole tcp et écoute sur deux ports :
- TCP 20 : pour le transfert de fichiers;
- TCP 21 : pour l'authentification.
- Cependant, si le serveur est hébergé derrière un pare-feu faisant du nat, il sera indispensable de mettre en place des ports d'écoute supplémentaires pour le mode passif.
- Editer le fichier de configuration /etc/proftpd/proftpd.conf puis renseigner les deux lignes suivantes :
PassivePorts 5000 5020 # choisir une plage de port supérieur à 1024. MasqueradeAddress 193.55.12.65 # adresse IP publique
Un utilisateur exploitera 5 slots pour le transfert de fichier. Dans l'exemple ci-dessus, 4 utilisateurs maximum pourront effectuer des transferts de fichier. |
Limiter les vus des répertoires
- Par défaut, les utilisateurs ont une vue de l'arborescence complète du disque. Pour limiter cette vue uniquement à leur répertoire home, il suffit de dé-commenter la ligne suivante :
DefaultRoot ~
Module Sql
- Le module sql permet de déporter l'authentification sur une base de données SQL. Dans notre cas, nous utiliserons une base de type MySQL.
|
|
Authentification Sql
Création des tables
- Créer une base de données pour le service proFTPd. Lors de l'authentification, ce dernier ira consulter deux tables :
- users
- groups
- Voici, la structure de ces tables et la requêtes Sql pour leur création :
CREATE TABLE users ( userid VARCHAR(30) NOT NULL UNIQUE, passwd VARCHAR(80) NOT NULL, uid INTEGER UNIQUE, gid INTEGER, homedir VARCHAR(255), shell VARCHAR(255) )
CREATE TABLE groups ( groupname VARCHAR(30) NOT NULL, gid INTEGER NOT NULL, members VARCHAR(255) )
Activation de l'authentification MySQL
- Le service proFTPd doit disposer de trois modules pour gérer l'authentification via une base de données sql/mysql. Pour cela, éditer le fichier de configuration /etc/proftpd/modules.conf et décommenter les lignes suivantes :
LoadModule mod_sql.c LoadModule mod_sql_mysql.c LoadModule mod_sql_passwd.c
Paramètres d'accès à la base
- Pour permettre au service proFTPd d'interroger la base de données MySQL, il faut lui indiquer les informations de connexion et les méthodes d'authentification dans le fichier /etc/proftpd/sql.conf :
<IfModule mod_sql.c> SQLBackend mysql SQLEngine on SQLAuthenticate on SQLAuthTypes Crypt Plaintext # Paramètres de connexion à la base à adapter : SQLConnectInfo user_proftpd@serveur_sql db_proftps passwd_proftpd # SQLUserInfo users userid passwd uid gid homedir shell SQLGroupInfo groups groupname gid members </IfModule>
À Propos
- Module MySQL : http://www.proftpd.org/docs/howto/SQL.html