Konfiguriert wird der Pure-FTPd über Schalter beim Aufruf. Wenn man sich die manpage vom
Pure-FTPd (man Pure-FTPd
) anschaut, erhält man eine Fülle von Schaltern samt
(englischsprachiger) Beschreibung.
Da ich im Web keine deutschsprachige Seite mit diesen Informationen finden konnte, habe ich
einfach die Beschreibungen Schalter für Schalter übersetzt.
Korrekturen und/oder Verbesserungsvorschläge mir bitte einfach per E-Mail melden.
Bevor sich jetzt jemand gleich von der Fülle der Informationen erschlagen fühlt: Es müssen
nicht alle Schalter auf einmal verwendet werden. Zunächst sollte man sich meine Konfiguration anschauen, welche ich detailiert
beschrieben habe. Wer diese dann anpassen bzw. erweitern will, oder die Funktion der Schalter
schnell nachschlagen will – dafür ist diese deutsche Übersetzung der Erklärungen zu den
Schaltern zu verstehen.
-1 Fügt die PID der syslog Ausgabe hinzu. Wird ignoriert, wenn
-f none gesetzt wurde.
-4 Nur auf IPv4 Verbindungen reagieren. PFLICHT FÜR IPV
NETZWERKE BEI OPENBSD.
-A Chroot() für alle User – außer für root.
-a gid Normale User werden via chroot an ihre Home-Directorys
gebunden, außer wenn sie zu der angegebenen gid gehören. Zu beachten ist, dass root immer
vertraut wird und chroot() ausschließlich für anonymen FTP ohne diese Option gilt.
-b Aktiviert einige Kompatibilitätsoptionen für »schmutzige«
Clients und für nicht korrekt funktionierende Netzfilter-Gateways.
-B Startet den standalone Server im Hintergrund
(daemonize).
-c clients Gibt die maximale Anzahl der Clients an, die
gleichzeitig verbunden sein können. Der Wert muß mindestens »1« betragen und wenn der
Schalter -p ebenfalls verwendet wird, wird die Anzahl auf die
Hälfte der mit -p angegebenen Ports begrenzt. Wenn mehr Clients
verbunden sind, werden neue Clients sofort abgewiesen. Auch Clients, welche Daten hochladen,
oder sich als normale User einloggen wollen. Daher wird empfohlen, -m als primärer Schutz vor Überlastung zu verwenden. Der Standardwert ist
50.
-C max Verbindungen pro IP Begrenzt die Anzahl der Verbindungen,
die von der gleichen IP-Adresse kommen. Dies ist noch ein weiterer Weg, sich vor
unerwünschten »denial of service«-Attacken und vor einer Verringerung der Bandbreite durch
einen einzelnen User zu schützen. Der Schalter funktioniert nur dann, wenn der Server im
standalone-Modus gestartet wird (wenn man einen Superserver verwendet, sollte es sich so
verhalten). Wenn der Server mit -C 2 gestartet wird, bedeutet
dies nicht, dass die Gesamtzahl der zulässigen Verbindungen auf zwei begrenzt wird. Aber der
gleiche Client, welcher vom gleichen Rechner (oder zumindest der gleichen IP) zugreifen will,
kann nicht mehr als zwei simultane Verbindungen haben. Diese Option benötigt etwas Speicher
um die IP-Adressen zu verwalten, aber es wird empfohlen, sie zu verwenden.
-d Aktiviert das debug logging. Jedes Kommando wird mitgeloggt,
außer dem Ändern des Passwortes mit PASS. Wird -d zweimal angegeben, werden die Anworten ebenfalls mitgeloggt.
-e Erlaubt es Benutzern, sich ausschließlich anonym
einzuloggen.
-E Erlaubt es Benutzern, sich ausschließlich authentifiziert
einzuloggen. Die anonyme Anmeldung ist untersagt.
-F fortunes file Bindet bei der Loginmeldung des FTP-Servers
lustige Zufallszitate (random quotes) ein. Diese »Glückskeks-Zitate« werden von einer
Textdatei extrahiert, welche dem »standard fortune«-Format entsprechen muß. Wurde auf dem
System das fortune-Paket installiert, sollte ein Verzeichnis exisitieren (normalerweise
/usr/share/fortune), in dem sich Binärdateien (xxxx.dat) und Textdateien (ohne die
.dat-Erweiterung) befinden.
-f facility Läßt Pure-FTPd facility
für alle syslog(3)-Messages verwenden. Der Standardwert für die
facility lautet auf »ftp«. Die Namen der facilities sind für gewöhnlich in der Datei
/usr/include/sys/syslog.h
aufgeführt.
Bitte beachten, dass wenn -f nicht die erste Option beim Aufruf
des Pure-FTPd ist, einige Meldungen zunächst nach local geloggt
werden, bevor die Option -f abgearbeitet wird. Mit
-f none wird das Logging deaktiviert.
-g pidfile Im standalone Modus kann die pid in die mit
pidfile angegebene Datei umgeleitet werden. Sie wird dann nicht
mehr nach /var/run/Pure-FTPd.pid
geschrieben.
-H Hostnamen nicht auflösen (»213.41.14.252« wird mitgeloggt
anstatt »www.toolinux.com«). Dadurch können Verbindungen beschleunigt, und die
Bandbreitennutzung auf stark genutzten Servern reduziert werden. Sehr für öffentliche
FTP-Server zu empfehlen.
-k percentage Verbietet den Upload, wenn die Partition zu mehr
als dem angegebenen Prozentwert belegt ist. Beispiel: -k 95 wird
sicherstellen, dass die Partition niemals zu mehr als 95% von FTP-Usern belegt werden
kann.
-K Erlaubt Benutzern, Datentransfers wiederaufzunehmen und
Dateien hochzuladen, aber NICHT, sie zu löschen. Verzeichnisse können entfernt werden, aber
nur wenn sie leer sind.
-I timeout Legt die maximale idle-Zeit fest. Die Angabe ist in
Minuten, der Standardwert lautet 15.
-i Verbietet anonymen Benutzern den Upload unabhängig von den
gesetzten Rechten des Verzeichnisses. Diese Option ist besonders dann nützlich, wenn man
virtual hosting verwendet, um Benutzer vom anlegen von Warez-Archiven in ihrem Account
abzuhalten.
-j Wenn das Home-Verzeichnis eines Benutzers nicht existiert,
wird es automatisch angelegt. Neu angelegte Verzeichnisse gehören dem Benutzer und die Rechte
werden anhand der verwendeten umask vergeben. Um lokalen Angriffen vorzubeugen, sollte das
übergeordnete Verzeichnis niemals einem »nicht-glaubwürdigen« Benutzer gehören.
-L max files:max depth Man kann »denial of service«-Angriffen
dadurch vorbeugen, indem man die Anzahl der angezeigten Dateien bei einem Aufruf von
ls und die maximale Tiefe eines rekursiven ls-Aufrufs begrenzt. Standardwerte sind 2000:5 (2000 Dateien werden für einen
Aufruf von ls angezeigt und maximal fünf Unterverzeichnisse
werden abgearbeitet).
-l authentification:file Aktiviert eine neue Methode zur
Authentifizierung. Es kann sich dabei um eine der folgenden Methoden handeln:
-l unix Für die normale (/etc/passwd) Authentifzierung.
-l pam Für PAM Authentifizierung.
-l ldap:LDAP config file Für LDAP Verzeichnisse.
-l mysql:MySQL config file Für MySQL Datenbanken.
-l pgsql:Postgres config file Für Postgres Datenbanken.
-l puredb:PureDB database file Für PureDB Datenbanken.
-l extauth:path to pure-authd socket Für externe
Authentifizierungsmethoden.
Unterschiedliche Authentifizierungsmethoden können gemischt werden. So wird zum Beispiel der
Server mit dem Aufruf -l puredb:/etc/pwd.pdb -l mysql:/ etc/my.cf -l
unix zunächst die Authentifizierung mit einer PureDB-Datenbank versuchen. Schlägt
dies fehl, so wird ein MySQL-Server befragt. Wurde das Konto noch immer nicht gefunden,
werden die Standard-Unixkonten gescannt. Die Authentifizierungsmethoden werden in der
Reihenfolge abgearbeitet, wie sie mit den -l-Optionen angegeben
worden sind.
Um Informationen über den built-in Support von LDAP und SQL Verzeichnissen zu erhalten,
sollte man die Dateien README.LDAP und README.MySQL lesen.
-M Erlaubt anonymen Benutzern, Verzeichnisse anzulegen.
-m load Verbietet anonymen Benutzern den Zugriff, wenn die Last
über dem per load definierten Wert liegt wenn sich der Benutzer
verbindet. Uploads und das Anzeigen von Verzeichnisinhalten ist weiterhin erlaubt, sowie
Downloads von realen Benutzern. Der Benutzer wird nicht über die Beschränkung informiert bis
er versucht, eine Datei herunterzuladen.
-N NAT Modus. Erzwingt den active
mode. Wenn sich der FTP-Server hinter einem NAT-Rechner befindet, welcher nicht das
sogenannte »applicative FTP proxying« unterstützt, oder wenn »port redirection« ohne einen
transparenten FTP-Proxy verwendet wird, ist diese Einstellung zu wählen.
Nunja, der Satz ist nicht wirklich leicht verständlich. Daher ein Beispiel: Wenn das Netzwerk
folgendermaßen aussieht
FTP––NAT.gateway/router––Internet
und Zugriffe aus dem Internet auf den FTP-Server möglich sein sollen, bitte zunächst ohne
diese Option wählen. Wenn Netscape-Benutzer ohne Probleme eine Verbindung herstellen können,
funktioniert der NAT-Gateway. Sollten Netscape-Benutzer keine Verbindung herstellen können,
also keine Verzeichnisinhalte angezeigt bekommen, funktioniert der NAT-Gateway nicht richtig.
In diesem Fall sollte man -N als Workaround verwenden.
-n maxfiles:maxsize Aktiviert virtuelle Quotas. Wenn virtuelle
Quotas verwendet werden, werden .ftpquota Dateien angelegt und die Anzahl der Dateien für
einen Benutzer wird durch »maxfiles« begrenzt. Die maximale Größe seines Verzeichnisses wird
ebenfalls duch »maxsize« begrenzt. Mitglieder einer Gruppe, der vertraut wird, sind von
diesen Quotas nicht betroffen.
-o Aktiviert pure-uploadscript.
-O format:log file Loggt alle Dateitransfers in der
spezifizierte Logdatei in einem alternativen Format mit. Im Augenblick werden drei Formate
unterstützt: CLF, Stats und W3C.
Wird
-O clf:/var/log/pureftpd.log
bei den Startoptionen angegeben, loggt der Pure-FTPd die Transfers in der Datei
/var/log/pureftpd.log in einem Format, welches dem des Apache Webservers in der
Standardkonfiguration entspricht.
Wird
-O stats:/var/log/pureftpd.log
bei den Startoptionen angegeben, legt der Pure-FTPd akkurate Logdateien an, welche für
Traffic-Analyse-Software wie ftpStats ausgelegt ist.
Wird
-O w3c:/var/log/pureftpd.log
bei den Startoptionen angegeben, erzeugt der Pure-FTPd W3C-konforme Logdateien an. Aus
Sicherheitsgründen muß der Pfad absolut angegeben werden (z.B. /var/log/pureftpd.log und
nicht ../log/pureftpd.log).
-P ip address Zwingt die angegebene IP-Adresse auf ein
PASV/EPSV/SPSV-Kommando zu antworten. Wenn sich der Server
hinter einem maskierenden (NAT) Rechner befindet, welcher kein sauberes FTP-Masquerading
unterstützt, sollte die IP-Adresse dieses NAT-Rechners hier angegeben werden.
-p first:last Verwendet ausschließlich die Ports des angegebenen
Bereichs R inklusive der angegebenen Nummern für Downloads im
passive mode. Dies bedeutet, dass Clients nicht versuchen werden, TCP-Ports ausserhalb des
angegebenen Bereiches zu verwenden. Dies macht den Pure-FTPd kompatibler zu Paketfiltern. Es
ist zu beachten, dass die maximale Anzahl der Clients (welche mit -c festgelegt worden sind) auf R ( last +1- first
)/2 beschränkt wird wenn die Anzahl der Clients größer als der Standard ist (die
Syntax für den Port Bereich ist – praktischerweise – identisch mit der Syntax von
iptables).
-q upload:download Aktiviert einen Upload/Download-Ratio für
anonymen Benutzer. Ein Beispiel: -q 1:5 bedeutet, dass 1 MB an
Dateien hochgeladen werden muß, um 5 MB herunterladen zu dürfen.
-Q upload:download Aktiviert Ratios für anonyme und
nicht-anonyme Benutzer. Wenn gleichzeitig die Option -a
verwendet wird, haben Benutzer aus der vertrauenswürdigen Gruppe keine
Ratio-Beschränkung.
-r Verhindert, dass exisiterende Dateien überschrieben werden.
Wird eine Datei hochgeladen deren Name bereits existiert, wird sie automatisch umbenannt. Die
Dateien werden dann in xyz.1, xyz.2, xyz.3, etc. umbenannt.
-R Verbietet Benutzern (auch nicht-anonymen Benutzern) die
Verwendung des CHMOD-Kommandos. Dies kann Neulinge vor Fehlern schützen, beispielsweise das
Setzen falscher Zugriffsrechte auf ihr Home-Verzeichnis. Ausschließlich der Benutzer root
kann das CHMOD-Kommando verwenden, wenn diese Option aktiviert ist.
-s Verbietet anonymen Benutzern Dateien herunterzuladen, welche
dem Benutzer »ftp« gehören (üblicherweise betrifft dies Dateien, welche von anderen anonymen
Benutzern hochgeladen worden sind).
-S [{ip address|hostname}] [,{port|service name}] Diese Option
wird nur dann umgesetzt, wenn der Server im standalone-Modus gestartet wird. Es werden von
der/den angegebenen IP und dem angegebenen Port akzeptiert. Numerische und fully-qualified
Hostnamen werden akzeptiert. Der Name eines Services (vgl. /etc/services) kann anstatt einer
Portnummer verwendet werden.
-t bandwidth oder -t upload
bandwidth:download bandwidth Aktiviert die Möglichkeit, die Bandbreite für anoymous
Benutzer zu drosseln. Die Verzögerung wird in Kilobyte pro Sekunde angegeben.
-T bandwidth oder -T upload
bandwidth:download bandwidth Aktiviert die Möglichkeit, die Bandbreite für ALLE
Benutzer zu drosseln. Der Pure-FTPd muß explizit mit dem Support zum Drosseln von Bandbreiten
kompiliert worden sein, damit diese Optionen umgesetzt werden.
Es ist möglich, dass unterschiedliche Bandbreitenlimits für Uploads und Downloads festgelegt
werden.
Die Optionen -t und -T können
außerdem um zwei durch einen Doppelpunkt (»:«) abgetrennten Zahlen erweitert werden. Die
erste Nummer stellt die Upload-Bandbreite dar, die zweite Nummer betrifft nur die Downloads.
Eine von beiden braucht nicht angegeben werden, wobei dies dann »unendlich« bedeutet – die
maximale verfügbare Bandbreite eben. Eine einzelne Zahl ohne einen Doppelpunkt bedeutet, dass
das angegebene Limit sowohl für den Upload als auch für den Download gelten soll.
-U umask files:umask dirs Ändert die Mask beim Erstellen von
neuen Dateien und Verzeichnissen. Der Standartwert ist 133 (für andere User sind die Dateien
lesbar, dürfen aber nicht überschrieben werden) und 022 (das Gleiche für Verzeichnisse, mit
gesetzem »ausführen«-Bit). Wenn neue Dateien ausschließlich für den Benutzer lesbar sein
sollen, muß 177:077 verwendet werden. Sollen hochgeladene Dateien ausführbar sein, muß
022:022 verwendet werden (die Dateien werden für andere Benutzer lesbar sein) oder 077:077
(die Dateien dürfen nur vom Besitzer gelesen werden).
-u uid Verbietet Benutzern mit einer uid niedriger als der
angegebenen sich einzuloggen (für gewöhnlich sind niedrige uids administrativen Benutzern
zugeordnet. -u 100 ist erforderlich, um den Zugriff aller
administrativen Benutzer auf vielen Linux Rechnern zu unterbinden, da dort 99 der letzte
administrative Benutzer ist. Anonymous FTP wird auch dann zugelassen, wenn die uid des
Benutzers ftp kleiner als die angegebene uid ist.
-u 1 unterbindet den Zugriff lediglich für das »root«
Benutzerkonto. Der Standardwert ist, allen Benutzern Zugriff zu gewähren.
Vorsicht: Nicht bei allen Linux-Distributionen sind die administrativen Konten mit
uids unter 100 angelegt.
-V ip address Erlaubt nicht-anonymen Zugriff ausschließlich auf
den spezifizierten lokalen IP-Adressen. Alle anderen IP-Adressen erhalten ausschließlich
anonymen Zugriff. Mit dieser Option kann man geroutetete IPs für den öffentlichen Zugang und
eine lokale IP (z.B. 10.x.x.x) für administrative Zwecke verwenden. Man kann ebenfalls eine
routbare, vertrauenswürdige IP (beispielsweise durch eine Firewall geschützt) verwenden und
nur über diese IP kann sich ein nicht-anonymer Benutzer einloggen.
-w Aktiviert die Unterstützung des FXP Protokolls.
Ausschließlich für nicht-anonyme Benutzer.
-W Aktiviert das FXP Protokoll für alle Benutzer.
Vorsicht:FXP ist ein unsicheres Protokoll. Es sollte NIEMALS auf nicht vertrauenswürdigen
Netzwerken eingesetzt werden.
-x Im normalen Modus können authentifizierte Benutzer Dateien,
welche mit einem Punkt (».«) beginnen, lesen und schreiben. Anonymous Benutzer dürfen dies
aus Sicherheitsgründen nicht (wie etwa Flags bei vergessenen .rhosts zu verändern). Wenn
-x verwendet wird, können authentifizierte Benutzer die
Punkt-Irgendwas-Dateien herunterladen, aber nicht überschreiben oder anlegen – selbst wenn
sie die entsprechenden Rechte haben. So wird verhindert, dass Benutzer mit diesen Dateien
Schaden anrichten.
-X Diese Option ist mit der vorangeganenen identisch (das
Schreiben von »Punkt-Irgendwas-Dateien« ist verboten), zusätzlich dürfen Benutzer nicht mal
Dateien und Verzeichnisse lesen, wenn deren Name mit einem Punkt (».«) beginnt.
-z Erlaubt anonymen Benutzern Dateien und Verzeichnisse zu
lesen, welche mit einem Punkt (».«) beginnen.
-Z Aktiviert Sicherheitswächter um oft vorkommende
Benutzerfehler auszuschließen (wie etwa chmod 0 auf die eigenen Daten anzuwenden).