Différences entre les versions de « Proftpd »
(Page créée avec « * Configuration pour que l'authentification des users se fasse via une base mysql <pre> <IfModule mod_sql.c> SQLBackend mysql </IfModule> SQLAuthTypes Plaintext... ») |
|||
| (3 versions intermédiaires par 3 utilisateurs non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
__FORCETOC__ | |||
=== Configuration proftpd === | |||
* Ip privée natée | |||
Si le serveur ftp a juste une ip privée qui est natée sur une ip publique, il faut rajouter une ligne de conf : MasqueradeAddress $ip_publique, sinon le serveur envoie son addresse privé pour établir la connexion data et cela ne fonctionnera pas | |||
* Configuration pour que l'authentification des users se fasse via une base mysql | * Configuration pour que l'authentification des users se fasse via une base mysql | ||
<pre> | <pre> | ||
| Ligne 35 : | Ligne 42 : | ||
) TYPE=MyISAM COMMENT='Table des utlisateurs ProFTPD'; | ) TYPE=MyISAM COMMENT='Table des utlisateurs ProFTPD'; | ||
CREATE TABLE `ftpuser` ( `id` int(10) unsigned NOT NULL auto_increment, `userid` varchar(32) NOT NULL default '', `passwd` varchar(32) NOT NULL default '', `uid` smallint(6) NOT NULL default '5500', `gid` smallint(6) NOT NULL default '5500', `homedir` varchar(255) NOT NULL default '', `shell` varchar(16) NOT NULL default '/bin/false', `count` int(11) NOT NULL default '0', `accessed` datetime NOT NULL default '0000-00-00 00:00:00', `modified` datetime NOT NULL default '0000-00-00 00:00:00', `LoginAllowed` enum('true','false') NOT NULL default 'true', PRIMARY KEY (`id`) ) TYPE=MyISAM COMMENT='Table des utlisateurs ProFTPD'; | CREATE TABLE `ftpuser` ( `id` int(10) unsigned NOT NULL auto_increment, `userid` varchar(32) NOT NULL default '', `passwd` varchar(32) NOT NULL default '', | ||
`uid` smallint(6) NOT NULL default '5500', `gid` smallint(6) NOT NULL default '5500', `homedir` varchar(255) NOT NULL default '', `shell` varchar(16) NOT | |||
NULL default '/bin/false', `count` int(11) NOT NULL default '0', `accessed` datetime NOT NULL default '0000-00-00 00:00:00', `modified` datetime NOT NULL | |||
default '0000-00-00 00:00:00', `LoginAllowed` enum('true','false') NOT NULL default 'true', PRIMARY KEY (`id`) ) TYPE=MyISAM COMMENT='Table des utlisateurs | |||
ProFTPD'; | |||
</pre> | |||
=== Problématique multi user avec droits sur plusieurs répertoires === | |||
Il arrive souvent que le client désire plusieurs compte ftp avec certains comptes qui peuvent écrire dans plusieurs répertoires qui sont aussi utilisés par d'autres users ftp. | |||
La meilleur solution est de créer autant de groupe au niveau du system (dans vigr) correspondant à chaque répertoire (nom du groupe pareil que celui du répertoire), de faire un setgid sur les répertoires, et de modifier le umask de proftp en 002 afin que le groupe ait les droits d'écriture. | |||
Cela est plus sécurisé de mettre les user dans les groupes de user, car si on veut que le user x puisse écrire dans le répertoire du user y, on ne veut pas forcément que le user y puisse écrire dans le répertoire du user x; ce qui est inévitable si on met les user dans le group des autres users. | |||
<pre> | |||
[root@prod01.leduff sites]# ll | |||
total 76 | |||
drwxrwsr-x 2 root mobile.delarte.fr 4096 Aug 21 12:54 mobile.delarte.fr | |||
drwxrwsr-x 2 root recrutement.delarte.fr 4096 Aug 21 12:44 recrutement.delarte.fr | |||
drwxrwsr-x 2 root recrutement.groupeleduff.com 4096 Aug 21 14:35 recrutement.groupeleduff.com | |||
drwxrwsr-x 2 root serviceclient.delarte.fr 4096 Aug 21 12:59 serviceclient.delarte.fr | |||
</pre> | </pre> | ||
[[Catégorie:Software]] | [[Catégorie:Software]] | ||
Version actuelle datée du 22 août 2014 à 08:41
Configuration proftpd[modifier]
- Ip privée natée
Si le serveur ftp a juste une ip privée qui est natée sur une ip publique, il faut rajouter une ligne de conf : MasqueradeAddress $ip_publique, sinon le serveur envoie son addresse privé pour établir la connexion data et cela ne fonctionnera pas
- Configuration pour que l'authentification des users se fasse via une base mysql
<IfModule mod_sql.c> SQLBackend mysql </IfModule> SQLAuthTypes Plaintext SQLAuthenticate users* SQLConnectInfo proftpd@localhost usermysql motdepasse SQLHomedirOnDemand on SQLUserInfo ftpuser userid passwd uid gid homedir shell SQLUserWhereClause "LoginAllowed = 'true'" SQLDefaultGID 5000
- Structure de la base mysql
CREATE DATABASE `proftpd`;
USE proftpd;
CREATE TABLE `ftpuser` (
`id` int(10) unsigned NOT NULL auto_increment,
`userid` varchar(32) NOT NULL default '',
`passwd` varchar(32) NOT NULL default '',
`uid` smallint(6) NOT NULL default '5500',
`gid` smallint(6) NOT NULL default '5500',
`homedir` varchar(255) NOT NULL default '',
`shell` varchar(16) NOT NULL default '/bin/false',
`count` int(11) NOT NULL default '0',
`accessed` datetime NOT NULL default '0000-00-00 00:00:00',
`modified` datetime NOT NULL default '0000-00-00 00:00:00',
`LoginAllowed` enum('true','false') NOT NULL default 'true',
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT='Table des utlisateurs ProFTPD';
CREATE TABLE `ftpuser` ( `id` int(10) unsigned NOT NULL auto_increment, `userid` varchar(32) NOT NULL default '', `passwd` varchar(32) NOT NULL default '',
`uid` smallint(6) NOT NULL default '5500', `gid` smallint(6) NOT NULL default '5500', `homedir` varchar(255) NOT NULL default '', `shell` varchar(16) NOT
NULL default '/bin/false', `count` int(11) NOT NULL default '0', `accessed` datetime NOT NULL default '0000-00-00 00:00:00', `modified` datetime NOT NULL
default '0000-00-00 00:00:00', `LoginAllowed` enum('true','false') NOT NULL default 'true', PRIMARY KEY (`id`) ) TYPE=MyISAM COMMENT='Table des utlisateurs
ProFTPD';
Problématique multi user avec droits sur plusieurs répertoires[modifier]
Il arrive souvent que le client désire plusieurs compte ftp avec certains comptes qui peuvent écrire dans plusieurs répertoires qui sont aussi utilisés par d'autres users ftp. La meilleur solution est de créer autant de groupe au niveau du system (dans vigr) correspondant à chaque répertoire (nom du groupe pareil que celui du répertoire), de faire un setgid sur les répertoires, et de modifier le umask de proftp en 002 afin que le groupe ait les droits d'écriture. Cela est plus sécurisé de mettre les user dans les groupes de user, car si on veut que le user x puisse écrire dans le répertoire du user y, on ne veut pas forcément que le user y puisse écrire dans le répertoire du user x; ce qui est inévitable si on met les user dans le group des autres users.
[root@prod01.leduff sites]# ll total 76 drwxrwsr-x 2 root mobile.delarte.fr 4096 Aug 21 12:54 mobile.delarte.fr drwxrwsr-x 2 root recrutement.delarte.fr 4096 Aug 21 12:44 recrutement.delarte.fr drwxrwsr-x 2 root recrutement.groupeleduff.com 4096 Aug 21 14:35 recrutement.groupeleduff.com drwxrwsr-x 2 root serviceclient.delarte.fr 4096 Aug 21 12:59 serviceclient.delarte.fr