O ProFTPD possui um módulo disponível no EPEL pronto para isso, inclusive com controle de quota.
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