ServerType standalone
MaxInstances 30
MultilineRFC2228 On
RootLogin Off
UseReverseDNS Off
PersistentPasswd Off
AllowLogSymlinks Off
RequireValidShell Off
tcpNoDelay On
PidFile /var/run/proftpd/proftpd.pid
ScoreboardFile /usr/local/var/proftpd/proftpd.scoreboard
TransferRate RETR,STOR 4096:52428800
ListOptions +R strict
AllowOverride off
WtmpLog off
SQLLogfile /www/vhosts/administration/proftpd_sql.log
TLSProtocol TLSv1
TLSRSACertificateFile /www/secure/MyFTP.cert
TLSRSACertificateKeyFile /www/secure/MyFTP.key
TLSCACertificateFile /www/secure/MyCA.cert
User www
Group www
LogFormat defaultftp "%h %l %u %t %r %s %b"
LogFormat ftpqueue "%h %l %u %t %r %s %b"
AccessDenyMsg "Zugriff verweigert! (%u)"
AccessGrantMsg "Herzlich Willkommen %u!"
AllowFilter "^[a-zA-Z0-9]*"
AllowForeignAddress On
AllowOverwrite On
AllowRetrieveRestart On
#AllowStoreRestart On
AuthAliasOnly Off
DeleteAbortedStores On
DirFakeGroup On ftp
DirFakeMode 700
DirFakeUser On ftp
DisplayConnect /www/vhosts/ftp/21/.DisplayConnect.msg
DisplayFirstChdir .DisplayFirstChdir.msg
DisplayGoAway .DisplayGoAway.msg
DisplayQuit .DisplayQuit.msg
ExtendedLog /www/vhosts/administration/proftpd_anonftp.log ALL defaultftp
HiddenStor Off
IdentLookups Off
LoginPasswordPrompt Off
MaxClients 20 "FEHLER: Es sind bereits %m Benutzer verbunden!"
MaxClientsPerHost 20 "FEHLER: Es sind bereits %m Benutzer verbunden!"
MaxHostsPerUser 20 "FEHLER: Dieser Benutzer ist bereits von %m Rechnern verbunden!"
MaxLoginAttempts 2
PathDenyFilter "(\\.ftpaccess)|(\\.htaccess)|(\\.welcome.msg)|(\\.dirinfo.msg)|(\\.login.msg)"
Port 21
RequireValidShell Off
ServerAdmin ich@domain.de
ServerIdent On "Mein - FTP-Server"
ServerName "Mein - FTP-Server"
ShowSymlinks Off
SyslogLevel notice
Umask 0111 0000
SQLAuthenticate users* groups*
SQLAuthTypes Backend Empty
SQLConnectInfo ftp@localhost:3306 ftp ftp PERSESSION
SQLDefaultGID 502
SQLDefaultUID 502
SQLHomedirOnDemand On
SQLUserInfo benutzer loginname passwort NULL NULL concat('/www',verzeichnis) NULL
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
SQLGroupInfo gruppen name ID mitglieder
TimeoutIdle 3600
TimeoutLogin 30
TimeoutNoTransfer 3600
TimeoutStalled 3600
TimesGMT Off
<Global>
DefaultChdir ~
DefaultRoot ~
DefaultTransferMode binary
DeferWelcome Off
PassivePorts 49152 65534
UseGlobbing On
UseFtpUsers Off
</Global>
<IfGroup "AND" !schreibrechte,!administratoren>
<Directory ~>
<Limit WRITE SITE_CHMOD DELE>
DenyAll
</Limit>
<Limit READ DIRS>
IgnoreHidden On
AllowAll
</Limit>
</Directory>
<Directory ~/uploads>
<Limit SITE_CHMOD DELE>
DenyAll
</Limit>
<Limit WRITE READ DIRS>
AllowAll
DenyAll
</Limit>
</Directory>
</IfGroup>
USE ftp;
#
# Table structure for table 'benutzer'
#
DROP TABLE IF EXISTS benutzer;
CREATE TABLE `benutzer` (
`ID` int(11) unsigned NOT NULL default '0',
`Beschreibung` varchar(30) default NULL,
`loginname` varchar(32) NOT NULL default '',
`passwort` varchar(16) NOT NULL default '',
`Shell` varchar(255) default NULL,
`verzeichnis` varchar(255) NOT NULL default '/',
`Anmerkung` text,
PRIMARY KEY (`loginname`,`ID`)
) TYPE=MyISAM COMMENT='FTP-Benutzer für den FTP-Server auf Port 21';
#
# Dumping data for table 'benutzer'
#
INSERT INTO benutzer (ID, Beschreibung, loginname, passwort, Shell, verzeichnis, Anmerkung) VALUES("0", "Admin", "ftpadmin", "2009d4fa11e1f29", NULL, "/vhosts/ftp", "Admin");
INSERT INTO benutzer (ID, Beschreibung, loginname, passwort, Shell, verzeichnis, Anmerkung) VALUES("1", "Anonymous", "anonymous", "", NULL, "/vhosts/ftp/21", "Anonymer Zugang");
INSERT INTO benutzer (ID, Beschreibung, loginname, passwort, Shell, verzeichnis, Anmerkung) VALUES("2", "Berta", "berta", "2009eefa11e1f29", NULL, "/vhosts/ftp/21", "Bertas Zugang");
INSERT INTO benutzer (ID, Beschreibung, loginname, passwort, Shell, verzeichnis, Anmerkung) VALUES("3", "Paul", "paul", "30141e3a11e1a24", NULL, "/vhosts/ftp/21", "Bertas Zugang");
#
# 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,
UNIQUE KEY `ID` (`ID`,`name`)
) TYPE=MyISAM COMMENT='FTP-Benutzergruppen für den FTP-Server auf Port 21';
#
# Dumping data for table 'gruppen'
#
INSERT INTO gruppen (ID, name, mitglieder) VALUES("3", "administratoren", "ftpadmin");
INSERT INTO gruppen (ID, name, mitglieder) VALUES("1", "schreibrechte", "berta,paul");
#
# Table structure for table 'history'
#
DROP TABLE IF EXISTS history;
CREATE TABLE `history` (
`loginname` varchar(30) default NULL,
`identname` 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','test') default NULL,
`ui` bigint(20) NOT NULL auto_increment,
PRIMARY KEY (`ui`)
) TYPE=MyISAM COMMENT='Ausgeführte FTP-Befehle auf FTP-Server auf Port 21';