Proftpd
Installation
Paquets necessaires : proftpd
,proftpd-mysql
, mysql
.
Configuration
/etc/proftpd.conf
: fichier de configuration principal, il faudrait éviter de l'éditer directement./etc/proftpd
: dossier contenant la suite de la configuration séparée en différement fichiers en fonction des fonctionnalités :/etc/proftpd/modules.conf
: contient la liste des modules proftpd chargés ;/etc/proftpd/sql.conf
: configuration de la liaison avec mysql pour gérer les utilisateurs virtuels (actuellement l'authentification mysql est la méthode principale et authoritaire);/etc/proftpd/tls.conf
: configuration du chiffrage des connexion avec TLS.
Gestion des utilisateurs avec MySQL
La base de donnée utilisée pour l'authentification est timonier
, accessible avec l'utilisateur homonyme, le mot de passe peut être trouvé dans le fichier de configuration de sql pour proftpd (voir ci-dessus).
La structure de la base de donnée est la suivante :
- Table
ftpusers
, le mot de passe du champspassword
doit être hashé avec la méthode native de mysqlPASSWORD()
:
id | username | password | uid | gid | homedir | shell |
---|
- Table
ftpgroups
, doit contenir une entrée pour chaque utilisateur de la tableftpuser
:
groupname | gid | members |
---|
Pour plus de renseignements sur les type des champs, le script suivant à été utilisé pour créer la base de donnée :
drop table if exists ftpusers;
drop table if exists ftpgroups;
create table `ftpusers` (
`id` int(10) unsigned not null auto_increment,
`username` varchar(32) not null,
`password` varchar(42) not null,
`uid` smallint(6) not null,
`gid` smallint(6) not null,
`homedir` varchar(255) not null,
`shell` varchar(32) not null,
primary key(`id`),
unique key (`username`, `uid`)
) engine=InnoDB default charset=utf8;
create table `ftpgroups` (
`groupname` varchar(32) not null,
`gid` smallint(10) not null,
`members` varchar(255) default ''
) engine=InnoDB default charset=utf8
Pas de commentaires