wuftpd - ftp Server (V 1.3)
:::[ OPT_WUFTPD ][ OPT_WUFTPD_HTTP ][ OPT_WUFTPD_TOOLS ][ WUFTPD_PORT ][ WUFTPD_FTPMASTER ][ WUFTPD_LOCAL_NET ][ WUFTPD_HOME ][ WUFTPD_ADMIN ][ WUFTPD_A_PW ][ WUFTPD_ANONYMOUS ][ WUFTPD_UPLOAD ][ WUFTPD_G_N ][ WUFTPD_G_x_ACC ][ WUFTPD_G_x_PW ][ WUFTPD_XFERLOG ][ WUFTPD_XFERLOGFILE ][ WUFTPD_XFERLOGDIR ][ WUFTPD_SYSLOG ][ WUFTPD_LOG_SECURITY ][ WUFTPD_LOG_TRANSFERS ][ WUFTPD_LOG_COMMANDS ][ Anmerkung zum real-Login ]:::

OPT_WUFTPD - Installation des wu.ftpd Serverdienstes

Ist OPT_WUFTPD='yes' gesetzt, wird auf dem fli4l-Router ein ftp-Server installiert. Dazu wird nach /usr/sbin der wu.ftpd in der Version 2.6.2 als optionales Programm installiert. Dieses läuft dann als Dienst in einer sich selbst konfigurierenden Change-Root Umgebung und ist als Serverdienst für die äussere Seite gedacht.

Voraussetzungen:

  1. das Package ¨hd¨ muß installiert und eine Partition unter /usr/local/data gemountet sein. (Die Daten sollen schließlich nicht bei jedem Booten weg sein, oder ? bzw. frei nach einer alten Bauernregel ¨Platz ist auch auf der kleinsten Diskette¨ )
  2. es darf kein anderer ftp Dienst auf Port 21 laufen ( z.b. mit OPT_FTPD='yes' und den Standardeinstellungen aus dem ¨inet¨ Package) wenn der Port für den WUFTPD nicht geändert wurde.
  3. Für den Zugang von Außen sind in der Firewallkonfiguration (base.txt) die Parameter FIREWALL_DENY_PORT_N und FIREWALL_DENY_PORT_x für den Port 21 (oder den entsprechend geänderten) anzupassen. (d.h. die Zeile FIREWALL_DENY_PORT_1='0:52   REJECT' ist wie im Beispiel für das Portforwarding in zwei Hälften aufzusplitten um den Port 21 auszulassen).
  4. Der Port 21 (bzw. der alternative Port) darf mit der Forwarding Funktion natürlich nicht auf einen anderen Host im lokalen Netzwerk forgewardet sein.

Die change-root Umgebung wird automatisch unter dem in der Variablen WUFTPD_HOME angegebenen Pfad (Standard:/usr/local/data/ftp) angelegt.
Für die Funktion werden Einträge in der /etc/passwd benötigt und daher selbstständig hinein geschrieben. Dabei werden user-IDs ab 40 benutzt. Ebenfalls werden Gruppen mit IDs ab 200 selbstständig angelegt.

Die Quellen zum wu-ftpd findet man unter http://www.wuftpd.org.
Das Copyright liegt bei : ¨Copyright (c) 1999,2000,2001 WU-FTPD Development Group¨
Die Software ist als ¨freeware¨ oder ¨Open Source Software¨ unter der Angabe der Lizenzbedingungen zu verwenden.

Standard-Einstellung: OPT_WUFTPD='no'

nach oben

OPT_WUFTPD_HTTP

Wenn der httpd Dienst aus den Dtandartpaketen installiert ist, kann man mit dem setzern der Vatiablen OPT_WUFTPD_HTTP='yes' ein cgi-Script installieren, welches sich in den httpd integriert. Mittels dieser Oberfläche kann man den Zugang zum ftp-Service sperren und wieder freigeben. Außerdem sieht man, wer gerade auf den ftp eingeloggt ist und welche Kennungen ftp-Berechtigungen haben. Wenn das xferlog mittels WUFTPD_XFERLOG='yes' aktiviert wurde kann man sich hierüber auch die entstehenden Logfiles ansehen.

Standard-Einstellung: OPT_WUFTPD_HTTP='no'

nach oben

OPT_WUFTPD_TOOLS

Setzt man OPT_WUFTPD_TOOLS='yes' so werden 5 Binarys (ftpcount ftpshut ftprestart ftpwho ckconfig ) unter /usr/bin installiert. Diese können von der Shell aus auf dem Router benutzt werden. Beschreibungen findet man unter http://www.wuftpd.org. Für den standardmäßigen Betrieb sind diese Programme allerdings nicht notwendig.

Standard-Einstellung: OPT_WUFTPD_TOOLS='no'

nach oben

WUFTPD_PORT

Mit der Variable WUFTPD_PORT kann man den Port bestimmen, auf dem der wuftpd laufen soll. Bei ev. Änderung des Ports sind auch die Einstellungen der Firewallkonfiguration anzupassen!

Standard-Einstellung: WUFTPD_PORT='21'

nach oben

WUFTPD_FTPMASTER

In der Variable WUFTPD_FTPMASTER soll eine e-Mail Adresse hinterlegt werden, unter der man den ftp-Betreiber erreichen kann.

Standard-Einstellung: WUFTPD_FTPMASTER='your.account@evrywhare.world'      !! Bitte ändern !

nach oben

WUFTPD_LOCAL_NET

Mit der Variable WUFTPD_LOCAL_NET wird das TCP/IP-Band festgelegt, welches auf der internen Seite des Routers benutzt wird.
(dies ist für die Entscheidung über die Art des Logins notwendig, siehe auch Anmerkung zum real-Login )

Standard-Einstellung: WUFTPD_LOCAL_NET='192.168.6.*'

nach oben

WUFTPD_HOME

Mit der Variable WUFTPD_HOME wird das Basisverzeichnis für den wuftpd-Datenbereich festgelegt. Aus diesem Verzeichnis können weder der Benutzer ¨anonymous¨ noch die Guest-Accounts (WUFTPD_G_N) ¨ausbrechen¨. Die Ausnahme sind die sogenannten real-Accounts -> siehe Anmerkung zum real-Login .
Das Basisverzeichnis wird selbstständig erstellt. Unterhalb dieses Verzeichnises wird dann die notwendige Umgebung für die ftp-Nutzer geschaffen. Im Unterverzeichnis pub werden dann die Home-Verzeichnisse des WUFTPD_ADMIN und die der Guest-Accounts (WUFTPD_G_N) angelegt.

Standard-Einstellung: WUFTPD_HOME='/usr/local/data/ftp'

nach oben

WUFTPD_ADMIN

Die mit der Variable WUFTPD_ADMIN festgelegte Kennung ist eine administrative Kennung für den ftp-Datenbereich. Ein Login ist nur aus dem mit WUFTPD_LOCAL_NET festgelegten Adressband möglich. Die Kennung besitzt Lese- und Schreibrechte in den Unterverzeichnissen von WUFTPD_HOME/pub. Sie ist außerdem eine real-Kennung (siehe Anmerkung zum real-Login ).

Standard-Einstellung: WUFTPD_ADMIN='ftpadm'

nach oben

WUFTPD_A_PW

Legt das Passwort für die Kennung WUFTPD_ADMIN fest.

Standard-Einstellung: WUFTPD_A_PW='ftplogin'      !! Bitte ändern !

nach oben

WUFTPD_ANONYMOUS

Durch Setzen der Variable WUFTPD_ANONYMOUS auf ¨yes¨ wird der anonyme Zugriff ermöglicht. Dabei sind die Rechte so eingeschränkt, daß der Benutzer ¨anonymous¨ WUFTPD_HOME als ¨/¨ dargestellt bekommt, er jedoch in allen Unterverzeichnissen alles lesen kann.
Ist die Variable auf ¨no¨ gesetzt, so ist kein anonymer Zugriff auf den ftp möglich.

Standard-Einstellung: WUFTPD_ANONYMOUS='yes'

nach oben

WUFTPD_UPLOAD

Ist die Variable WUFTPD_ANONYMOUS auf ¨yes¨ gesetzt und somit der anonyme Zugriff gestattet, so kann hier ein Verzeichnis angegeben werden, in dem der Benutzer ¨anonymous¨ Daten Uploaden (jedoch dann auch nicht mehr löschen) kann. Dieses Verzeichnis wird unter WUFTPD_HOME/pub angelegt.
Wenn die Variable leer ist (WUFTPD_UPLOAD='') so kann der Benutzer ¨anonymous¨ nirgends schreiben.

Standard-Einstellung: WUFTPD_UPLOAD='incoming'

nach oben

WUFTPD_G_N ; WUFTPD_G_x_ACC ; WUFTPD_G_x_PW

Mit der Variable WUFTPD_G_N legt man die Anzahl der Gast-Accounts fest, die auf den ftp Server schreibend zugreifen können.
Die Variablen WUFTPD_G_x_ACC und WUFTPD_G_x_PW legen dann den Namen der jeweiligen Kennung (bitte keine Leer- bzw. Sonderzeichen benutzen) und das Passwort fest.

Für diese Benutzer wird unter WUFTPD_HOME/pub ein Homeverzeichnis angelegt, in dem sie lesen, schreiben und auch löschen können. In allen anderen Verzeichnissen können sie, wie der Benutzer ¨anonymous¨, lesen.

Standard-Einstellung: WUFTPD_G_N='1' ; WUFTPD_G_1_ACC='ftpguest' ; WUFTPD_G_1_PW='ftplogin'      !! Bitte ändern !

nach oben

WUFTPD_XFERLOG ; WUFTPD_XFERLOGFILE ; WUFTPD_XFERLOGDIR

Durch das Setzen der Variable WUFTPD_XFERLOG auf ¨yes¨ wird das xferlog des wu-ftpd aktiviert. Das heist, das in dem Logfile ¨/var/log/xferlog¨ die mittels WUFTPD_LOG_COMMANDS bzw. WUFTPD_LOG_TRANSFERS ausgewählten Aktivitäten protokolliert werden.
Da das Logfile unter ¨/var/log/xferlog¨ auf dem fli4l in einem Bereich angesidelt ist, der in der RAM-Disk liegt, würden alle Einträge bei jedem Boot verschwinden. Deshalb wird mittels der Variablen WUFTPD_XFERLOGDIR und WUFTPD_XFERLOGFILE die Datei ¨/var/log/xferlog¨ in ein Verzeichnis auf der Festplatte, ( also unter ¨/usr/local/data ...¨ ) verlinkt und somit gespeichert. Außerdem wird der Dateiname um das Datum ergänzt, so das es für jeden Tag eine eigene Datei giebt. Diese lassen sich mittels dem cgi-Tool OPT_WUFTPD_HTTP ansehen, durchsuchen und auch löschen.

nach oben

WUFTPD_SYSLOG

Wenn man die Variable WUFTPD_SYSLOG auf ¨yes¨ setzt, werden die mittels WUFTPD_LOG_COMMANDS, WUFTPD_LOG_TRANSFERS bzw. WUFTPD_LOG_SECURITY ausgewählten Aktivitäten im syslog protokolliert. Wenn mann im Windows imonc den syslog-Client aktiviert und im base.txt den syslogd entsprechend Konfiguriert, kann man die wu-ftpd Aktivitäten auf seinem PC Protokollieren und auswerten.

nach oben

WUFTPD_LOG_SECURITY

Setzt man die Variable WUFTPD_LOG_SECURITY auf ¨yes¨, so werden alle Security-Ereignisse im syslog protokolliert. Voraussetzung ist natürlich die Aktivierung mittels WUFTPD_SYSLOG=¨yes¨

nach oben

WUFTPD_LOG_TRANSFERS

Setzt man die Variable WUFTPD_LOG_TRANSFERS auf ¨yes¨, so werden alle Up- bzw. Downloads im syslog/xferlog protokolliert. Voraussetzung ist natürlich die Aktivierung mittels WUFTPD_SYSLOG=¨yes¨ oder/und WUFTPD_XFERLOG=¨yes¨

nach oben

WUFTPD_LOG_COMMANDS

Setzt man die Variable WUFTPD_LOG_COMMANDS auf ¨yes¨, so werden alle Kommandos der wu-ftp Benutzer im syslog/xferlog protokolliert. Voraussetzung ist natürlich die Aktivierung mittels WUFTPD_SYSLOG=¨yes¨ oder/und WUFTPD_XFERLOG=¨yes¨

nach oben

Anmerkung zum real-Login

Nur aus dem in WUFTPD_LOCAL_NET festgelegten Adressband sind ftp-Logins mit Realen Benutzern möglich (real-Logins). Diese haben Zugriff auf die Dateistruktur des gesamten Router. Dabei ist es vom Benutzer abhängig, welche Rechte diese Kennung hat. Die vom Paket mitgebrachte Kennung WUFTPD_ADMIN hat nur die Rechte einer ¨normalen¨ Userkennung, d.h. wenn überhaupt, dann kann sie nur lesen, mit Aussnahme des WUFTPD_HOME, dort besitzt sie Lese-, Schreib- und Löschrechte. Für einen real-Login mit weitreichenden Rechten käme daher nur die Standardkennung ¨root¨ in Frage. Dies halte ich persönlich für zumindest bedenklich! Deshalb sind in der wuftpd Konfigurationsdatei (opt/etc/ftpusers) die zwei Standarduser root und nobody aufgeführt, somit wird ein ftp-Login mit diesen Kennungen generell verhindert. Soll dennoch ein ftp-Login mit der Kennung ¨root¨ von Intern möglich sein, ist aus besagter Datei die Zeile ¨root¨ zu löschen

nach oben
» Zur Doku «