Hier der Inhalt von proftpd.conf:
# /etc/proftpd.conf
# created by bitworld
# Proftpd
# Date: 20.03.2004
#------------------------------------------------------------------------------
# Allgemeine Informationen
#------------------------------------------------------------------------------
# Installation unter SuSE:
# 1. Unter www.proftpd.de die aktuelle Version downloaden.
# 2. Entpacken mit "tar -zxf <Paketname>"
# 3. ./configure --enable shadow --prefix=/usr/local/ --sysconfdir=/etc
# 4. make
# 5. make install
# 6. Kopieren von dieser Datei nach "/etc"
# 7. Wenn man den ftpd über die inetd.conf starten möchte, deaktiviert man
# alle anderen Zeilen mit ftp am Anfang mit einem "#". Dann fügt man
# folgende Zeile ein:
# ftp stream tcp nowait root /usr/local/sbin/proftpd proftpd
# Danach den inetd neu starten mit: /etc/init.d/inetd restart.
# 8. Ansonsten in der proftpd.conf den ServerType auf standalone stellen.
#------------------------------------------------------------------------------
# Folgende Ports müssen freigeschaltet werden.
# TCP:
# UDP:
#================================================= =============================
# Grundeinstellungen
#================================================= =============================
# Gibt den Namen des Servers an, den der User sieht.
# Standard: "ProFTPD Server [version]"
ServerName "PATATORs FTP-Server"
#------------------------------------------------------------------------------
# Gibt die E-Mail Adresse des Admins an.
# Standard: root@[ServerName]
ServerAdmin patator@patator.de
#------------------------------------------------------------------------------
# Gibt an, auf welche Weise der Server gestartet wird. Als "standalone" wird
# der Server manuell oder per Script über den Runlevel, oder als Dienst der in
# der "inet.d" eingetragen ist.
# Standard: standalone
ServerType standalone
#------------------------------------------------------------------------------
# Gibt an, auf welchen Port der Server im Standalone auf ankommende Verbindung
# lauscht. Die Anweisung hat keine Funktion im inetd Modus. Diese Anweisung
# kann auch in Verbindung mit <VirtualHost> benutzt werden, um verschiedene
# FTP Server auf einer IP, jedoch auf verschiedene Ports, zu betreiben.
# Standard: 21
Port 21
#------------------------------------------------------------------------------
# Schränkt den Antwortkanal ein
# PassivePorts restricts the range of ports from which the server will select
# when sent the PASV command from a client. The server will randomly choose a
# number from within the specified range until an open port is found. Should
# no open ports be found within the given range, the server will default to a
# normal kernel-assigned port, and a message logged. The port range selected
# must be in the non-privileged range (eg greater than or equal to 1024); it
# is STRONGLY RECOMMENDED that the chosen range be large enough to handle many
# simultaneous passive connections (for example, 49152-65534, the IANA-
# registered ephemeral port range.
#PassivePorts 5000 5100
PassivePorts 5000 5100
#------------------------------------------------------------------------------
# The ServerIdent directive sets the default message displayed when a new
# client connects. Setting this to off displays "[hostname] FTP server ready."
# If set to on, the directive can take an optional string argument, which will
# be displayed instead of the default text. Sites desiring to give out minimal
# information will probably want a setting like ServerIdent on "FTP Server
# ready.", which won't even reveal the hostname.
# Standard: ProFTPD [version] Server (server name) [hostname]
ServerIdent on
#------------------------------------------------------------------------------
# Gibt an, welche Server Konfiguration verwendet wird, wenn eine ankommende
# Verbindung für eine IP Adresse bestimmt ist, die weder die Primäre IP Adresse
# vom Rechner ist, noch in einem <VirtualHost> Block angegeben ist.
# Normalerweise wird solchen unbekannten Verbindungen eine "no server available
# to service your request" Nachricht geschickt und die Verbindung unterbrochen.
# Wenn "DefaultServer" gesetzt ist (sei es in der normalen Server konfiguration
# oder in einem virtuellen Server), so werden alle unbekannten Verbindung von
# diesem Standard Server bearbeitet. Es kann nur ein Server als Default gesetzt
# werden.
# Standard: off
DefaultServer on
#------------------------------------------------------------------------------
# Gibt die Standard Datei-Rechte für neu erstellte Dateien oder Ordner an.
# Standard: None
Umask 022
ListOptions "-A"
#------------------------------------------------------------------------------
# Gibt an, unter welchem User der Server normalerweise läuft. Standardmäßig
# läuft der Server unter "Root", was natürlich unerwünscht ist. Die "User" An-
# weisung in Verbindung mit der "Group" Anweisung gibt an, daß der Server
# schnellstmöglich nach dem Start zu diesen User/Gruppe wechselt.
# Standard: root
User ftp
#------------------------------------------------------------------------------
# Die "Group" Anweisung gibt an, unter welcher Gruppe der Server normalerweise
# läuft.
# Standard: root
Group ftpuser
#------------------------------------------------------------------------------
# Normalerweise, wird bei eingehenden aktiven Datenverbindungen und ausgehen-
# den passiven Datenverbindungen eine DNS Abfrage (reverse DNS) gemacht, um
# die IP aufzulösen. In einer chrooten Umgebung (wie z.B. <Anonymous> oder
# DefaultRoot), ist die /etc/hosts Datei nicht erreichbar und die einzigste
# Möglichkeit ist die Auflösung per DNS Abfrage. Sollte aus gewissen Gründen
# diese Abfrage nicht möglich sein, wird proftpd solange blockiert, bis ein
# Timeout signalisiert wird. Hier sollte dann die Abfrage disabled werden.
# Standard: on
UseReverseDNS off
#------------------------------------------------------------------------------
# Normally, when a client initially connects to proftpd, the ident protocol
# (RFC1413) is used to attempt to identify the remote username. This can be
# controlled via the IdentLookups directive.
# Standard: on
IdentLookups off
#------------------------------------------------------------------------------
# Normalerweise erlaubt ProFTPD keine Anmeldung als Root. Sollte ein Client
# dieses Versuchen und dabei das richtige Password benutzen, wird per syslog
# eine Meldung verschickt, die Anmeldung aber (natürlich) verweigert. Mit
# dieser Anweisung kann man nun root erlauben, sich ebenfalls per FTP anzumelden.
# Anmerkung: Bei FTP wird das Passwort unverschlüsselt übertragen. Wer
# dieses ernsthaft bei einem Server erlaubt, kann genauso gut wieder auf
# Windows 98 umsteigen und alle Verzeichnisse freigeben.
# Standard: off
RootLogin off
#------------------------------------------------------------------------------
# Definiert eine alternatives "passwd" Datei, die das gleiche Format wie das
# normale "/etc/passwd" file hat. Diese Datei kann dann zur Authentifizierung
# der User herangezogeb werden. "AuthUserFile" kann pe virtuellen Host an-
# gegeben werden, so dass fuer jeden viruellen Host eine Users Verwaltung
# moeglich ist. Ausserdem kann so die Userverwaltung fuer FTP relativ einfach
# von den normalen Systemusern getrennt werden.
# Das File muss NICHT innerhalb der chroot()ed directory Verzeichnisstruktur
# liegen, da es waehrend der gesamten Verbindungszeit offen bliebt.
AuthGroupFile /etc/group
#------------------------------------------------------------------------------
# Die "DeleteAbortedStores" Anweisung bestimmt, ob PROFTPD abgebrochende
# Uploads wieder löschen soll.
# Standard: off
DeleteAbortedStores off
#------------------------------------------------------------------------------
# Die "ShowSymlinks" Anweisung bestimmt ob symbolische Links ünterstützt werden.
# Standard: on
ShowSymlinks on
#------------------------------------------------------------------------------
# Die "DeferWelcome" Direktive verzögert für einen Master oder Virtuellen
# Server die Übermittlung vom Server Namen und Adressen, bis der Client sich
# erfolgreich angemeldet hat. Ist diese Direktive aktiv, wird die anfängliche
# Willkommensnachricht keine Informationen über Server etc. preisgeben.
# Standard: off
DeferWelcome on
#================================================= =============================
# Meldungen
#================================================= =============================
# Gibt die ASCII-Text Datei an, das dem User sofort nach seinem Login angezeigt
# bekommt. Der Filenamen kann entwerder absolut oder relativ angegeben werden.
# Im Falle eines relativen Filenamen wird das erste Verzeichnis durchsucht, in
# dem sich der Benutzer nach dem Login befindet.
# ACHTUNG: bei chroot(ed) Verzeichnissen, bei denen also der User in ein
# Verzeichnis eingesperrt ist, muss das Textfile innerhalb dieses Verzeichnis
# erreichbar sein. Bei unterschiedlichen Verzeichnisse (z.B. User in /home,
# Gast in /net) muß man ggf. mit Links arbeiten.
# Wenn das File nicht gefunden wird, dann wird nichts anzeigt, auch keine
# Fehlermeldung wird geloggt.
# Folgende Platzhalter können in dem Textfile benutzt werden:
# %T aktuelle Zeit
# %F verfügbarer Platz auf dem Dateisystem
# %C aktuelles Verzeichnis
# %R Remote Rechner Name
# %L Lokaler Rechner Name
# %u Benutzername, der vom ident Protokoll übergeben wurde
# %U Benutzername, der beim Login übergeben wurde
# %M maximale Anzahl von Verbindungen
# %N aktuelle Anzahl von Verbindungen
# %E Email Adresse vom Admin
# %x der Name der Benutzer Klasse
# %y aktuelle Anzahl der Verbindung in der Klasse des Users
# %z maximale Anzahl der Verbindung in der Klasse des Users
# Standard: None
DisplayLogin .login
#------------------------------------------------------------------------------
# Gibt die ASCII-Text Datei an, die dem User beim ersten Wechsel in ein Ver-
# zeichnis per FTP Verbindung angezeigt wird. Die Datei wird außerdem angezeigt,
# wenn PROFTPD erkennt, daß das Verzeichnis seit dem letzten Besuch geändert
# wurde. Wenn der Dateiname relativ angeben wurde, wird zuerst das Verzeichnis
# durchsucht, in das der User wechselt. Es gelten die gleichen Beschränkungen
# und Variablen, die unter "DisplayLogin" angegeben sind.
# Standard: None
DisplayFirstChdir .firstchdir
#------------------------------------------------------------------------------
# Gibt die ASCII-Text Datei an, die dem User angzeigt wird, nachdem er zum
# Server connected hat, jedoch bevor er einloggt.
# Die angegebene Datei kann entweder relativ oder absolut angeben werden. Im
# Falle einer relativen Angabe, wird die Datei zuerst im Homeverzeichnis des
# unter "User" angegebenen Benutzers gesucht. Da dieses zu Unklarheiten führen
# kann, wird empfohlen mit absoluten Pfadangaben zu arbeiten. Es gelten die
# Variablen, die unter "DisplayLogin" angegeben sind.
# Standard: None
DisplayConnect .connect
#------------------------------------------------------------------------------
# Gibt die ASCII-Text Datei an, das dem User angezeigt wird, wenn er die
# Verbindung beendet. Die Angabe kann wie immer relativ oder absolut erfolgen.
# Bei relativer Angabe wird die Datei im Verzeichnis gesucht, in dem sich der
# User gerade befindet. Daher sind absolute Pfadangaben im Normalfall zu
# bevorzugen. Es gelten die gleichen Beschränkungen und Variablen, die unter
# "DisplayLogin" angegeben sind.
# Standard: None
DisplayQuit .quit
#------------------------------------------------------------------------------
# Gibt die ASCII-Text Datei an, die dem User angezeigt wird, wenn von seiner
# Klasse zu viele Benutzer eingeloggt sind und sein Login abgelehnt wird.
# Es gelten die gleichen Beschränkungen und Variablen, die unter "DisplayLogin"
# angegeben sind.
# Standard: None
DisplayGoAway .goaway
#------------------------------------------------------------------------------
# Unterrichtet den User von der letzten Änderung einer (oder mehrerer) Dateien.
# Pro Konfiguration darf nur eine "DisplayReadme" Anweisung benutzt werden.
# Beispiel 1: "DisplayReadme README" ergibt:
# Please read the File README it was last modified on SUN Oct 17 10:36:14 1999
# - 0 days ago
# Beispiel 2: "DisplayReadmePattern README*" ergibt:
# Please read the file README it was last modified on Tue Jan 25 04:47:48 2000
# - 0 days ago. Please read the file README.first it was last modified on Tue
# Jan 25 04:48:04 2000 - 0 days ago
# Standard: None
# DisplayReadme README
#================================================= =============================
# Beschränkungen
#================================================= =============================
# Gibt einen regulären Ausdruck an, der nicht als Kommando gesendet werden
# darf. Wird der reguläre Ausdruck gefunden, so wird ein "Forbidden Command" an
# den Client gesendet. Dieses ist u.a. sinnvoll um gewisse Befehlskombinationen
# zu verbieten.
# Standard: None
DenyFilter "%"
#------------------------------------------------------------------------------
# Gibt an, wie viele Child Prozesse vom Haupt PROFTPD Prozess im Standalone
# Modus erzeugt werden können. Diese Anweisung hat keine Auswirkung, wenn man
# den Server im Inetd Modus betreibt. Da jeder Tochterprozess auch eine
# einzelne Verbindung mit einem Client darstellt, kontrolliert diese Anweisung
# auch die maximale Anzahl gleichzeitiger Verbindungen. Über diese Anzahl
# hinausgehende Verbindungen werden mit syslogd protokolliert und ohne Meldung
# beendet. Diese Anweisung kann dazu verwendet werden, Denial-Of-Service
# Attacken zu verhindern, die durch eine Unmenge von Verbindungsaufrufen eine
# "Fork-Bomb" erzeugen wollen.
# Standard: None
MaxInstances 10
#------------------------------------------------------------------------------
# Gibt die maximale Anzahl der angemeldeten Clients (inklusive anonymen Zugang)
# an Server an. Ist dieses Limit erreicht, werden neuen Verbindungen beim
# Anmelden unterbrochen. Die spezielle Angabe "none" entfernt alle Verbindungs-
# beschränkungen. Es kann eine optionale Nachricht übergeben werden, die dem
# Client unmittelbar vor dem Abbruch der Verbindung angezeigt wird, falls der
# Maximalwert erreicht wird. Als Platzhalter kann "%m" in der Nachricht
# übergeben werden, die die maximale Anzahl enthält. Wird keine Nachricht über-
# geben, so wird die Standard Meldung benutzt.
# Standard: None
MaxClients 15 "Sorry, es sind bereits %m User verbunden! Bitte probier es später nocheinmal."
#------------------------------------------------------------------------------
# Die "MaxClientsPerHost" Anweisung konfiguriert die Maximale Anzahl von
# Clients, die sich von einem Rechner einloggen können. Optional kann an-
# gegeben werden, welche Nachricht dem Client geschickt werden soll, falls die
# maximale Anzahl erreicht ist. Wenn keine Nachricht angegeben wird, wird die
# Systemweite Standardnachricht benutzt.
# Standard: none
MaxClientsPerHost 20 "Bitte nicht öfters als 20x verbinden!"
#------------------------------------------------------------------------------
# Die "MaxClientsPerUser" Anweisung konfiguriert die Maximale Anzahl von
# Clients, die sich gleichzeitig mit einem Usernamen einloggen können.
# Optional kann angegeben werden, welche Nachricht dem Client geschickt werden
# soll, falls die maximale Anzahl erreicht ist. Wenn keine Nachricht angegeben
# wird, wird die Systemweite Standardnachricht benutzt.
# Standard: none
MaxClientsPerUser none "Sorry, es sind bereits %m User verbunden! Bitte probier es später nocheinmal."
#------------------------------------------------------------------------------
# Die "MaxLoginAttempts" Anweisung gibt an, wie oft ein Benutzer versuchen kann
# sich anzumelden. Nachdem die Anzahl (erfolglos) erreicht ist, wird der
# Benutzer getrennt und eine Mitteilung wird mittels syslog protokolliert.
# Standard: 3
MaxLoginAttempts 10
#------------------------------------------------------------------------------
# "AllowFilter" erlaubt die Erstellung regulärer Ausdrücke, die allen über-
# mittelten Kommandos an proftpd entsprechen müssen. Dieses ist sehr sinnvoll,
# um zu verhindern, daß mittels übermittelter Zeichenfolgen eventuelle Angriffe
# gegen PROFTPD geführt werden. Der reguläre Ausdruck wird gegen den gesamten
# übermittelten Befehl ausgeführt, daher sollte man bei der Erstellung der
# Ausdrücke sehr sorgfältig sein. Sollte der übermittelte Befehl den Test
# nicht bestehen, so wird dem Client ein "Forbidden Command" übersendet. Die
# Übermittlung von Passwörtern (PASS Befehl) wird NICHT geprüft! Sollte der
# reguläre Audruck Leerzeichen enthalten, so sind diese in Anführungszeichen
# zu setzen.
# AllowFilter
#------------------------------------------------------------------------------
# Normalerweise, erlaubt PROFTPD nicht, daß Clients in Verbindung mit dem
# "PORT" Befehl eine andere als deren eigene Adresse (die Source Adresse von
# der FTP Controll Verbindung) verwendet. Außerdem werden keine priviligierten
# Ports erlaubt. Dem Client wird ein "Invalid Port" Fehler übermittelt und eine
# Meldung wird mittels "syslog" protokolliert (entweder "Adress Mismatch" oder
# "Bounce Attack"). Wird diese Anweisung freigegeben, erlaubt PROFTPD Daten-
# adressen, die nicht mit der Client Adresse übereinstimmt. Dieses erlaubt
# u.a. FXP Filetransfer, die es erlaubt zwischen zwei FTP Servern Daten zu
# übertragen, ohne direkt in den Transfer involviert zu sein. Aus Sicherheits-
# gründen ist dieses jedoch nicht zu empfehlen.
# Standard: off
AllowForeignAddress on
#------------------------------------------------------------------------------
# Standardmäßig überprüft ProFTPD, ob das Verzeichnis in das geloggt wird ein
# symbolischer Link ist. Ist das der Fall, verweigert der Server das loggen
# sofern dieses durch diese Direktive nicht ausdrücklich erlaubt ist.
# Anmerkung zur Sicherheit: Dieser Verhalten sollte aus Sicherheitsgründen
# nicht erlaubt werden. Wenn man dem Server erlaubt symbolische Links mit Root
# Privilegien zu öffnen, risikert man ggf. symlink Attacken, wobei der Server
# ausgetrickt wird und ggf. wichtige Systemfiles überschreibt.
# Standard: off
AllowLogSymlinks on
# VRootEngine on
# VRootOptions allowSymlinks
#------------------------------------------------------------------------------
# Normalweise sucht ProFTPD in den ausgewählten Verzeichnissen nach
# ".ftpaccess" Files und versucht diese auszuwerten. Diese Files entsprechen
# in etwa den Apache ".htaccess" files und sind eine Art Mini Config Files,
# die nur für ein bestimmtes Verzeichnis gelten. Mit dieser Direktive kann man
# nun einstellen, ob ProFTPD diese Files auswertet oder nicht.
# Die optionale Angaben können benutzt werden, um die Auswertung von .ftpaccess
# Files auf gewisse User, Gruppen oder Klassen zu limitieren.
# Standard: on
AllowOverride off
#------------------------------------------------------------------------------
# Die "AllowOverwrite" Anweisung erlaubt mit neu übertragenden Files bereits
# existierende zu überschreiben. Standardmäßig ist es FTP Clients nicht
# erlaubt existierende Dateien zu überschreiben.
# Standard: off
AllowOverwrite off
#------------------------------------------------------------------------------
# Die "AllowRetrieveRestart" Anweisung erlaubt bzw. verbietet es FTP clients
# einen abgebrochenden FTP download mittels dem "FTP REST" Befehl wieder aufzu-
# nehmen. Sandardmäßig ist es den Clients erlaubt, abgebrochende Downloads
# wieder aufzunehmen.
# Standard: on
AllowRetrieveRestart on
#------------------------------------------------------------------------------
# Die "AllowStoreRestart" Anweisung erlaubt bzw. verneint das wiederaufnehmen
# von abgebrochenen Uploads (mittels der "REST" Anweisung. Standardmäßig ist
# dieses nicht erlaubt. Speziell bei anonymen FTP muß man aufpassen, da hier
# ggf. Clients erlaubt wird, bestehende Files zu vergrössern und sie somit
# zu zerstören.
# Standard: off
AllowStoreRestart off
#================================================= =============================
# Timeouts
#================================================= =============================
# Zeit bis zur Trennung ohne Datenverkehr
TimeoutStalled 300
#------------------------------------------------------------------------------
# Zeit für Login
TimeoutLogin 30
#------------------------------------------------------------------------------
# Zeit bis zur Trennung ohne Datenverkehr (Daten und Kontrollleitung)
TimeoutIdle 300
#------------------------------------------------------------------------------
# Maximale Zeit ohne eine Datenverbindung
TimeoutNoTransfer 600
#================================================= =============================
# Logging
#================================================= =============================
# In dieser Datei werden aktuelle Verbindungen gespeichert
# ScoreboardFile /var/log/proftpd/proftpd.scoreboard
#------------------------------------------------------------------------------
# In dieser Datei werden die transferierten Dateien protokolliert
TransferLog /var/log/proftpd/xferlog
#------------------------------------------------------------------------------
# Standardformat der Default-Logdatei
LogFormat default "%h %a %l %u %U %t \"%r\" %s %b %f"
#------------------------------------------------------------------------------
# Standardformat der Authentifizierungs-Logdatei
LogFormat auth "%v [%P] %h %t \"%r\" %s"
#------------------------------------------------------------------------------
# Standardformat der Zugriffs-Logdatei
LogFormat access "%h %a %l %u %U %t \"%r\" %s %b %f"
#------------------------------------------------------------------------------
# Ort der Zugriffs-Logdatei
ExtendedLog /var/log/proftpd/log_access ALL default #access
#------------------------------------------------------------------------------
# Ort der Authentifizierungs-Logdatei
ExtendedLog /var/log/proftpd/log_auth AUTH auth
# ExecEngine on
# ExecLog /var/log/proftpd/exec.log
# ExecBeforeCommand user /250gb/ftp/t
# ExecOptions logStderr sendStdout logStdout
#================================================= =============================
# Global-Abschnitt
#================================================= =============================
# Der <Global>-Konfigurationsblock beinhaltet die Anweisungen, die sowohl für
# den Hauptserver, als auch für alle <VirtualHost>-Server gilt. Die meisten
# Anweisungen, jedoch nicht alle, können innerhalb des <Global>-Konfigurations-
# blockes verwendet werden. Es können in einer Konfiguration mehrere <Global>-
# Blöcke enthalten sein. Diese werden beim Start des Servers zu einem Block
# zusammengefügt. Der <Global>-Konfigurationsblock wird mit <Global> begonnen
# und muss mit </Global> geschlossen werden.
<Global>
</Global>
#================================================= =============================
# Anonymous-Abschnitt
#================================================= =============================
# Der "Anonymous" Block in der Konfiguration wird benutzt, um einen anonymen
# FTP Zugang einzurichten. Er wird mit </Anonymous> beendet. Das übergebene
# Root Directory gibt an, in welches Verzeichnis der PROFTPD-Dämon zuerst
# wechseln - und unmittelbar nach dem Login "chrooten" wird. Nachdem die
# Chroot-Operation erfolgreich beendet ist, sind höhere Verzeichnisebenen für
# den Benutzer nicht mehr sichtbar. Standardmäßig vermutet PROFTPD einen
# anonymen Login, wenn der Benutzer versucht sich mit demselben Benutzernamen
# anzumelden, unter dem der Server läuft. (außer root, hier ist ein anonymer
# Zugang nicht erlaubt). Um PROFTPD zu zwingen, den anonymen Zugang einem
# anderen Benutzer zuzuordnen, siehe Dir bitte die "USER" & "GROUP" Anweisung
# an. Sollte im anonymen Konfigurationsblock eine "USER" oder "GROUP" Anweisung
# stehen, wird der Dämon auf diesen Werte wechseln, bevor er den "Chroot"
# Vorgang ausführt. Normalerweise wird beim anonymen Zugang kein Passwort
# benötigt. Vielmehr wird erwartet, dass eine gültige Email-Adresse statt eines
# Passwortes angegeben wird (diese wird auch protokolliert). Wenn dieses
# Verhalten nicht gewünscht ist, kann dies im <Anonymous>-Konfigurationsblock
# durch die Anweisung "AnonRequirePassword" geändert werden.
# Anmerkung: "Chrooted" Anonyme Verzeichnisse benötigen keine gesonderten
# Systemfiles bzw. irgendeine Verzeichnisstruktur. Dieses liegt daran, dass
# PROFTPD so programmiert wurde, die nötigen Systeminformationen vor dem Chroot
# anzufragen und diese Dateien offen zu lassen.
# <Anonymous /~>
# </Anonymous>
#================================================= =============================
# VirtualHost-Abschnitt
#================================================= =============================
# Der "VirtualHost" Block in der Konfiguration wird benutzt, um eine
# unabhängige Konfiguration für eine spezielle IP bzw. für einen speziellen
# Hostnamen zu erstellen. Es wird oft benutzt in Verbindung mit System
# basierten IP Aliasing oder Dummy Netzwerk Schnittstellen, um einen oder
# mehrere "virtuelle" Server auf einem Server laufen zu lassen. Mittels der
# "Port" Anweisung innerhalb eines "VirtualHost" Blockes kann man mehrere
# virtuelle Server unter einer IP auf einem Server laufen lassen, die durch
# verschiedene Ports angesprochen werden. Dieses ist jedoch nur im Standalone
# Modus möglich! Ein "VirtualHost" Block beginnt mit "<VirtualHost>" und wird
# mittels " </VirtualHost>" beendet.
# <VirtualHost>
# </VirtualHost>
#================================================= =============================
# Freigaben
#================================================= =============================
#------------------------------------------------------------------------------
# Die "<Directory>" Anweisung erstellt einen Block von Anweisungen, die ein
# spezielles Verzeichnis und seine Unterverzeichnisse betreffen. Der Block
# endet mit </Directory>. Jede <Directory> Anweisung wird zur Laufzeit
# ausgewertet und die Verzeichnisangabe, die am ehesten passt, wird verwendet.
# Das bedeutet, dass jede <Directory> Angabe die Unterverzeichnisse mit ein-
# schließt, bis ggf. eine weitere <Directory> Anweisung ein Unterverzeichnis
# näher definiert.
# Anmerkung: Dieses trifft nicht auf die <LIMIT> Blocks zu, die durch alle
# Unterverzeichnisse vereerbt werden, solange kein <LIMIT> Block gefunden
# wird, der besser passt.
#
# Ein Schrägstrich und ein Wildcard ("/*") können dem Verzeichnis angehangen
# werden und geben an, dass der Konfigurationsblock nur auf den Inhalt dieses
# Verzeichnisses und seine Unterverzeichnisse zutrifft, nicht aber auf das
# Verzeichnis selbst. Solche Wildcard-<Directory>-Blöcke haben eine höhere
# Priorität als normale <Directory>-Konfigurationsblöcke.
# <Directory>-Blöcke können nicht ??nested?? werden (sie werden automatisch
# während der Laufzeit ??nested?? die auf ihren Namen basiert). Die Namen
# müssen immer absolut sein (ausgenommen sind Angaben innerhalb eines
# <Anonymous>-Block) und sollten sich nicht auf symbolische Links beziehen.
# Namen innerhalb eines <Anonymous>-Blockes können im Verhältnis zu der Wurzel
# des PROFTPD-Servers sein.
# Anmerkungen für ProFTPD 1.1.3 und höher: Pfadangaben, die mit dem Sonder-
# zeichen '~' beginnen und unmittelbar danach keinen Benutzernamen enthalten,
# werden in einen speziellen zurückgestellten Modus gesetzt. Wenn sich ein
# Benutzer anmeldet, wird das ~ durch sein Heimatverzeichnis ersetzt. Dieses
# ermöglicht einen globalen <Directory>-Block, der auf die Heimatverzeichnisse
# oder Unterverzeichnisse aller Benutzer zutrifft.
# Kontext: Server config, <Global>, <VirtualHost>, <Anonymous>
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# Die "<Limit>" Anweisung wird benutzt, um FTP Befehle zu erlauben oder zu
# verbieten. Die <Limit> Blöcke gelten solange, daß innerhalb einer
# Konfiguration alle <Directory> und <Anonyme> Blöcke davon betroffen sind, bis
# sie durch eine weitere <Limit> Anweisung aufgehoben wird. Der übergebende
# Befehl kann grundsätzlich jedes gültige FTP Kommando sein, im Regelfall jedoch
# eine der folgende Befehle:
#
# CWD........(Verzeichnis Wechseln)
# MKD........(Verzeichnis erstellen)
# RTFR.......(Umbenennen von), RNTO (Umbennen zu)
# DELE.......(Datei löschen)
# RMD........(Verzeichnis löschen)
# RETR.......(Client empfängt Datei vom Server)
# STOR.......(Client sendet Datei zum Server)
# SITE_CHMOD.(ändert die Rechte einer Datei auf dem Server)
#
# Außerdem sind folgende Befehlsgruppen möglich. Die haben eine niedrigere
# Priorität als "richtige" Befehle, daß bedeutet, daß "richtige" Befehle im
# Zweifelsfall Vorrang haben.
#
# READ.......(alle lesenden Befehle, jedoch NICHT das Verzeichnis
# auflisten z.B. RETR, STAT)
# WRITE......(alle schreibenden Befehle, wie löschen, erstellen,
# umbenennen)
# DIRS.......(alle Befehle, die mit dem Verzeichnis auflisten zu tun
# haben, z.B. LIST, NLST
# ALL........(alle FTP Befehle, identisch mit READ WRITE DIR. Diese
# Gruppe hat die niedrigste Priorität) ^
#
# Das spezielle Kommando LOGIN ist außerdem erlaubt und kann zur Zugangskontrolle
# verwandt werden. Es betrifft Verbindungen oder Anmeldungen an den Server. Wenn
# ein <Limit> mit diesem virtuellen Kommando verwendet wird, kann es verwendet
# werden, um die Anmeldung zu erlauben oder zu verbieten. Es hat keine Wirkung
# und wird ignoriert, wenn es außerhalb der Server Konfiguration (<VirtualHost>,
# <Anonymous>) benutzt wird. Das bedeutet, dass es in einem <Directory>-Block
# bedeutungslos ist.
# Kontext: Server config, <Global>, <VirtualHost>, <Anonymous>, .ftpaccess, <Directory>
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# Die "Allow" Anweisung wird innerhalb der "<Limit>" Anweisung benutzt, um
# ausdrücklich einem Rechner oder einem Netzwerk das Ausführen von gewissen
# Befehlen zu erlauben. "Allow" wird üblicherweise in Verbindung mit "Order"
# und "Deny" verwendet, um anspruchsvolle (oder auch nicht) Zugriffskontrollen
# zu ermöglichen. Das Argument "from" in Verbindung mit "Allow" ist nur
# kosmetischer Natur. Die weiteren Argumente müssen eine Liste von Computern
# und/oder Netzwerken sein, denen ausdrücklich Zugang gewährt werden soll.
# Das Schlüsselwort "all" gibt an, das allen Rechnern Zugang gewährt werden
# soll (wie die "AllowAll" Anweisung, jedoch mit geringerer Priorität).
# Das Schlüsselwort "none" gibt an, das keinem Rechner Zugang gewährt werden
# soll. Dieses verhindert jedoch nicht, daß Rechnern ausdrücklich Zugriff
# gegeben werden kann. Wenn "all" oder "none" benutzt werden, darf kein
# weiterer Rechner/Netzwerk angegeben werden.
# Rechner/Netzwerke können entweder numerisch oder mit Namen angegeben werden.
# Aus Sicherheitsgründen ist die Angabe von IP-Nummern dringenst empfohlen,
# da DNS-Server gehackt werden können. Numerische Adressen, die ein gesamtes
# Netzwerk beschreiben, sollten mit "." enden (z.B. "192.168.0." für das
# gesamte 192.168.0 Subnetz). DNS Namen für Netzwerke sollten mit einem "."
# beginnen, also z.B. ".proftpd.org" für das gesamte proftpd.org Netzwerk.
# Die Auswahl kann negiert werden durch die "!" Anweisung, so daß grosse
# Blöcke selektiert werden können, einzelne Rechner jedoch ausgeschlossen
# werden können.
# Kontext: <Limit>
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# Die "AllowAll" Richtlinie gibt explizit (wenn alle impliziten Regeln
# versagen) Zugriff zu folgenden Blöcken: "<Directory>", "<Anonymous>",
# "<Limit>". Obwohl das Standardverhalten von PROFTPD der teilweise Zugriff
# auf Objekte durch die "Allow" Anweisung ist, ist dieses implicit. "AllowAll"
# erzeugt einen explizites Zugriff, der alle anderen Anweisungen überschreibt.
# Kontext: <Anonymous>, <Limit>, .ftpaccess, <Directory>
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# "AllowGroup" gibt einen Ausdruck für Gruppen an, die speziell zugelassen
# sind. Das Format ist das gleiche wie bei
# "DefaultRoot". Die zugelassenen Gruppen bzw. nicht zugelassenen Gruppen
# (durch ein vorgestelltes "!") sind durch ein Komma (",") getrennt. Der
# gesamte Ausdruck wird als logisches "UND" betrachtet, das heisst, das alle
# Ausdrücke zutreffen müssen.
# Kontext: <Limit>
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# "AllowUser" gibt einen Ausdruck für User an, die speziell zugelassen sind.
# Das Format ist das gleiche wie bei "AllowGroup". Die zugelassenen User bzw.
# nicht zugelassenden User (durch ein vorgestelltes "!") sind durch ein Komma
# (",") getrennt. Der gesamte Ausdruck wird als logisches "UND" betrachtet,
# das heisst das alle Ausdrücke zutreffen müssen.
# Kontext: <Limit>
#------------------------------------------------------------------------------
# Die "DefaultRoot" Anweisung bestimmt das standard Root Verzeichnis für einen
# User bei dem Login. Wenn "Default Root" auf ein anderes Verzeichnis als "/"
# verweist, wird unmittelbar nach dem erfolgten Einloogen ein "chroot" durch-
# geführt. So kann ein Benutzer vom übrigen Dateisystem isoliert werden. Das
# genannte Verzeichnis muß mit "/" beginnen oder kann den Platzhalter "~" ent-
# halten, der für das Heimatverzeichnis des Users steht. Dieses kann auch ein
# weiteres Unterverzeichnis enthalten, wie z.B. "~/html". Sollte das
# "DefaultRoot" Verzeichnis auf ein Verzeichnis verweisen, daß für den User
# nicht zugänglich ist, wird er auf das aktuelle Arbeitsverzeichnis gesetzt
# und nicht auf das normale Homeverzeichnis. "DefaultRoot" kann nicht im
# Anonymen Anweisungsblock verwendet werden, da er hierfür eine spezielle
# Anweisung gibt. Die optionale Gruppenangabe kann dazu benutzt werden,
# "DefaultRoot" auf eine oder mehrere Gruppen zu beschränken. Der Ausdruck
# hat folgendes Format: [!]group-name1[,[!]group- name2[,...]]. Der Ausdruck
# wird als logische "UND"-Verknüpfung abgearbeitet, so jeder Ausdruck muss
# WAHR ergeben, um die "DefaultRoot" Anweisung zu gestatten. Die Vorzeichen
# "!" negiert die Gruppenzugehörigkeit. Achtung: Grundsätzlich ist dieses
# keine 100% Sicherheit, da es Wege geben kann, als User aus diesem "root"
# auszubrechen.
# Standard: /
# DefaultRoot /250gb/ftp !root
# DefaultRoot /home/patator/ftp
DefaultRoot ~ !ftpuser
#------------------------------------------------------------------------------
# Gibt an, in welchem Verzeichnis sich der User nach dem Login befindet.
# Standardmäßig ist es das Home-Verzeichnis des Users. Das angegebene Ver-
# zeichnis kann relativ zum Userverzeichnis angegeben werden.
# Achtung: Wenn das angegebene Verzeichnis nicht verfügbar ist, kann der User
# sich nicht einloggen.
# Standard: ~
#DefaultChdir ~
#------------------------------------------------------------------------------
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.