Unterabschnitte

Das Pure-FTPd Paket

Einleitung

Mit diesem Paket wird der Filetransfer Dienst, im folgenden auch Service genannt, auf dem Rechner installiert. Diese Service bieten die Möglichkeit Dateien vom Server oder auf den Server zu transferieren.

Funktionen

Das Pure-FTPd Paket stellt folgende Basis-Funktionalität zur Verfügung:

Voraussetzungen

Dieses Paket benötigt folgende weitere Pakete libmariadb3 und libssl1_1. Es ist auch abhängig davon, dass eine aktuelle Version des Basissystems installiert ist.

Installation

Das Pure-FTPd Paket wird über das Setup-Menue im Untermenue ”Package administration” installiert.

Das Menue im Setup-Program

Das Pure-FTPd Menue ist über den Menuepunkt ”Service administration” des Hauptmenues im zentralen Setup-Programm zu erreichen. Es ist wie folgt aufgebaut:

  1.   View documentaion
  2.   View changes
  3.   Edit main configuration
  4.   Advanced main configuration file handling
  5.   Edit virtual user configuration
  6.   Advanced virtual user configuration file handling
  7.   Show status of Pure-FTPd
  8.   Stop Pure-FTPd
  9.   Start Pure-FTPd
  10.   Pure-FTPd tools

  1.   List Pure-FTPd local users
  2.   List Pure-FTPd virtual users
  3.   Show info about a Pure-FTPd virtual user
  4.   Check Pure-FTPd virtual users
  5.   Report current FTP sessions
  0.   Return

  0.   Return

Änderung der Konfiguration

Die Konfiguration kann über den Menuepunkt ”Edit main Configuration” geändert werden. Standardmäßig wird dabei der Editor genutzt, der über den Menuepunkt ”Set eisfair configuration editor” in der ”Base configuration” eingestellt ist.

Nachdem der Editor beendet wurde wird die Konfiguration mit dem eischk-Programm automatisch auf syntaktische und teilweise auch auf semantische Fehler geprüft. Werden Fehler festgestellt, so werden diese gemeldet und der Benutzer zur Korrektur aufgefordert. Wird eine solche Korrektur nicht durchgeführt, so kann es zu unvorhersehbaren Fehlfunktionen bei dem Dienst kommen.

Es wird zusätzlich gefragt, ob die Konfiguration angewendet (aktiviert) werden soll. Wird dieses verneint, so unterbleibt die Aktivierung.

ACHTUNG
Beim nächsten Boot-Vorgang kann es in diesem Fall zu unvorhersehbaren Fehlern kommen.


Wird die Aktivierung bestätigt, werden über ein Skript die durchgeführten Änderungen wirksam gemacht. Dazu wird der Pure-FTPd gestoppt und neu gestartet.

Über den Menuepunkt ”Edit virtual user configuration” kann die Konfiguration der virtuellen User verändert werden. Die Konfiguration der virtuellen User wurde in einen extra Menuepunkt ausgelagert, da Änderungen an den virtuellen Usern keinen Restart des gesamten Services notwendig machen.

Nur wenn PURE_FTPD_ENABLE_VIRTUAL_USERS verändert, also z.B. von 'no' auf 'yes' geändert wird, ist ein Restart notwendig.

Für die Konfiguration der virtuellen User existiert eine spezielle Konfigurationsdatei (/etc/config.d/pure-ftpd-vuser)

Die Haupt-Konfigurationsdatei

Die Konfigurationsdatei (/etc/config.d/pure-ftpd) enthält in einer Reihe von Abschnitten die Parameter, die den Dienst parametrisieren bzw. festlegen, ob der Dienst überhaupt zur Verfügung gestellt wird oder nicht.

Pure-FTPd (general settings)

START_PURE_FTPD

Legt fest, ob der Pure-FTPd-Server gestartet wird.

Gültige Werte: yes, no

Standardeinstellung: START_PURE_FTPD='no'

PURE_FTPD_VIRTUALCHROOT

Legt fest, ob der Pure-FTPd-Server gestartet wird.

Legt fest, welche Variante des Pure-FTPd-Servers gestartet wird.
PURE_FTPD_VIRTUALCHROOT='yes'
Ein User, der mit FTP nicht über sein Homeverzeichnis herauskommt kann über speziell angelegte symbolische Links auf andere Verzeichnisse doch Verzeichnisse ausserhalb seines Homeverzeichnis erreichen. Dies macht z.B. ein gemeinsammes download Verzeichnis auf /home/download möglich. Diese Variante birgt aber auch Sicherheitsrisiken.
PURE_FTPD_VIRTUALCHROOT='no'
Die User können nicht über ihre Homeverzeichnisse herauskommen.

Siehe aber auch PURE_FTPD_DONT_CHROOT_GROUP.

Gültige Werte: yes, no

Standardeinstellung: PURE_FTPD_VIRTUALCHROOT='yes'

PURE_FTPD_START_METHOD

Legt fest, wie der Pure-FTPd-Server gestartet werden soll. Bei Angabe von 'st' wird der Pure-FTPd-Server als sogenannter Standalone Server gestartet. Bei Angabe von 'xi' erfolgt der Start über den xinetd. Hier muss auch START_XINETD='yes' in der Konfiguration des xinetd angegeben werden.

Gültige Werte: st, xi

Standardeinstellung: PURE_FTPD_START_METHOD='st'

PURE_FTPD_BIND

Die Angabe einer IP-Adresse auf der der Pure-FTPd-Server 'lauschen' soll. Hier wird keine echte IP Adresse angegeben sondern der Index der Angabe IP_ETH_x_IPADDR aus der Base Konfiguration in /etc/config.d/base.

Ist PURE_FTPD_BIND leer, so wird auf allen konfigurierten IP-Adressen 'gelauscht'.

Gültige Werte: Index von IP_ETH_x_IPADDR oder leer

Standardeinstellung: PURE_FTPD_BIND=”

PURE_FTPD_PORT

Definiert den Port, auf dem der Pure-FTPd-Server ”lauschen” soll.

Gültige Werte: Port Nummer, Standard=21

Standardeinstellung: PURE_FTPD_PORT='21'

PURE_FTPD_LISTEN

Definiert auf welchen Adressen der Pure-FTPd-Server ”lauschen” soll.

Gültige Werte: ipv4only, ipv6only oder leer.

  ipv4only lausche nur auf IPv4 Adressen
  ipv6only lausche nur auf IPv6 Adressen
  leer lausche auf allen konfigurierte Adressen des Systems.

Standardeinstellung: PURE_FTPD_LISTEN='ipv4only'

PURE_FTPD_PASV_PORTRANGE

Portbereich der beim passive Mode genutzt werden soll. Format <first port>:<last port>.

Wird keine Angabe gemacht (PURE_FTPD_PASV_PORTRANGE ist leer), so nutzt der Pure-FTPd-Server die Ports 1024 bis 65535.

Gültige Werte: Portnummer:Portnummer oder leer

Standardeinstellung: PURE_FTPD_PASV_PORTRANGE=”

PURE_FTPD_PASV_IP

Auf ein PASV/EPSV/SPSV Kommando des FTP-Clients antwortet der FTP-Server mit der Angabe aus PURE_FTPD_PASV_IP.

Gültige Werte: leer, IP-Adresse, Hostname oder fully qualified domain name (FQDN)

Standardeinstellung: PURE_FTPD_PASV_IP=”

PURE_FTPD_NAT_MODE

Ein Schalter, mit dem man spielen kann, wenn FTP über einen masquerading Router (beispielsweise fli4l) nicht funktioniert.

Gültige Werte: yes, no

Standardeinstellung: PURE_FTPD_NAT_MODE='no'

PURE_FTPD_WELCOMEFILE

Datei, die die sog. Welcome Message enthält. Der Inhalt der Datei wird statt der Meldung
———- Welcome to Pure-FTPd ———-
ausgegeben. Die Datei muss existieren und die Zugriffsrechte 644 haben. Eine Änderung der Datei nachdem der Pure-FTPd gestartet wurde ist möglich. Wird die Datei nachträglich gelöscht, so wird die Standardmeldung ausgegeben.

Gültige Werte: Absoluter Pfad

Standardeinstellung: PURE_FTPD_WELCOMEFILE=”

PURE_FTPD_FSCHARSET

Auswahl des Zeichensatzes für das Filesystem. Der Pure-FTPd konvertiert ggf. die Dateinamen NICHT aber die Dateinhalte. Ist der Zeichensatz des Filesystem ISO-8859-15, der des Clients aber UTF-8, so können einige Clients die Konvertierung über einen internen Befehl ('OPTS UTF8 ON') anfordern. Umlaute werden dann trotz der unterschiedlichen Zeichensätze korrekt angezeigt. Bei 'auto' wird die notwendige Option für die Konvertierung automatische ausgewählt. Dabei wird die Environmentvariable LC_CTYPE aus /etc/config.d/environment genutzt.

Gültige Werte: ISO-8859-15, UTF-8 oder auto

Standardeinstellung: PURE_FTPD_FSCHARSET='auto'

Pure-FTPd (file related settings)

PURE_FTPD_UMASKS

Format <umask für Dateien>:<umask für Verzeichnisse>. Beim Erstellen von Dateien bzw. Verzeichnissen zu nutzende umask Angabe. Der von Pure-FTPd benutzte Standardwert ist 133:022. Siehe umask Kommando.

Gültige Werte: Zahl:Zahl

Standardeinstellung: PURE_FTPD_UMASKS=”

PURE_FTPD_LIST_DOT_FILES

Bei Angabe von 'yes' werden Dateien, die mit einem Punkt ('.') beginnen auch dann angezeigt, wenn der benutzte FTP-Client das list-Kommando nicht mit der Option '-a' verwendet. Diese Option ist eine Umgehungslösung für schlecht konfigurierte FTP-Clienten.

Gültige Werte: yes, no

Standardeinstellung: PURE_FTPD_LIST_DOT_FILES='no'

PURE_FTPD_DISALLOW_RENAMING

Bei Angabe von 'yes' ist das Umbenennen von Dateien verboten.

Gültige Werte: yes, no

Standardeinstellung: PURE_FTPD_DISALLOW_RENAMING='no'

PURE_FTPD_DISALLOW_ANONYMOUS_UPLOAD

Bei Angabe von 'yes' ist es anonymen Zugängen verboten Dateien auf dem FTP-Server abzulegen (kein Upload).

Gültige Werte: yes, no

Standardeinstellung: PURE_FTPD_DISALLOW_ANONYMOUS_UPLOAD='no'

PURE_FTPD_NO_TRUNCATE

Bei Angabe von 'yes' wird eine Datei, wenn sie beim Upload ersetzt wird, nicht vorab gelöscht bzw. trunkiert. Der Upload findet zunächst in eine temporäre Datei (z.B. .pureftpd-upload.599d35aa.15.1a27.23b90451) statt. Erst beim Abschluss des Uploads wird die Datei in einer atomaren Operation umbenannt und ersetzt damit die bisherige Datei.

Gültige Werte: yes, no

Standardeinstellung: PURE_FTPD_NO_TRUNCATE='no'

Pure-FTPd (timeout settings)

PURE_FTPD_HANGUP_TIME

Anzahl der Minuten, nach der eine FTP-Verbindung wegen Inaktivität getrennt wird.

Gültige Werte: Zahl

Standardeinstellung: PURE_FTPD_HANGUP_TIME='15'

Pure-FTPd (access settings)

PURE_FTPD_USE_PAM

Über diese Konfigurationsvariable kann festgelegt werden, ob die Authentifizierung über das sog. Pluggable Authentication Module (PAM) erfolgen soll.
Bei PURE_FTPD_USE_PAM='no' wird anstelle von PAM die Unix authentication (die traditionalle /etc/passwd Datei) genutzt.
Siehe Abschnitt ”Nur FTP User” in der Dokumentation.
ACHTUNG: bei PURE_FTPD_USE_PAM='no' werden die über die Konfiguration von PURE_FTPD_ENABLE_DENY_USERS konfigurierten sog. Deny User nicht mehr beachtet.

Gültige Werte: yes, no

Standardeinstellung: PURE_FTPD_USE_PAM='yes'

PURE_FTPD_ALLOW_ROOT_ACCESS

Legt fest, ob sich root per FTP einloggen darf (yes) oder ob es ihm verboten wird (no). Standardmäßig ist 'no' voreingestellt, weil ansonsten das root-Passwort unverschlüsselt über die Leitung geht.

Gültige Werte: yes, no

Standardeinstellung: PURE_FTPD_ALLOW_ROOT_ACCESS='no'

PURE_FTPD_ONLY_USERS

Beeinflusst den Zugang als anonymer User. Verbietet den Zugang (yes) oder auch anonyme User dürfen sich einloggen (no).

Gültige Werte: yes, no

Standardeinstellung: PURE_FTPD_ONLY_USERS='yes'

PURE_FTPD_ONLY_ANONYMOUS

Bei Angabe von 'yes' sind ausschliesslich anonyme Zugänge erlaubt.

Gültige Werte: yes, no

Standardeinstellung: PURE_FTPD_ONLY_ANONYMOUS='no'

PURE_FTPD_DONT_CHROOT_GROUP

Standardmäßig kann jeder User (außer root) via FTP nicht über sein Homeverzeichnis herauskommen. D.h. der FTP-User ”sieht” nur sein eigenes Homeverzeichnis inkl. darunter liegender Verzeichnisse und Dateien, nicht aber Verzeichnisse oberhalb des Homeverzeichnisses. Hier kann eine Gruppe (numerische GID) angeben werden, deren Mitglieder nicht auf ihre Homeverzeichnisse beschränkt sind. Wenn du nicht weißt, was du damit anstellst, bitte leer lassen.

Gültige Werte: Zahl

Standardeinstellung: PURE_FTPD_DONT_CHROOT_GROUP=”

PURE_FTPD_TLS

  0 Unterstützung für SSL/TLS ist ausgeschaltet.
  1 Verbindungen über den normalen Weg und über
    SSL/TLS sind möglich.
  2 Klartext Verbindungen werden nicht akzeptiert,
    es sind nur Verbindungen über SSL/TLS möglich.
  3 Klartext Verbindungen werden nicht akzeptiert,
    es sind nur Verbindungen über SSL/TLS möglich.
    Auch Klartext-Datenverbindungen werden abgelehnt.

ACHTUNG
Achtung: wird PURE_FTPD_TLS auf einen Wert ungleich 0 gesetzt, so wird das notwendige Zertifikat geprüft. Existiert kein Zertifikat oder enthält das Zertifikat keine DH PARAMETERS Sektion, so wird PURE_FTPD_TLS ignoriert.


Gültige Werte: 0, 1, 2, 3

Standardeinstellung: PURE_FTPD_TLS='0'

PURE_FTPD_CERTIFICATE

Name des Zertifikates, welches genutzt werden soll. Wird ein Zertifikat ausgewählt, so wird ggf. ein symbolischer Link mit dem Namen pure-ftpd.pem erstellt, der auf das ausgewählte Zertifikat zeigt.

Mit dem Paket wird ein Default-Zertifikat pure-ftpd.pem mitgeliefert (nur bis Version 2.7.1).

Das gewählte Zertifikat muss eine DH PARAMETERS Sektion enthalten. Dies ist bei den über das Certs Paket erstellten Zertifikaten der Fall.

Gültige Werte: Dateiname (.pem-Datei in /usr/local/ssl/certs)

Standardeinstellung: PURE_FTPD_CERTIFICATE='pure-ftpd.pem'

PURE_FTPD_NONANONYMOUS_IP

Die Angabe einer IP-Adresse in PURE_FTPD_NONANONYMOUS_IP erlaubt für diese IP-Adresse eines Servers mit mehreren IP-Adressen dass sich User mit Usernamen anmelden können. Über alle anderen IP-Adressen ist nur eine Anmeldung als User anonymous möglich.

Hier wird keine echte IP Adresse angegeben sondern der Index der Angabe IP_ETH_x_IPADDR aus der Base Konfiguration in /etc/config.d/base.

Gültige Werte: Index von IP_ETH_x_IPADDR oder leer

Standardeinstellung: PURE_FTPD_NONANONYMOUS_IP=”

Pure-FTPd (limit settings)

PURE_FTPD_MAX_USER

Maximale Anzahl der User, die gleichzeitig auf dem FTP-Server eingeloggt sein dürfen.

Gültige Werte: Zahl

Standardeinstellung: PURE_FTPD_MAX_USER='20'

PURE_FTPD_PARTITION_FILL_LIMIT

Erlaube keine FTP Uploads wenn die Ziel-Partition zu mehr als PURE_FTPD_PARTITION_FILL_LIMIT Prozent gefüllt ist.

Gültige Werte: Zahl

Standardeinstellung: PURE_FTPD_PARTITION_FILL_LIMIT='95'

PURE_FTPD_MAXCON_PER_IP

Maximale zulässige Anzahl von FTP-Verbindungen pro IP-Adresse. Diese Option ist nur bei PURE_FTPD_START_METHOD='st' möglich. Jeder weitere Versuch einer FTP-Verbindung über die in PURE_FTPD_MAXCON_PER_IP angegebene Zahl herzustellen wird abgelehnt.

Gültige Werte: Zahl

Standardeinstellung: PURE_FTPD_MAXCON_PER_IP=”

PURE_FTPD_MAX_CPU_LOAD

Ist die CPU Auslastung höher als der hier angegeben Wert, so wird der Download von Dateien für anonyme Zugänge verboten.

Gültige Werte: Zahl

Standardeinstellung: PURE_FTPD_MAX_CPU_LOAD=”

PURE_FTPD_MAX_LOGINS

Format <max user logins>:<max anonymous logins>. Maximale Anzahl von normalen Benutzern bzw. anonymen Benutzern, die mit dem FTP-Server verbunden sein dürfen. Weitere Verbindungswünsche werden abgelehnt. Der Wert 0 bedeutet unlimitierte Anzahl von Logins.

Gültige Werte: Zahl:Zahl

Standardeinstellung: PURE_FTPD_MAX_LOGINS=”

Pure-FTPd (quota/bandwidth/ratio settings)

PURE_FTPD_FILE_QUOTA

Format <max Dateien>:<max Grösse>. Beschränkung der Anzahl der Dateien bzw. der Summe der Dateigrösse, die ein Benutzer auf dem FTP-Server ablegen darf. Die Angabe max Grösse ist in Megabytes. Diese Beschränkung ist nur wirksam für Aktionen, die über den FTP-Server durchgeführt werden (virtual Quota). Die Beschränkung gilt nicht für Benutzer, die speziellen Gruppen (siehe PURE_FTPD_DONT_CHROOT_GROUP) angehören. Diese Option benötigt .ftpquota-Dateien im jeweiligen Home-Verzeichnis des Users. Siehe Kommando pure-quotacheck und Beispielskript /usr/share/doc/pure-ftp/examples/create_dot_ftpquota.sh.

Gültige Werte: Zahl:Zahl

Standardeinstellung: PURE_FTPD_FILE_QUOTA=”

PURE_FTPD_USER_BANDWIDTH

Format [<upload>]:[<download>]. Beschränkung der zulässigen Bandbreite bei normale Unix User, dem User anonymous und virtuelle User (wenn für diese nicht manuell über pure-pw usermod spezielle Einstellungen gemacht werden). Angabe in Kilobyte pro Sekunde.

Beispiele:
256:64 256 KB/s für Uploads, 64 KB/s für Downloads
256:   256 KB/s für Uploads, keine Grenze für Downloads
:64    keine Grenze für Uploads, 64 KB/s für Downloads

Gültige Werte: Zahl:Zahl

Standardeinstellung: PURE_FTPD_USER_BANDWIDTH=”

PURE_FTPD_ANONYMOUS_BANDWIDTH

Wie PURE_FTPD_USER_BANDWIDTH, aber nur für den User anonymous.

Gültige Werte: Zahl:Zahl

Standardeinstellung: PURE_FTPD_ANONYMOUS_BANDWIDTH=”




ACHTUNG
Es darf nur PURE_FTPD_USER_BANDWIDTH oder
PURE_FTPD_ANONYMOUS_BANDWIDTH gesetzt werden.


PURE_FTPD_ANONYMOUS_RATIO

Angabe einer sogenannten Ratios für anonyme Zugänge. Format <upload ratio>:<download ratio>. Angabe jeweils in MByte. Eine Angabe von 2:5 bedeutet, dass ein Benutzer zunächst 2 MByte Daten auf den Server ablegen muss, um dann bis zu 5 MByte herunterladen zu dürfen.

Gültige Werte: Zahl:Zahl

Standardeinstellung: PURE_FTPD_ANONYMOUS_RATIO=”

PURE_FTPD_ALL_USER_RATIO

Ratio für normale und anonyme Zugänge. Siehe PURE_FTPD_ANONYMOUS_RATIO.

Gültige Werte: Zahl:Zahl

Standardeinstellung: PURE_FTPD_ALL_USER_RATIO=”

Pure-FTPd (log settings)

PURE_FTPD_LOG

Legt fest, ob ein Protokoll der Up- und Downloads in einem speziellen Format (siehe PURE_FTPD_LOG_FORMAT) erfolgen soll.

Gültige Werte: yes, no

Standardeinstellung: PURE_FTPD_LOG='no'

PURE_FTPD_LOG_FORMAT

Format des Protokolls der Up- und Downloads.

Gültige Werte: CLF, Stats, W3C, Xferlog

Standardeinstellung: PURE_FTPD_LOG_FORMAT='CLF'

PURE_FTPD_LOG_PATH

Pfad für die Protokolldatei

Gültige Werte: Absoluter Pfad

Standardeinstellung: PURE_FTPD_LOG_PATH='/var/log/pure-ftpd.log'

PURE_FTPD_LOG_PID

Bei Angabe von 'yes' wird die PID im Log protokolliert.
Beispiel: 'pure-ftpd[5396]:' statt 'pure-ftpd:'.

Gültige Werte: yes, no

Standardeinstellung: PURE_FTPD_LOG_PID='no'

PURE_FTPD_SYSLOG_FACILITY

Die angegebene Facility wird für das Logging benutzt.

Gültige Werte: none,auth,authpriv,cron,daemon,ftp,kern,lpr,mail,mark,
news,security,syslog,user,uucp,local0,local1,local2,
local3,local4,local5,local6,local7 oder leer

leer bedeutet ftp
none bedeutet Logging ausschalten. Dies betrifft aber nur das Logging von ftp.* Meldungen, nicht die von authpriv.* erzeugten Meldungen.

Standardeinstellung: PURE_FTPD_SYSLOG_FACILITY=”

PURE_FTPD_DONT_RESOLVE

Bei Angabe von 'yes' werden IP-Adressen nicht in Hostnamen umgesetzt, es werden also die IP-Adressen protokolliert.

Gültige Werte: yes, no

Standardeinstellung: PURE_FTPD_DONT_RESOLVE='no'

Pure-FTPd (upload settings)

PURE_FTPD_UPLOADSCRIPT_ARGS

Über das Programm pure-uploadscript kann nach jedem Upload einer Datei ein Programm/Shell-Skript (z.B. ein Virenscanner) gestartet werden. Bei PURE_FTPD_UPLOADSCRIPT_ARGS sind die Argumente für den Aufruf von pure-uploadscript, z.B. '-r /tmp/scanner.sh' anzugeben. Hinter -r ist der Name des Programms/Shell-Skript anzugeben. Unter /usr/share/doc/pure-ftp/examples findet sich als scanner.sh ein unvollständiges Beispielskript. Das Argument -B (Starte den Prozess im Hintergrund) wird automatisch hinzugefügt. Dokumentation siehe: pure-uploadscript

Standardeinstellung: PURE_FTPD_UPLOADSCRIPT_ARGS=”

Pure-FTPd (virtual server settings)

Virtuelle Server sind sinnvoll, wenn ein Server mehrere IP-Adressen hat. Über virtuelle Server kann eine Trennung des Verzeichnisses für den User anonymous erreicht werden. Ohne diese Konfiguration nutzen alle User anonymous auf allen IP-Adressen das Verzeichnis /home/ftp.

PURE_FTPD_ENABLE_VIRTUAL_SERVER

Virtuelle Server werden konfiguriert, wenn PURE_FTPD_ENABLE_VIRTUAL_SERVER='yes' gesetzt wird. Default ist PURE_FTPD_ENABLE_VIRTUAL_SERVER='no'.

Gültige Werte: yes, no

Standardeinstellung: PURE_FTPD_ENABLE_VIRTUAL_SERVER='no'

PURE_FTPD_VIRTUAL_SERVER_N

Anzahl der zu konfigurierenden virtuellen Server.

Gültige Werte: Zahl

Standardeinstellung: PURE_FTPD_VIRTUAL_SERVER_N='2'

PURE_FTPD_VIRTUAL_SERVER_x_NAME

Name des virtuellen Servers.

Gültige Werte: Text

Standardeinstellung: PURE_FTPD_VIRTUAL_SERVER_x_NAME=”

PURE_FTPD_VIRTUAL_SERVER_x_ACTIVE

Virtuellen Server aktivieren 'yes' oder 'no'

Gültige Werte: yes, no

Standardeinstellung: PURE_FTPD_VIRTUAL_SERVER_x_ACTIVE='no'

PURE_FTPD_VIRTUAL_SERVER_x_IP

IP-Adresse des virtuellen Servers.
Hier wird keine echte IP Adresse angegeben sondern der Index der Angabe IP_ETH_x_IPADDR aus der Base Konfiguration in /etc/config.d/base.

Gültige Werte: Index von IP_ETH_x_IPADDR

Standardeinstellung: PURE_FTPD_VIRTUAL_SERVER_x_IP='2'

PURE_FTPD_VIRTUAL_SERVER_x_DIR

Verzeichnis für den User anonymous bei Nutzung der IP-Adresse des virtuellen Servers.

Gültige Werte: Verzeichnis

Standardeinstellung: PURE_FTPD_VIRTUAL_SERVER_x_DIR='/ftpdata/extern'

Pure-FTPd (deny users)

Deny user sind schon länger Bestandteil der Funktionalität des Pure-FTPd. Bisher mussten diese User händisch in der Datei /etc/ftpusers konfiguriert werden.

Über die deny users kann normalen Unix Users verboten werden sich via FTP am Server anzumelden. D.h. ein User kann sich zwar per SSH oder direkt am Server anmelden, eine FTP Session zum Server unter Nutzung des entsprechenden Usernamens kann aber nicht aufgebaut werden.

Existiert noch keine Konfiguration der deny user in der Konfigurationsdatei des Pure-FTPd, so wird eine ggf. vorhandene Datei /etc/ftpusers gelesen und die entsprechenden Variablen belegt.

PURE_FTPD_ENABLE_DENY_USERS

Eine Angabe 'yes' sorgt dafür, dass die Funktionalität genutzt wird und dass die Datei /etc/ftpusers mit den Usernamen gefüllt wird.

Gültige Werte: yes, no

Standardeinstellung: PURE_FTPD_ENABLE_DENY_USERS='yes'

PURE_FTPD_DENY_USERS_N

Anzahl der zu konfigurierenden deny User.

Gültige Werte: Zahl

Standardeinstellung: PURE_FTPD_DENY_USERS_N='1'

PURE_FTPD_DENY_USERS_x_USERNAME

Username des deny Users.

Gültige Werte: Username

Standardeinstellung: PURE_FTPD_DENY_USERS_x_USERNAME='bill'

Pure-FTPd (additional settings)

PURE_FTPD_ADD_ARGS

Zusätzliche Argumente beim Start des Pure-FTPd. Hier sollten nur erfahrene Anwender Angaben machen.

Einer der häufigsten Anwendungsfälle für diesen Parameter ist eine Angabe der Form -L <Anzahl Dateien>:<Verzeichnistiefe>, also z.B. -L 5000:10. Der Pure-FTPd listet standardmäßig nur 2000 Dateien mit einer Verzeichnistiefe von 5. Diese Limitierung kann über eine entsprechende Angabe bei PURE_FTPD_ADD_ARGS umgangen werden.

Standardeinstellung: PURE_FTPD_ADD_ARGS=”

PURE_FTPD_SHOW_ARGS

Eine Angabe 'yes' sorgt dafür, dass alle Parameter für den Start des Pure-FTPd angezeigt werden. Dies ist bei einer Fehlersuche sinnvoll.

Gültige Werte: yes, no

Standardeinstellung: PURE_FTPD_SHOW_ARGS='no'

Die virtual User Konfigurationsdatei

Die Konfigurationsdatei (/etc/config.d/pure-ftpd-vuser) enthält die Konfiguration der virtuellen User.

Pure-FTPd (virtual Users)

PURE_FTPD_ENABLE_VIRTUAL_USERS

Unterstützung für die virtuellen FTP-User einschalten (yes) oder abschalten (no).

Gültige Werte: yes, no

Standardeinstellung: PURE_FTPD_ENABLE_VIRTUAL_USERS='no'

PURE_FTPD_VIRTUAL_USERS_DELETE

Diese Variable legt fest, ob virtuelle FTP-User die nicht mehr in einer PURE_FTPD_VIRTUAL_USERS_#_USERNAME Variablen definiert sind gelöscht werden oder, wie in den älteren Versionen des Pure-FTPd-Paketes, bestehen bleiben.

Wird PURE_FTPD_VIRTUAL_USERS_DELETE='yes' gesetzt, so sind nach Aktivierung der Konfiguration nur die aktuellen virtuellen FTP-User verfügbar. Alle anderen werden gelöscht, wobei allerdings die Homeverzeichnisse bestehen bleiben.

ACHTUNG
Wird die Variable auf dem Standardwert 'no' belassen, so kann es zu folgendem Effekt kommen. Ein virtueller FTP-User ist nicht mehr in der Konfigurationsdatei durch eine PURE_FTPD_VIRTUAL_USERS_#_USERNAME Variablen beschrieben, er ist aber in den internen Konfigurationsdateien des Pure-FTPd Servers weiterhin vorhanden und kann sich auch weiterhin anmelden.


Gültige Werte: yes, no

Standardeinstellung: PURE_FTPD_VIRTUAL_USERS_DELETE='no'

PURE_FTPD_VIRTUAL_USERS_N

Anzahl der definierten virtuellen User.

Gültige Werte: Zahl

Standardeinstellung: PURE_FTPD_VIRTUAL_USERS_N='1'

PURE_FTPD_VIRTUAL_USERS_x_USERNAME

Definiert für den virtuellen User x den Benutzernamen.

Gültige Werte: Username

Standardeinstellung: PURE_FTPD_VIRTUAL_USERS_x_USERNAME='testuser'

PURE_FTPD_VIRTUAL_USERS_x_ACTIVE

Virtuellen User aktivieren 'yes' oder 'no'

Gültige Werte: yes, no

Standardeinstellung: PURE_FTPD_VIRTUAL_USERS_x_ACTIVE='no'

PURE_FTPD_VIRTUAL_USERS_x_HOME

Definiert das Homeverzeichnis für den virtuellen User x.

Gültige Werte: absoluter Verzeichnisname

Standardeinstellung: PURE_FTPD_VIRTUAL_USERS_x_HOME='/home/vftp/testuser'

PURE_FTPD_VIRTUAL_USERS_x_PASSWD

Definiert das Passwort für den virtuellen User x. Wird ein Passwort leer gelassen (also ”), so wird beim Anlegen des Users nach dem Passwort gefragt. Wird ein Passwort angegeben, so bekommt der User dieses Passwort. Um die Sicherheit des Users nicht zu gefährden, wird das Passwort nach der Anlage des Users hier in der Konfiguration auf '******' umgesetzt.

Standardeinstellung: PURE_FTPD_VIRTUAL_USERS_x_PASSWD=”

FTP: Virtuelle User

Virtuelle User sind nur auf den Pure-FTPd beschränkt, der Login und das Passwort gelten nur für FTP, nicht für SSH oder andere Dienste.

Virtuelle User sind dann sehr nützlich, wenn bestimmte User nur FTP-Zugriff haben sollen und keine anderen Rechte haben sollen. In Verbindung mit dem Apache Webserver lassen sich damit z.B. einfach sehr grosse Mengen von virtuellen Hosts aufsetzen, denen jeweils ein virtueller FTP-User zugeordnet ist. Damit bleibt die Übersicht im System trotz der grossen Menge an FTP-Usern übersichtlich.

Die Homeverzeichnisse (Standardverzeichnisse) der virtuellen User liegen standardmäßig unter /home/vftp/. Wichtig: die Verzeichnisse der einzelnen virtuellen User werden, wenn sie nicht bereits existieren, erst beim ersten Login als virtueller User eingerichtet.

Nur FTP User

Normale Unix User können so konfiguriert werden, dass sie ausschließlich FTP-Zugriff haben und nicht die Shell Ebene benutzen können.

Dazu muss der Eintrag des entsprechenden Users in der Datei /etc/passwd modifiziert werden. Beispiel:

Die Zeile:
   onlyftp:x:2011:100:Only FTP:/home/onlyftp:/bin/bash
wird in
   onlyftp:x:2011:100:Only FTP:/home/onlyftp:ftp
geändert.

Der Unix-User onlyftp hat jetzt keine gültige Shell mehr. Normalerweise weist der Pure-FTPd solche User auch beim Versuch eines FTP-Zugriffs ab, da die PAM Konfiguration eine gültige Shell voraussetzt.

Wird nun über
  PURE_FTPD_USE_PAM='no'
die Authentifizierung über das sog. Pluggable Authentication Module interface (PAM) ausgeschaltet, so nutzt der Pure-FTPd die Datei /etc/passwd direkt. Der Pure-FTPd erkennt den Eintrag ftp als Shell an und ermöglicht den FTP-Zugriff.

ACHTUNG:
bei PURE_FTPD_USE_PAM='no' werden die ueber die Konfiguration von
PURE_FTPD_ENABLE_DENY_USERS konfigurierten sog. Deny User nicht mehr beachtet. Die Datei /etc/ftpusers, diese wird aus den Angaben den erstellt wird, wird über die PAM Konfiguration ausgewertet.
Siehe /etc/pam.d/pure-ftpd Zeile
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
Da bei
  PURE_FTPD_USE_PAM='no'
PAM nicht mehr genutzt wird, wird daher auch diese Datei / Zeile nicht mehr genutzt.

Informationen zu Verzeichnissen

Eine Reihe von Verzeichnissen spielen beim Paket pure-ftpd wichtige Rollen.

a.) normale Unix User

Meldet man sich beim pure-ftpd Server als normaler Unix User an, so hat man zunächst Zugriff auf das Home-Verzeichnis des Unix-Users.

Nur User mit der Group-ID 0, also z.B. der User root hat das Recht sein Home-Verzeichnis nach ”unten” also in Richtung des sog. Wurzelverzeichnisses / zu verlassen.

Über die Angabe in PURE_FTPD_DONT_CHROOT_GROUP kann einer Gruppe (über die Group-ID) und damit allen Gruppenmitgliedern die Erlaubnis gegeben werden ebenfalls das Home-Verzeichnis nach ”unten” zu verlassen. Wird hier die Gruppe users (über deren Group-ID) angegeben, so ist die Sicherheit des Servers u.U. stark gefährdet.

Es gibt spezielle, sehr besondere und komplexe Konfigurationen: Siehe dazu https://download.pureftpd.org/pub/pure-ftpd/doc/README unter dem Stichpunkt chroot.

b.) virtuelle User

Virtuelle User haben Home-Verzeichnisse im Verzeichnis /home/vftp. Der Name des Home-Verzeichnisses sollte dem Usernamen entsprechen, kann aber innerhalb des Verzeichnisses /home/vftp frei gewählt werden.

Obwohl der gesamte Verzeichnisbaum, also auch /home/vftp wählbar ist sollten nur erfahrene Administratoren den Basis-Pfad /home/vftp ändern.

c.) anonymous User

Hier hängt das genutzte Verzeichnis davon ab, ob virtuelle Server definiert sind.

Ist kein virtueller Server definiert, so sieht der anonymous User nach dem Anmelden das Verzeichnis /home/ftp.

Sind virtuelle Server definiert, so ist das Verzeichnis abhängig von der genutzten IP-Adresse (PURE_FTPD_VIRTUAL_SERVER_x_IP) und dem dazu gehörigen Verzeichnis (PURE_FTPD_VIRTUAL_SERVER_x_DIR).

Einstellungen beim Übersetzen der Packages

Mit folgenden Einstellungen wurde der Pure-FTPd übersetzt:

--with-ftpwho
--with-rfc2640
--prefix=/usr
--sysconfdir=/etc/pure-ftpd
--with-ftpwho
--with-puredb
--with-language=english
--with-throttling
--with-altlog
--with-quotas
--with-uploadscript
--with-peruserlimits
--with-ratios
--with-pam
--with-tls
--with-certfile=/var/certs/ssl/certs/pure-ftpd.pem
--with-sysquotas
--with-mysql
--with-cookie
--with-virtualhosts

Der pure-ftpd wird zwei mal konfiguriert und übersetzt:
--with-virtualchroot
Hier ensteht das Binary pure-ftpd_with_virtualchroot.

Beim zweiten konfigurieren und übersetzten wird ohne diese Konfiguration übersetzt. Es entsteht das Binary
pure-ftpd_no_virtualchroot

Bis incl. Version 2.9.1 zusätzlich

--with-pgsql