Dafür gibt es logfiles.
Ich vermute aber, dass die per Default aus sind.
z.B.
TransferLogWebalizer und awstats können die Logs z.B. auswerten.
http://awstats.sourceforge.net/docs/awstats_faq.html#FTPhttp://www.apachefriends.org/f/viewtopic.php?t=10589Ansonsten kann man sowas auch selbst programmieren.
Proftpd hat da Klasse Funktionen um die Logs in eine MySQL-DB zu schaufeln.
Bei Problemen SQLLogfile zur Fehlersuche nutzen.
Beispiel:
proftpd.conf
AuthOrder mod_sql.c
SQLAuthenticate users groups
SQLAuthTypes Plaintext Empty
SQLConnectInfo ftp@localhost:3306 ftp ftp PERSESSION
SQLNamedQuery history INSERT "'%U', '%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'ok', NULL" history
SQLNamedQuery history_err INSERT "'%U', '%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'nicht ok', NULL" history
SQLLog * history
SQLLOG ERR_* history_err
SQLLogFile /var/log/proftpd/sql.log
MySQL:
USE ftpserver;
#
# Table structure for table 'benutzer'
#
DROP TABLE IF EXISTS benutzer;
CREATE TABLE `benutzer` (
`ID` int(11) unsigned NOT NULL auto_increment,
`owner_id` int(11) unsigned NOT NULL default '0',
`gid` tinyint(3) unsigned default '1',
`beschreibung` text,
`loginname` varchar(60) NOT NULL default '',
`passwort` varchar(16) NOT NULL default '',
`verzeichnis` varchar(255) NOT NULL default '/',
`anmerkung` text,
`login_count` int(10) unsigned default '0',
`add_datum` datetime default NULL,
`gueltig_bis` datetime default NULL,
`last_login` datetime default NULL,
`active` set('on','off') default 'on',
`hidden` set('true','false') NOT NULL default 'false',
`deleted` set('true','false') NOT NULL default 'false',
PRIMARY KEY (`ID`),
UNIQUE KEY `Login` (`loginname`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1 COMMENT='FTP-Benutzer fr den Server';
#
# Table structure for table 'gruppen'
#
DROP TABLE IF EXISTS gruppen;
CREATE TABLE `gruppen` (
`ID` tinyint(3) unsigned NOT NULL auto_increment,
`name` varchar(16) NOT NULL default '',
`mitglieder` text,
`basedir` varchar(30) default NULL,
UNIQUE KEY `ID` (`ID`,`name`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1 COMMENT='FTP-Benutzergruppen fr den Server';
#
# Table structure for table 'history'
#
DROP TABLE IF EXISTS history;
CREATE TABLE `history` (
`loginname` varchar(30) default NULL,
`filename` text,
`size` bigint(20) default NULL,
`host` varchar(80) default NULL,
`ip` varchar(16) default NULL,
`aktion` varchar(255) default NULL,
`dauer` varchar(10) default NULL,
`zeit_lokal` datetime default NULL,
`status` set('ok','nicht ok') default NULL,
`ui` bigint(20) NOT NULL auto_increment,
PRIMARY KEY (`ui`),
KEY `zeit` (`zeit_lokal`),
KEY `loginname` (`loginname`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1 COMMENT='FTP-Befehlshistory fr den Server';
Beispieldatensätze:
loginname,filename,size,host,ip,aktion,dauer,zeit_lokal,status,ui
otto,mirc603.exe,0,10.138.237.24,10.138.237.24,DELE,0,2003-05-07 14:22:12,ok,1
otto,/www/vhosts/ftp/otto/prog.exe,2535424,10.138.237.24,10.138.237.24,STOR,52,2003-05-07 14:28:46,ok,2
otto,/www/vhosts/ftp/otto/prog.exe,2535424,10.138.237.24,10.138.237.24,RETR,7,2003-05-07 14:30:32,ok,3