ServerName "FTP Server MMS - Heidelberg"
ServerType standalone
DefaultServer on
RequireValidShell off
AuthPAM on
AuthPAMConfig ftp
AuthPAMAuthoritative off
Port 21 #Port 21 is the standard FTP port.
Umask 022 #Festlegen der Rechte für Dateien und Verzeichnisse
RootLogin off #Einloggen auf den FTP - Server als Root nicht möglich
TimeoutStalled 600 #Sekunden, die der Server ohne Datentransfer online bleibt
User ftp
Group ftp
<Directory /home>
AllowOverwrite on #Überschreiben von Dateien und Verzeichnissen aktiviert
</Directory>
DefaultRoot ~
AccessDenyMsg "Zugriff für %u ist verweigert wurden! Überprüfen Sie bitte, ob die Feststelltaste aktiviert ist."
AccessGrantMsg "Sie sind angemeldet als %u."
AllowForeignAddress off #Verhindert das Datenadresse != Clientadresse
AllowRetrieveRestart on #Ermöglicht das Fortsetzen abgebrochener Downloads
AllowStoreRestart on #Ermöglicht das Fortsetzen abgebrochener Uploads
MaxLoginAttempts 3 #Anzahl der Versuche für die Passworteingabe
MaxClients 10 "Fehler: Es sind bereits %m Clients angemeldet" #Anzahl der Anmeldungenen an den Server
MaxClientsPerHost 2 "Sie sind bereits angemeldet" #Anzahl der Anmeldungenen pro Client
MaxInstances 30 #Anzahl der Prozesse
TransferLog /var/log/proftp.xferlog #Dokumentieren des Datentransfers
SQLLogFile /var/log/proftpd_sql.log
ScoreboardFile /var/run/scoreboard.log
LogFormat default "%h %I %u %t \"%r\" %s %b"
LogFormat auth "%v [%P] %h %t \"%r\" %s"
LogFormat write "%h %I %u %t \"%r\" %s %b"
ExtendedLog /var/log/proftp.access_log WRITE, READ write
ExtendedLog /var/log/proftp.auth_log AUTH write
ExtendedLog /var/log/proftp.paranoid_log ALL default
SQLAuthTypes Backend #Passwort wird verschlüsselt aus der Datenbank extrahiert
SQLAuthenticate users* groups* #2 Tabellen werden mit integriert
SQLConnectInfo db@bla.de #Serverauthentifizierung
SQLUserInfo users userid passwd uid gid homedir last_login counter #Userabfrage
SQLGroupinfo groups groupname gid members #Gruppenabfrage
SQLDefaultGID 65534
SQLDefaultUID 65534
SQLMinUserGID 100
SQLMinUserUID 500
SQLHomedirOnDemand on #Falls kein Homedirectory existiert wird eins erstellt
SQLLog PASS counter
SQLNamedQuery counter UPDATE "last_login=now(), counter=counter+1 WHERE userid='%u'" users
<Directory /home/"/*/= Users =/*/"> #Rechtevergabe für das Homeverzeichnis in Abhängigkeit
<Limit STOR CWD> #von der Gruppe
AllowGroup users
</Limit>
<Limit MKD DELE STOR RMD CWD RETR READ WRITE>
AllowGroup admin
</Limit>
<Limit CWD READ>
AllowGroup installer
</Limit>
</Directory>