O ProFTPD possui um módulo disponível no EPEL pronto para isso, inclusive com controle de quota.

Tutorial: http://heker86.wordpress.com/2008/10/21/how-to-install-and-configure-proftpd-with-integrate-the-mysql/

Observação: Nesse tutorial é usado SQLHomedirOnDemand,que não existe mais. Considere o comando CreateHome.

Para um log mais completo dos acessos, alterei o engine para InnoDB, criei uma tabela com o log dos acessos, e uma trigger que a alimenta automaticamente:

CREATE TABLE `ftpaccesslog` (
 `access_id` int(10) NOT NULL auto_increment,
 `userid` varchar(32) NOT NULL,
 `data_acesso` date NOT NULL,
 `hora_acesso` time NOT NULL,
 PRIMARY KEY  (`access_id`),
 KEY `userid` (`userid`),
 KEY `data_acesso` (`data_acesso`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DELIMITER //
CREATE TRIGGER tr_acces_log AFTER UPDATE ON ftpuser
  FOR EACH ROW BEGIN
  IF NEW.count > OLD.count THEN
    INSERT INTO ftpaccesslog (userid, data_acesso, hora_acesso) 
    VALUES (NEW.userid, NOW(), NOW());
  END IF;
END;
//
DELIMITER ;

Site do projeto: http://www.proftpd.org/docs/howto/SQL.html

Facebooktwitterredditpinterestlinkedinmail