# Das Handbuch zu &kwuftpd;

## Einleitung

Auf der einein Seite sind &UNIX;-System bekannt für ihre Rolle als Server-Systeme. Auf der anderen Seite ist aber die Einrichtung dieser Server-Dienste für durchschnittliche Benutzer schwierig. Gleichzeitig versuchen Distributoren, diese Schwierigkeiten möglichst zu umgehen, indem sie gefährlich offene Standardkonfigurationen verwenden.

Mit dem &kde;-Programm &kwuftpd; kann man `ftpaccess`-Dateien von wu-ftpd bearbeiten. &kwuftpd; wurde ursprünglich für BeroFTPD 1.2.1 entwickelt und dann später an die auf &RedHat; &Linux; 7.0 verwendete Version 2.6.1 von wu-ftpd angepasst. Um den erweiterten Funktionsumfang einer neueren Version von wu-ftpd voll nutzen zu können, sollten Sie &kwuftpd; aktualisieren (oder die Datei `ftpaccess` von Hand bearbeiten).

Da es sich bei &kwuftpd; noch um eine Beta-Version handelt, sollte man grundsätzlich eine Kopie der Datei `ftpaccess` anfertigen, bevor man Sie mit &kwuftpd; bearbeitet.

&kwuftpd; stammt von Bernhard Rosenkaenzer bero@redhat.com und ist (c) 2000 &RedHat; Inc.

### Haftungsausschluss

Zusätzlich zu den üblichen Haftungsausschlüssen, die für Programme üblich ist (Wir übernehmen keine Verantwortung für irgend etwas Übles, das passieren könnte.) soll hier gesondert darauf hingewiesen werden, dass man mit &kwuftpd; die Möglichkeiten für Benutzer einrichtet, eine Verbindung zum Rechner herzustellen und dort Dateien hinzuzufügen, zu verändern oder zu löschen. Daher sollte man einige Dinge beachten:

- Mit &kwuftpd; kann man einen Server sicherer machen -- das bedeutet keine Garantie. Es gibt reichhaltige Materialien zum Thema Netzwerksicherheit, die ein Systemverwalter benutzen sollte.

- Die in dieser Dokumentation angegebenen Beispiele sollen die Funktionen von &kwuftpd; erläutern. Sie sind nicht als Sicherheitshinweise gedacht und sollten daher auch nicht als solche verwendet werden.

- Man sollte unbedingt eine Sicherheitskopie von `ftpaccess` machen, bevor man die Arbeit mit &kwuftpd; beginnt.

## Grundlegende Einrchtung von &FTP;

&kwuftpd; dient zur Einrichtung eines Rechners, auf dem ein &FTP;-Server bereits läuft. Die Einrichtung des Servers ist zu umfangreich, um hier erläutert zu werden. Dennoch einige kleine Hinweise:

1. Zunächst muss wu-ftpd oder ein ähnlicher &FTP;-Server installiert werden. Das Paket anonftp ist nützlich, falls der &FTP;-Server für anonyme Benutzer (anonymous) freigegeben werden soll.

2. In der Datei `/etc/inetd.conf` sollte sich etwa folgende Zeile befinden:

       # ftp   stream  tcp nowait  root    /usr/sbin/tcpd  in.ftpd -l
       -a

   Das Kommentarzeichen # am Anfang der Zeile muss entfernt werden. Sollte kein solches Zeichen vorhanden sein, sollte man das als Warnung betrachten und die Datei nach weiteren Diensten absuchen, die man nicht benötigt, und diese auskommentieren. Danach muss man den `inetd` neu starten (auf &RedHat; und ähnlichen Systemen erreicht man das durch den Befehl ``/etc/rc.d/init.d/inet` `restart``).

## Verwendung von &kwuftpd;

### Starten von &kwuftpd;

Um &kwuftpd; zu starten, wählt man im &kde;-Menü System Weitere Anwendungen KWuFTPd. Alternativ kann man auch ``kwuftpd`` in die Befehlszeile eintippen. Das Programm verfügt über die standardmäßigen Optionen von &Qt; und &kde;, die man durch ``kwuftpd` `-all`` anzeigen lassen kann.

### Über &FTP;-Zugänge

Bei &kwuftpd; muss der Benutzer zwischen drei Benutzertypen unterscheiden:

Anonym

- Zu diesem Typ gehört jeder, der sich unter dem Namen `ftp` oder `anonymous` anmeldet und an Stelle eines Passwortes seine E-Mail-Adresse eintippt.

Gast

- Zu diesem Typ gehören alle Benutzer mit eigenen &FTP;-Zugängen in `/etc/ftpusers`, die kein Benutzerkonto auf dem Rechner haben.

Bekannt

- Benutzer, die ein Benutzerkonto auf dem Rechner besitzen.

### Menübefehle

#### Das Menü Datei

Datei /etc/ftpaccess laden

- Öffnet die Standardkonfigurationsdatei von wu-ftpd `/etc/ftpaccess` zur Bearbeitung.

Datei Andere Datei laden...

- Öffnet eine andere Datei zur Bearbeitung. Das ist nützlich, um mit einer anderen Datei zu experimentieren, bevor man die Änderungen in die Datei `/etc/ftpaccess` einträgt.

Datei /etc/ftpaccess speichern

- Speichert die Änderungen in `/etc/ftpaccess`.

Datei Andere Datei speichern...

- Speichert die Änderungen in der angegebenen Datei.

Datei Beenden

- Beendet &kwuftpd;.

#### Das Menü Hilfe

&help.menu.documentation;

### Benutzerklassen

Die Karteikarte Benutzerklassen Die Karteikarte Benutzerklassen

Die Karteikarte Benutzerklassen

Auf dieser Karteikarte kann man für bestimmte IP-Adressen oder Adressbereiche Benutzerklassen anlegen und deren Zugriffsrechte einrichten. Hier kann man zum Beispiel festlegen, dass anonyme oder Gastbenutzer zusätzliche Rechte haben, wenn Sie sich von bestimmten Rechnern aus anmelden.

Eine neue Benutzerklasse wird mit dem Knopf Hinzufügen angelegt. Im Dialog muss man der Klasse einen Namen geben, den Benutzertyp für diese Klasse angeben (dazu weiter unten mehr) und die IP-Adressen für diese Klasse festlegen. Mit `*` definiert man einen Adressbereich (die Angabe `127.0.0.*` beinhaltet alle lokalen Benutzer.) Zum Abschluss klickt man auf OK.

Auf der Karteikarte Benutzerklassen kann man die erstellten Klassen auswählen und deren Beschreibung oder Zugriffsrechte verändern. Die IP-Adresse kann auch verändert werden. Weiterhin kann man festlegen, ob anonyme, Gast- und bekannte Benutzer zu dieser Klasse gehören sollen. Durch Automatisch in Gruppe kann man die Benutzer dieser Klasse unter Übertragung aller Rechte zu einer lokalen Benutzergruppe zuordnen.

Unten kann man noch die maximale Anzahl der Benutzer dieser Klasse zu festgelegten Zeiten angeben. Falls diese Grenze überschritten wird, bekommen weitere Benutzer dieser Klasse eine Nachricht angezeigt, die auch hier festgelegt werden kann.

Im Beispiel werden bekannte Benutzer von 127.0.0.* der Gruppe nobody zugeordnet und die maximale Anzahl ist zu jeder Zeit auf einen Benutzer begrenzt.

### Verzeichnisse

Die Karteikarte Verzeichnisse Die Karteikarte Verzeichnisse

Die Karteikarte Verzeichnisse

Auf dieser Karteikarte kann man für anonyme und Gastbenutzer das Wurzelverzeichnis festlegen (Bekannte Benutzer sehen das vorhandene Dateisystem.) Weiterhin können Dateien angegeben werden, die an Stelle der Dateien `/etc/passwd` und `/etc/shadow` verwendet werden sollen. Bleiben diese Einträge frei, so werden die Standardsystemdateien verwendet.

Das Beispiel zeigt `/home/ftp/pub` als Wurzelverzeichnis für anonyme Benutzer, während Gastbenutzer das vorhandene Dateisystem sehen. Außerdem werden spezielle &FTP;-Passwort-Dateien an Stelle der Systemdateien verwendet.

### Sicherheit

Die Karteikarte Sicherheit Die Karteikarte Sicherheit

Die Karteikarte Sicherheit

Hier können verschiedene Einstellungen zur Sicherheit verändert werden. Im Abschnitt Nicht verfügbare können Dateien angegeben werden, die nicht heruntergeladen werden dürfen. Dazu klickt man auf Hinzufügen und wählt im Dialog die nicht verfügbare Datei aus. Durch Auswahl eines Eintrags und Entfernen wird ein Eintrag aus dieser Liste entfernt.

Nach Anzahl der erlaubten Fehlanmeldungen gescheiterten Anmeldeversuchen wird die Verbindung getrennt.

Falls SITE GROUP erlauben markiert ist, dürfen Benutzer die Gruppe, der sie angehören, mit dem Befehl ``SITE` `GROUP`` verändern.

Die Zugriffsrechte auf die Befehle `chmod`, `delete`, `overwrite`, `rename` und `umask` können für jeden Benutzertyp (anonym, Gast, bekannt) getrennt eingeschränkt werden.

Die E-Mail-Adresse, die von anonymen Benutzern an Stelle eines Passwortes verlangt wird, kann unterschiedlich streng überprüft werden.

Nein

- Das eingegebene Passwort wird nicht überprüft.

Einfach

- Das Passwort muss mindestens das Zeichen @ enthalten.

RFC822

- Das Passwort muss die Form einer gültigen Adresse haben.

Falls Erzwingen markiert ist, wird die Verbindung abgelehnt, andernfalls wird lediglich eine Warnung ausgegeben.

Im Beispiel dürfen keine Dateien aus `/bin` und `/sbin` vorgenommen werden. Weiterhin ist die Datei `/etc/passwd` gesperrt. Die Verbindung wird nach 5 Anmeldeversuchen getrennt, ``SITE` `GROUP`` ist nicht erlaubt und die Standardbefehle sind für anonyme Benutzer nicht erlaubt. Anonyme Benutzer werden gewarnt, falls ihr Passwort nicht den RFC-Konventionen entspricht.

### Nachrichten

Die Karteikarte Nachrichten Die Karteikarte Nachrichten

Die Karteikarte Nachrichten

Nachrichten für die eingeloggten Benutzer werden auf dieser Karteikarte festgelegt.

Hier kann man eine Datei auswählen, die beim Verbindungsaufbau (vor der Anmeldung) angezeigt wird. Allerdings können sehr alte &FTP;-Programme durch solche Texte verwirrt werden.

Der Rechnername kann festgelegt werden. Dieser Name wird einerseits bei der Anmeldung angezeigt und kann außerdem bei anderen Nachrichten (als %L) eingesetzt werden. Falls kein Rechnername angegeben wird, wird der wirkliche Rechnername an dieser Stelle verwendet.

Ähnlich kann für Nachrichten (als %E) die E-Mail-Adresse des Systemverwalters angegeben werden.

Falls die entsprechenden Ankreuzfelder markiert sind, werden Nachrichten und `README`-Dateien jedesmal beim auslösenden Ereignis (Erklärung folg) angezeigt, ansonsten nur beim ersten Mal.

Die Datei mit dem anzuzeigenden Text kann man über Nachricht hinzufügen festlegen. Neben Ort und Name der Datei muss man noch festlegen, ob die Datei bei der Anmeldung oder beim Wechsel des Benutzers in ein bestimmtes Verzeichnis angezeigt werden soll. Weiterhin muss angegeben werden, für welche Benutzerklassen diese Datei anzuzeigen ist.

Analog ist der Mechanismus für `README`-Dateien.

Im Beispiel soll der Text in `/home/ftp/welcome.txt` nach dem Verbindungsaufbau angezeigt werden. als Rechnername wird `camelot` verwendet und für die Systemverwalteradresse jsinger@leeta.net. Bisher wurden weder Nachrichten noch `README`-Dateien definiert.

### Protokoll

Die Karteikarte Protokoll Die Karteikarte Protokoll

Die Karteikarte Protokoll

Auf dieser Karteikarte wird eingestellt, welche Ereignisse (in der Datei `/var/log/xferlog`)protokolliert werden. Die Einstellungen können für anonyme, Gast- und bekannte Benutzer unterschiedlich sein. Es können eingegebene Befehle, hochgeladene und heruntergeladene Dateinamen oder Sicherheitsverletzungen (wie fehlgeschlagene Anmeldeversuche) protokolliert werden.

Mit dem Ankreuzfeld Ins Systemprotokoll umleiten werden die Protokolleinträge in das Systemprotokoll an Stelle der &FTP;-Protokolldatei umgeleitet.

Bei hochgeladenen Dateien (eingehende Übertragungen) kann automatisch eine E-Mail verschickt werden. Dazu können `E-Mail senden als` sowie der Mailserver und die Adresse des Systemverwalters angegeben werden.

Im Beispiel werden alle Befehle und Übertragungen sowie Sicherheitsverletzungen der bekannten Benutzer protokolliert. Bei eingegangenen Übertragungen wird eine E-Mail an admin von Eingegangene Übertragung unter Verwendung des Standard-Mailservers gesendet.

### Verhältnisse

Die Karteikarte Verhältnisse Die Karteikarte Verhältnisse

Die Karteikarte Verhältnisse

Auf dieser Karteikarte kann der Zugriff für anonyme und Gastbenutzer weiter eingeschränkt werden. Dabei kann jede der Einstellungen für anonyme und/oder Gastbenutzer gelten.

Verhältnis von Hinaufladen/Herunterladen

- Zum Beispiel bedeutet 1:5, dass ein Benutzer 1 Megabyte an Daten hochladen muss, damit er 5 Megabyte herunterladen darf.

Zeitbegrenzung

- Ein Benutzer darf maximal für diese Zeitspanne angemeldet sein.

Begrenzung für das Hinaufladen

- Die Maximalmenge in Bytes, die in einer Sitzung hinaufgeladen werden kann.

Begrenzung für das Herunterladen

- Die Maximalmenge in Bytes, die in einer Sitzung heruntergeladen werden kann.

Einzelne Dateien und Verzeichnisse können von diesen Mengenbegrenzungen ausgenommen werden.

Im Beispiel sind die Verhältnisse ausgeschaltet, anonyme Benutzer dürfen sich aber nur für 15 Minuten anmelden und maximal 10 MB in einer Sitzung herunterladen.

### Uploads

Die Karteikarte Uploads Die Karteikarte Uploads

Die Karteikarte Uploads

Hier kann man einstellen, wo und auf welche Art Benutzer Dateien hinaufladen können. Mit Hinzufügen fügt man eine neue Regel hinzu, mit Ändern... verändert man die ausgewählte Regel und durch Entfernen wird die ausgewählte Regel gelöscht.

Jede Regel bezieht sich auf Benutzer mit einem bestimmten Wurzelverzeichnis und betrifft ein Verzeichnis zum Hinaufladen. Für das Verzeichnis zum Hinaufladen kann man Platzhalter verwenden (z.B. `/home/ftp/upload/*` enthält alle Inhalte von `/home/ftp/upload`).

Hinaufladen kann erlaubt oder verboten sein und die Rechte, Besitzer und Gruppe der erzeugten Dateien können festgelegt werden. Die Berechtigung, neue Unterverzeichnisse anzulegen kann erlaubt oder verboten werden.

### Virtuelle Rechner

Die Karteikarte Virtuelle Rechner Die Karteikarte Virtuelle Rechner

Die Karteikarte Virtuelle Rechner

Für jede Adresse können folgende Punkte festgelegt werden:

Wurzelverzeichnis

- Dieses Verzeichnis sieht der angemeldete Benutzer als Wurzel des Dateisystems (`/`).

Banner

- Eine Datei, deren Inhalt jedem Benutzer bei der Anmeldung angezeigt werden soll. Die Pfadangabe ist relativ zum Wurzelverzeichnis für diesen virtuellen Rechner.

Protokolldatei

- Übertragungen werden in dieser Datei protokolliert.

passwd-Datei

- Hier kann eine alternative Passwort-Datei angegeben werden, ansonsten wird die Systemdatei verwendet.

shados-Datei

- Hier kann eine alternative shadow-Datei angegeben werden, ansonsten wird die Systemdati verwendet.

Rechnername

- Dieser Rechnername wird bei der Anmeldung angezeigt und für %L in Nachrichtendateien eingesetzt.

E-Mail-Adresse des Administrators

- Diese E-Mail-Adresse wird als %E in Nachrichtendateien eingesetzt.

Anonyme Anmeldungen können erlaubt oder verboten sein.

Bekannten Benutzern kann der Zugriff erlaubt oder verboten sein. Bestimmten Benutzern kann der Zugriff erlaubt oder verboten sein.

Im Beispiel Im Beispiel hat der virtuelle Rechner `211.22.55.114` sein Wurzelverzeichnis in `/home/ftp/virtual` auf dem realen Rechner. Er verwendet eigene Passwort- und shadow-Dateien in `/ftp`, meldet sich mit dem Rechnernamen `ganesh` und der Systemverwalteradresse root und erlaubt nur anonyme Anmeldungen für alle Benutzer.

## Mitwirkende und Lizenz

&kwuftpd;

Das Programm stammt von Bernhard Rosenkraenzer bero@redhat.com und steht unter dem Copyright 2000 &RedHat;, Inc.

Das Copyright 2000 für die Dokumentation liegt bei Jonathan Singer jsinger@leeta.net.

Deutsche Übersetzung Frank Schütte F.Schuette@t-online.de

&underFDL; &underGPL;

## Installation

&install.intro.documentation;

&kwuftpd; ist Bestandteil des Pakets kdeadmin und sollte wie im Hauptverzeichnis des Pakets angegeben kompiliert und installiert werden. Neue Versionen sind erhältlich von ftp://ftp.kde.org.

&install.compile.documentation;

Man benötigt außerdem einen ftpd, der die erzeugten ftpaccess-Dateien verarbeiten kann - ursprünglich wurde &kwuftpd; für wu-ftpd 2.6.1 (ftp://ftp.wu-ftpd.org/pub/wu-ftpd) geschrieben. Man kann die erzeugten Dateien aber auch mit wu-ftpd 2.5.0 verwenden. Es werden aber nicht alle Funktionen unterstützt.