ProFTPd
Présentation
proFTPd est un serveur de fichiers basé sur le protocole FTP (File Transfer Protocol).
Installation
Service FTP
proFTPd est inclut dans les dépôts d'apt-get.
|
|
|
Il existe une interface graphique pour gérer le service. Cependant, nous n'aborderons pas ici comment utiliser cette interface. |
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>