GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Webmin

WU-FTPD-Server


In diesem Kapitel der WU-FTPD Server für das FTP-Protokoll wird erklärt, und die Schritte zur Konfiguration für viele gängige Aufgaben werden aufgelistet.

Hinweis: Da moderne FTP-Clients SSH unterstützen, erwägen Sie die Verwendung eines SSH-Servers anstelle eines FTP-Servers, für (viel) mehr Sicherheit, als jeder FTP-Server versprechen kann

Inhalt

Einführung in WU-FTPD

WU-FTPD (WU steht für Washington University) ist wahrscheinlich der beliebteste Unix-FTP-Server im Internet und ist standardmäßig in den meisten Unix- und Linux-Betriebssystemen enthalten. Seine große Anzahl an konfigurierbaren Optionen macht ihn dem „klassischen“ oder BSD-FTP-Server überlegen, der immer noch von einigen Unix-Varianten verwendet wird, aber er ist meiner Meinung nach nicht so flexibel oder sauber implementiert wie ProFTPD, das in Kapitel 40 behandelt wird. Dieses Kapitel enthält auch eine kurze Einführung in das FTP-Protokoll, die Sie lesen sollten, bevor Sie fortfahren, wenn Sie mit Konzepten wie FTP-Clients und -Servern nicht vertraut sind.

In seiner normalen Standardkonfiguration erlaubt WU-FTPD jedem Unix-Benutzer (mit Ausnahme von Systembenutzern), sich mit seinen Standardbenutzernamen und -kennwörtern anzumelden und Dateien auf dem Serversystem hochzuladen, herunterzuladen und zu manipulieren, mit denselben Berechtigungen, die sie hätten, wenn sie über verbunden wären Telnet oder SSH. Es kann auch so eingerichtet werden, dass anonyme Anmeldungen unterstützt werden, sodass jeder eine Verbindung herstellen kann, ohne ein gültiges Unix-Konto zu benötigen – obwohl anonyme Clients normalerweise auf ein bestimmtes Verzeichnis beschränkt sind und daran gehindert werden, Dateien hochzuladen.

Die primäre Konfigurationsdatei von WU-FTPD heißt /etc/ftpaccess, verwendet aber auch mehrere andere Dateien wie /etc/ftpusers und /etc/ftphosts. Die ftpaccess-Datei enthält eine Reihe von Anweisungen, eine pro Zeile, von denen jede einen Namen und mehrere Werte hat. Jede Direktive legt eine einzelne Option fest, wie z. B. den Pfad zu einer Nachrichtendatei oder einen Verzeichnisaliasnamen.

Wie ProFTPD kann WU-FTPD entweder als permanenter eigenständiger Daemon-Prozess oder von einem Superserver wie inetd oder xinetd ausgeführt werden. Typischerweise wird die letztere Option verwendet, da dadurch die Notwendigkeit entfällt, dass ein zusätzlicher Serverprozess ständig ausgeführt wird und auf eine FTP-Verbindung wartet. Was die Clients und die Konfigurationsdatei betrifft, gibt es abgesehen von der Leistung keinen Unterschied zwischen den beiden Modi.

Das WU-FTPD-Servermodul

Um den FTP-Server in Webmin zu konfigurieren, klicken Sie auf das Symbol *WU-FTPD-Server* in der Kategorie Server. Wenn es richtig installiert ist und funktioniert, wird die Hauptseite des Moduls wie in Abbildung 41-1 gezeigt angezeigt. Jedes der Symbole führt Sie zu einem Formular zum Festlegen einer Klasse von konfigurierbaren Optionen, z. B. in Bezug auf Protokollierung oder Nachrichten und Banner.

Nicht erledigt

 Figure 41-1 “The WU-FTPD Server module” 

Wenn das Modul die ausführbare Datei des WU-FTPD-Servers nicht finden kann, wird eine Fehlermeldung wie *Der FTP-Server /usr/sbin/in.ftpd konnte auf Ihrem System nicht gefunden werden* oder *Die Konfigurationsdatei des FTP-Servers /etc/ftpaccess existiert nicht * wird Angezeigt werden. Dies bedeutet normalerweise, dass das Programm nicht installiert ist – suchen Sie auf Ihrer Linux-Distributions-CD oder Website nach dem wu-ftpd-Paket und installieren Sie es mit dem Softwarepaketmodul, das in Kapitel 12 behandelt wird. Es kann auch bedeuten, dass das Modul an der falschen Stelle nach sucht das Serverprogramm oder die Konfigurationsdatei. Wenn Sie sicher sind, dass WU-FTPD installiert ist, finden Sie im Abschnitt „Konfigurieren des WU-FTPD-Servermoduls“ weiter unten in diesem Kapitel Informationen zum Anpassen der Pfade, unter denen Webmin nach ihnen sucht.

Obwohl WU-FTPD installiert ist, wird es manchmal standardmäßig deaktiviert. Wenn Sie an der Eingabeaufforderung ftp localhost ausführen und die Fehlermeldung Verbindung verweigert zurückerhalten, läuft kein FTP-Server. Dies kann daran liegen, dass noch kein inetd- oder xinetd-Dienst für FTP erstellt wurde oder dass einer vorhanden, aber deaktiviert ist. Befolgen Sie die nachstehenden Anweisungen, um zu erklären, wie Sie einen Super-Server-Dienst für ProFTPD einrichten oder aktivieren.

Wenn WU-FTPD wirklich installiert werden muss, müssen Sie zuerst alle anderen FTP-Server (z. B. ProFTPD oder PureFTP) entfernen, die derzeit auf Ihrem System installiert sind. Stellen Sie sicher, dass Sie auch alle seine Prozesse beenden, damit nichts mehr am FTP-Port lauscht. Sie können überprüfen, ob der andere Server vollständig heruntergefahren wurde, indem Sie ftp localhost an der Eingabeaufforderung ausführen – die Fehlermeldung Verbindung verweigert sollte angezeigt werden, die darauf hinweist, dass Port 21 nicht überwacht wird.

Nach der Installation von WU-FTPD müssen Sie inetd oder xinetd so konfigurieren, dass sie den FTP-Port abhören und das Serverprogramm ausführen. Bevor Sie dies tun können, finden Sie heraus, wo das Programm tatsächlich auf Ihrem System installiert wurde – normalerweise unter /usr/sbin/in.ftpd, aber dies kann je nach Betriebssystem unterschiedlich sein.

Wenn Ihr System den übergeordneten xinetd-Superserver verwendet, befolgen Sie diese Anweisungen, um den FTP-Dienst einzurichten. Da viele Pakete eine Konfigurationsdatei /etc/xinetd.d für den Server enthalten, sind einige der unten erläuterten Felder möglicherweise bereits korrekt ausgefüllt.

  1. Gehen Sie zur Netzwerkkategorie von Webmin und klicken Sie auf das Symbol *Extended Internet Services*. Wenn es nicht vorhanden ist, ist xinetd nicht installiert und Sie müssen den Server stattdessen mit inetd einrichten.
  2. Suchen Sie auf der Hauptseite des Moduls nach einem bestehenden Dienst namens ftp oder wu-ftpd. Falls vorhanden, klicken Sie darauf – andernfalls folgen Sie den Anweisungen unter Neuen Internetdienst erstellen Link über oder unter der Tabelle.
  3. Im Dienstnamen geben Sie ftp ein (es sei denn, es ist bereits ausgefüllt).
  4. Stellen Sie sicher, dass Sie Ja wählen Option im Feld Dienst aktiviert? ausgewählt ist Feld.
  5. Belassen Sie die An Adresse binden Feld auf Alle gesetzt , und die *Portnummer* auf Standard oder 21 .
  6. Wählen Sie Streamen vom Socket-Typ Menü und Standard oder TCP aus dem Protokoll aufführen.
  7. Im Dienst verwaltet von wählen Sie das Server-Programm aus Option und geben Sie den Pfad zur ausführbaren WU-FTPD-Datei mit den Argumenten –l –a ein (z. B. /usr/sbin/in.ftpd –l -a ) in das nebenstehende Textfeld.
  8. Im Als Benutzer ausführen geben Sie root ein .
  9. Wählen Sie Nein für Warten bis fertig? Feld.
  10. Belassen Sie alle anderen Felder auf ihren Standardwerten und klicken Sie auf Speichern oder Erstellen Schaltfläche am unteren Rand des Formulars.
  11. Klicken Sie auf der Hauptseite des Moduls auf Änderungen übernehmen Schaltfläche unter der Liste der Dienste.

Alternativ können Sie zum Einrichten eines inetd-Dienstes für WU-FTPD mithilfe des Moduls „Internetdienste und -protokolle“ die folgenden Schritte ausführen :

  1. Gehen Sie zur Netzwerkkategorie von Webmin und klicken Sie auf das Symbol *Internetdienste und -protokolle*. Wenn es nicht existiert, verwendet Ihr System wahrscheinlich xinetd.
  2. Klicken Sie auf der Hauptseite des Moduls auf ftp in der Tabelle *Internetdienste*. Wenn es nicht sichtbar ist, geben Sie ftp in das Feld *Service bearbeiten* ein und klicken Sie auf die Schaltfläche. In beiden Fällen wird dieselbe Seite zum Bearbeiten des FTP-Protokolldienstes angezeigt.
  3. Im Server-Programm Wählen Sie im Abschnitt Programm aktiviert .
  4. Im Programmfeld , wählen Sie den Befehl Option und geben Sie den vollständigen Pfad zur ausführbaren Datei des WU-FTPD-Servers in das Feld daneben ein, z. B. /usr/sbin/in.ftpd . In den Argumenten geben Sie in.ftpd –l -a ein .
  5. Stellen Sie den Wartemodus ein zu Warten Sie nicht , und geben Sie root ein in Als Benutzer ausführen Feld. Alle anderen können unverändert bleiben.
  6. Klicken Sie auf Speichern Schaltfläche und klicken Sie dann zurück auf der Hauptseite des Moduls auf Änderungen übernehmen .

Nachdem WU-FTPD für die Ausführung von inetd oder xinetd eingerichtet wurde, können Sie es testen, indem Sie den Befehlszeilen-Unix-FTP-Client verwenden, um eine Verbindung zu Ihrem eigenen System herzustellen. Führen Sie einfach ftp localhost aus und stellen Sie sicher, dass Sie sich als ein anderer Benutzer als root anmelden können. Wenn nicht, überprüfen Sie Ihre Protokolldateien (unter Verwendung des in Kapitel 13 behandelten Systemprotokollmoduls) auf Meldungen von inetd oder xinetd, die möglicherweise erklären, was schief gelaufen ist.

Einschränken, wer sich anmelden kann

In seiner normalen Konfiguration erlaubt WU-FTPD jedem Unix-Benutzer, sich anzumelden, mit Ausnahme von Systemkonten wie root, bin und daemon. Der Root-Benutzer wird fast immer standardmäßig abgelehnt, da das FTP-Protokoll Passwörter nicht verschlüsselt, wenn sie über das Netzwerk gesendet werden, was bedeutet, dass eine entfernte Anmeldung als Root sein Passwort Angreifern preisgeben könnte. Gehen Sie folgendermaßen vor, um die Benutzer und Gruppen zu ändern, die sich bei Ihrem System anmelden können:

  1. Klicken Sie auf der Hauptseite des Moduls auf Benutzer und Klassen Symbol, um das in Abbildung 41-2 gezeigte Formular aufzurufen.
  2. Zu den zu verweigernden Unix-Benutzern hinzufügen Geben Sie alle Konten ein, die Sie daran hindern möchten, Ihren FTP-Server zu verwenden, oder entfernen Sie diejenigen, die Sie zulassen möchten. Dadurch wird die Datei /etc/ftpaccess aktualisiert, die von anderen FTP-Servern wie ProFTPD verwendet wird, falls Sie sich eines Tages für einen Wechsel entscheiden.
  3. Um Benutzer abzulehnen, deren UIDs innerhalb eines bestimmten Bereichs liegen, füllen Sie das Feld Zu verweigernde Unix-Benutzer und -UIDs aus Feld. Sie können einen UID-Bereich wie %3000-4000 eingeben , wodurch alle Benutzer mit UIDs zwischen 3000 und 4000 blockiert würden. Oder Sie können Bereiche wie %-100 eingeben oder %5000- Dadurch werden Benutzer mit UIDs kleiner als 100 bzw. größer als 5000 abgelehnt. Es können mehrere Bereiche eingegeben werden, getrennt durch Leerzeichen. In diesem Feld können auch normale Benutzernamen verwendet werden, obwohl dies den gleichen Effekt hat, als würde man sie in Zu verweigernde Unix-Benutzer einfügen Feld.
  4. Um Benutzer abzulehnen, deren primäre Gruppen-IDs innerhalb bestimmter Bereiche liegen, füllen Sie die Zu verweigernden Unix-Gruppen und GIDs aus Feld. Auch hier können Sie ID-Bereiche wie %100-200 eingeben oder %-10 , sowie Gruppennamen wie Benutzer . Es zählt nur die primäre Gruppenzugehörigkeit – ist ein Nutzer sekundäres Mitglied einer der aufgeführten Gruppen, wird er nicht gesperrt.
  5. Um einige Benutzer oder Gruppen von den Ablehnungslisten auszuschließen, die in den vorherigen zwei Schritten definiert wurden, füllen Sie die Unix-Benutzer und -UIDs, die nicht abgelehnt werden sollen aus und Unix-Gruppen und GIDs nicht zu verweigern Felder. Das erste Feld akzeptiert UID-Bereiche oder Benutzernamen und das zweite Gruppen-ID-Bereiche oder Gruppennamen. Diese Felder sind nützlich, wenn Sie nur ein paar Benutzer zulassen und alle anderen mit einem UID-Bereich blockieren möchten, der alle Konten abdeckt.
  6. Klicken Sie auf Speichern Schaltfläche unten auf der Seite, um die neuen Benutzereinschränkungen zu speichern und zu aktivieren.

Nicht erledigt

Figure 41-2 “The users and classes page” 

WU-FTPD verhindert normalerweise auch, dass sich Benutzer anmelden, deren Shell nicht in der Datei /etc/shells aufgeführt ist. Dies geschieht normalerweise, um die Erstellung von Konten zu ermöglichen, die sich bei einem POP3-Server anmelden können, aber keine Verbindung über Telnet, SSH oder FTP. Leider gibt es keine WU-FTPD-Konfigurationsoption, die geändert werden kann, um diese Shell-Prüfung auszuschalten. Es ist entweder im Programm fest codiert oder wird durch den FTP-PAM-Dienst erzwungen, der tatsächlich zur Authentifizierung von Benutzern verwendet wird.

Wenn WU-FTPD auf Ihrem System PAM verwendet (wie es bei den meisten Linux-Distributionen der Fall ist), befolgen Sie diese Schritte, um die /etc/shells-Prüfung zu deaktivieren:

  1. Gehen Sie zum PAM-Authentifizierungsmodul, das Sie unter der Kategorie System im Webmin-Hauptmenü finden.
  2. Klicken Sie auf ftp oder wu-ftpd Dienst auf der Hauptseite.
  3. Klicken Sie im angezeigten Bearbeitungsformular auf pam_shells.so im PAM-Modul Spalte in den Authentifizierungsschritten Sektion.
  4. Von der Fehlerebene Menü wählen Sie Optional , sodass der Erfolg oder Misserfolg der Shell-Dateiprüfung für Authentifizierungszwecke ignoriert wird.
  5. Klicken Sie auf Speichern Taste. Benutzer mit einer ungültigen Shell können sich nicht bei Ihrem FTP-Server anmelden.

Auf anderen Betriebssystemen sind die obigen Schritte nutzlos, da das PAM-Authentifizierungsmodul nur unter Linux verfügbar ist.

Anonymes FTP einrichten

Das Konfigurieren von WU-FTPD zum Akzeptieren anonymer Anmeldungen ist etwas komplexer als erwartet, da der Befehl ls zum Generieren von Verzeichnislisten verwendet wird. Damit dieser Befehl (und andere vom Server verwendete) das Verzeichnis, auf das anonyme Clients beschränkt sind, nicht verlassen kann, verwendet der Server den Unix-Chroot-Systemaufruf, um sich selbst und alle Programme, die er ausführt, auf dieses Verzeichnis zu beschränken. Das bedeutet, dass das Root-Verzeichnis alle Programme, Dateien und gemeinsam genutzten Bibliotheken enthalten muss, die WU-FTPD und das ls-Kommando zum Ausführen benötigen.

Standardmäßig wird das Home-Verzeichnis des speziellen Unix-Benutzers ftp als anonymes FTP-Root verwendet, jedoch können verschiedenen Client-Klassen unterschiedliche Roots zugeordnet werden. Unabhängig davon, welches Verzeichnis gewählt wird, muss es jedoch ein bin-Unterverzeichnis mit den Befehlen ls, gzip, tar, recompress, cpio und zcat enthalten. Es muss auch ein lib-Unterverzeichnis haben, das alle gemeinsam genutzten Bibliotheken enthält, die von diesen Befehlen benötigt werden, ein etc-Unterverzeichnis mit passwd- und Gruppendateien und ein pub-Verzeichnis, in dem herunterladbare Dateien gespeichert sind.

Wie Sie sich vorstellen können, ist es ziemlich schwierig, all diese Dateien an ihren Platz zu kopieren und sicherzustellen, dass sie funktionieren. Glücklicherweise haben viele Linux-Distributionen, die ein wu-ftpd-Paket enthalten, auch ein Paket namens anonftp, das alle benötigten Dateien im Home-Verzeichnis des FTP-Benutzers ablegt. In den meisten Fällen müssen Sie nur dieses Paket installieren, und WU-FTPD ermöglicht Clients, sich anonym anzumelden.

Unabhängig von den Berechtigungen für das Stammverzeichnis verhindert WU-FTPD immer, dass anonyme Clients Dateien hochladen, umbenennen oder löschen. Alles, was sie tun können, ist, die Dateien herunterzuladen, die Sie im Pub-Unterverzeichnis zur öffentlichen Verteilung ablegen.

Anonyme Anmeldungen können weiter konfiguriert werden, indem Sie diesen Schritten folgen:

  1. Klicken Sie auf Anonymes FTP Symbol auf der Hauptseite des Moduls.
  2. Die anonymen FTP-Stammverzeichnisse In der Tabelle können Sie verschiedene Roots angeben, die für verschiedene Client-Klassen verwendet werden sollen. Alle vorhandenen Verzeichnisse (außer dem Standardverzeichnis ~ftp) werden in der Tabelle zum Bearbeiten aufgelistet, und es gibt immer eine leere Zeile zum Hinzufügen eines neuen. Sobald ein Eintrag hinzugefügt wird, ersetzt er den Standardwert, fügen Sie ihn also ausdrücklich hinzu, wenn Sie möchten, dass er weiterhin funktioniert. Wenn Sie mehr als ein Verzeichnis hinzufügen möchten, müssen Sie diese Seite speichern und erneut öffnen, sodass eine neue leere Zeile angezeigt wird. Jede Zeile hat zwei Felder, nämlich:Verzeichnis In dieses Feld müssen Sie den vollständigen Pfad zu einem gültigen anonymen FTP-Verzeichnis eingeben (eines, das die Unterverzeichnisse etc, bin, lib und pub und alle benötigten Programme enthält). Für den Unterricht Aus diesem Menü müssen Sie eine Client-Klasse auswählen, für die das Verzeichnis verwendet werden soll, vorausgesetzt, dass sich Clients in dieser Klasse anonym anmelden. Falls irgendwelche ausgewählt ist, wird sie für Clients verwendet, die keiner anderen Klasse in dieser Tabelle angehören. Einzelheiten zum Definieren eigener Klassen finden Sie im Abschnitt „Benutzerklassen verwalten“.
  3. Wenn sich ein Benutzer anonym bei Ihrem FTP-Server anmeldet, muss er trotzdem ein Passwort eingeben, auch wenn es nicht zur Authentifizierung verwendet wird. Normalerweise ist dieses Passwort die E-Mail-Adresse des Benutzers, die verwendet werden kann, um eine ungefähre Vorstellung davon zu bekommen, von welcher Domäne Clients kommen. Aus Datenschutzgründen senden viele moderne FTP-Clients und -Browser jedoch keine echte E-Mail-Adresse mehr, sondern melden sich mit einer gefälschten wie [email protected] an. Sie können WU-FTPD so konfigurieren, dass das Format anonymer Anmeldepasswörter überprüft wird, um sicherzustellen, dass sie wie E-Mail-Adressen aussehen, indem Sie die Anonyme FTP-Passwortprüfung verwenden Feld auf dieser Seite. Wenn Standard ausgewählt ist, erfolgt keine Überprüfung. Wenn jedoch die zweite Option gewählt wird, hängt die Überprüfungsstufe von der Auswahl ab, die Sie in ihrem Menü treffen:Alles zulassen Jedes Passwort ist erlaubt, auch ein leeres (das ist der Standardmodus). Muss @ enthalten Das Passwort muss das @-Zeichen enthalten. Muss eine RFC882-E-Mail-Adresse sein Das Passwort muss wie eine gültige E-Mail-Adresse aussehen, mit Buchstaben und Zahlen vor und nach einem @. Das zweite Menü legt fest, ob der FTP-Server nur Clients warnt, die gegen die Prüfung verstoßen (wenn Nur warnen ausgewählt ist) oder sie ganz blockiert (wenn Anmeldung verweigern ist ausgewählt).
  4. Um bestimmte anonyme Passwörter vollständig zu blockieren (selbst wenn sie gültig sind), füllen Sie das Feld Zu verweigernde anonyme FTP-Passwörter aus Feld mit einer Liste vollständiger oder teilweiser E-Mail-Adressen. Dies kann nützlich sein, um FTP-Clients zu blockieren, die standardmäßig so konfiguriert sind, dass sie eine gefälschte Adresse verwenden. Ich rate jedoch davon ab, diese Funktion zu verwenden, da sie viele Leute blockiert, insbesondere diejenigen, die Webbrowser verwenden.
  5. Klicken Sie auf Speichern unten auf der Seite, um die neuen anonymen FTP-Einstellungen zu aktivieren.

Benutzerklassen verwalten

Der FTP-Server kategorisiert Clients basierend auf ihren Quelladressen und Anmeldetypen in Klassen. Die Klassifizierung kann an verschiedenen Stellen in der WU-FTPD-Konfiguration verwendet werden, um Einstellungen zu definieren, die nur für bestimmte Clients gelten. Es kann auch verwendet werden, um nicht anonyme Anmeldungen (oder sogar alle Anmeldungen) von außerhalb Ihres Netzwerks zu blockieren. Dies kann nützlich sein, wenn Sie nur bestimmten vertrauenswürdigen Hosts erlauben möchten, Daten auf Ihren Server hochzuladen, aber jedem im Internet erlauben möchten, sich anonym zum Herunterladen anzumelden.

Jede Klasse hat einen Namen, eine Liste mit Login-Typen und eine Liste mit Client-Adressen, Hostnamen oder Netzwerken. Nur Clients, die sowohl den Login-Typen als auch den Adressen entsprechen, werden als in der Klasse befindlich betrachtet, und wenn mehr als eine Klasse übereinstimmt, wird die erste verwendet. Clients, die keiner Klasse angehören, dürfen den FTP-Server nicht verwenden.

Die folgenden drei Anmeldearten werden von WU-FTPD erkannt:

Unix
Normale Unix-Benutzer, die sich über Telnet oder SSH anmelden und mit ihren regulären Berechtigungen auf alle Dateien im System zugreifen können.
Gast
Unix-Benutzer, die als Gäste bestimmt wurden und die auf ein Verzeichnis (normalerweise ihr Zuhause) beschränkt sind, genauso wie anonyme Benutzer. Weitere Einzelheiten finden Sie im Abschnitt „Einrichten von Gastbenutzern“.
Anonym
Benutzer, die sich anonym anmelden und somit auf ein bestimmtes Verzeichnis beschränkt sind.

Um Klassen mit dem Modul zu definieren und zu bearbeiten, folgen Sie diesen Anweisungen:

  1. Klicken Sie auf Benutzer und Klassen Symbol in der oberen linken Ecke der Hauptseite des Moduls. Das in Abbildung 41-2 gezeigte Formular erscheint in Ihrem Browser.
  2. Oben auf der Seite befindet sich eine Tabelle mit der Bezeichnung Benutzerklassen . Jede Zeile definiert eine Klasse, und es wird immer mindestens eine bereits aufgelistet sein (normalerweise die all-Klasse, die allen Clients entspricht). Die Tabelle hat unten immer eine einzelne leere Zeile, in der Sie eine neue Klasse hinzufügen können – wenn Sie mehr als eine hinzufügen möchten, müssen Sie sie einzeln erstellen. Sie können vorhandene Klassen bearbeiten, indem Sie ihre Felder ändern, oder eine Klasse löschen, indem Sie ihr Namensfeld löschen. Stellen Sie jedoch sicher, dass Sie sie nicht alle löschen, da dies alle Benutzer daran hindert, sich anzumelden. Die Felder für jede Klasse sind:Klassenname Ein kurzer Name für diese Klasse, der nur aus Buchstaben und Zahlen bestehen sollte, wie zum Beispiel homenet oder vertrauenswürdig . Mehr als eine Zeile kann denselben Klassennamen haben, und ein Client, der mit dem Benutzertyp und den Adressen in einer beliebigen Zeile übereinstimmt, wird als Mitglied der Klasse betrachtet. *Benutzertypen *Die Anmeldetypen, denen diese Klasse entspricht, wie oben erläutert. Sie müssen mindestens eines der drei Kontrollkästchen auswählen. Abgleich von Adressen In dieses Feld können Sie die Clientadressen eingeben, die der Klasse entsprechen. Sie können einzelne IPs eingeben (wie 192.168.1.1 ), Hostnamen (wie www.foo.com ), Wildcard-IPs und Hostnamen (wie 10.254.1.* oder *.example.com ) oder sogar Pfade zu Dateien, die weitere solcher Adressen und Hostnamen enthalten. Mehrere Einträge müssen durch Leerzeichen getrennt werden. Negierte Einträge wie !*.foo.com sind sogar erlaubt, was allen Clients entsprechen würde, deren Hostnamen außerhalb von foo.com liegen Domain. Seien Sie vorsichtig bei der Verwendung von Hostnamen, da WU-FTPD die Hostnamen der Clients anhand ihrer IP-Adressen nachschlagen muss, deren Ergebnis von einem Angreifer gefälscht werden kann.
  3. Wenn Sie mit der Definition der Klassen fertig sind, klicken Sie auf Speichern Schaltfläche am unteren Rand des Formulars. Sie können sie jetzt auf anderen Seiten im Modul verwenden.

Zugriff auf Dateien verweigern

Manchmal ist es sinnvoll, die Dateitypen einzuschränken, die Benutzer herunterladen können, insbesondere für nicht vertrauenswürdige anonyme Clients. Sie können den Zugriff auf einen Dateinamen in jedem Verzeichnis blockieren (wie secret.txt ), ein absoluter Pfad (wie /etc/passwd ) oder sogar ein Verzeichnis und all seine Inhalte (wie /var/log ). Die Shell-Platzhalterzeichen * und ? kann auch in Datei- und Pfadnamen verwendet werden, was zusätzliche Flexibilität bietet. Dies kann nützlich sein, wenn Sie Dateien mit geheimen Informationen schützen oder Clients auf das Herunterladen aus einem bestimmten Verzeichnis (wie /home) beschränken möchten ). Es gibt jedoch keine Möglichkeit, das Auflisten von Verzeichnissen mit dieser Funktion zu verhindern.

Gehen Sie wie folgt vor, um Beschränkungen für das Herunterladen von Dateinamen einzurichten:

  1. Klicken Sie auf der Hauptseite auf Limits and Access Control Symbol, um das in Abbildung 41-4 gezeigte Formular aufzurufen.
  2. Jede Zeile in Zugriff auf Dateien verweigern Tabelle definiert eine Beschränkung auf einen einzelnen Dateinamen. Wie bei anderen Tabellen in diesem Modul befindet sich am Ende der Tabelle eine einzelne leere Zeile zum Hinzufügen eines neuen Dateinamens oder Pfads – und wenn Sie diese Funktion zum ersten Mal verwenden, enthält die Tabelle nur eine einzige Zeile. Andernfalls werden vorhandene Einschränkungen aufgelistet, sodass Sie sie bearbeiten oder löschen können. Die Felder in jeder Zeile und ihre Bedeutung sind:Zu verweigernde Dateien Eine Liste mit relativen oder absoluten Dateinamen oder Mustern, auf die der Zugriff verweigert werden soll, getrennt durch Leerzeichen. Die Platzhalterzeichen * und ? kann für beide verwendet werden, sodass Sie Dateien wie secret.* eingeben können oder /home/*/public_html . Verwandt mit Chroot? Wenn Ja ausgewählt ist, gilt jeder absolute Pfad, der in das erste Feld eingegeben wird, als relativ zum anonymen FTP-Stammverzeichnis. Wenn Nein gewählt wird, werden Pfade relativ zum echten Root-Verzeichnis genommen. Für Kurse ablehnen In diesem Feld müssen Sie die Kontrollkästchen für die Klassen markieren, für die die Beschränkung gilt. Weitere Informationen zum Hinzufügen eigener Klassen finden Sie im Abschnitt „Benutzerklassen verwalten“. Dies kann nützlich sein, wenn Sie den Zugriff anonymer Clients auf eine Datei blockieren, echten Unix-Benutzern aber erlauben möchten.
  3. Der Zugriff auf Dateien erlauben, auch wenn verweigert Die Tabelle hat genau die gleiche Struktur wie die Denial-Tabelle, dient aber zur Eingabe von Dateinamen und Pfaden, auf die der Zugriff erlaubt werden soll, auch wenn sie durch einen Eintrag in der obigen Tabelle verweigert werden. Dies kann verwendet werden, um den Zugriff auf alles zu verweigern (durch Eingabe von _*_ in eine Zu verweigernde Datei Zeile) und dann Download-Rechte nur für Dateien zurückzugewähren, die einem Muster (wie *.html) entsprechen zum Beispiel).
  4. Klicken Sie auf Speichern unten auf der Seite, um neue Dateieinschränkungen zu speichern und zu aktivieren. Wenn Sie in einer der Tabellen mehr als einen Eintrag hinzufügen möchten, klicken Sie erneut auf das Symbol *Limits and Access Control*, um das Formular erneut anzuzeigen, und füllen Sie die neuen leeren Zeilen aus, die angezeigt werden.

Nicht erledigt

Figure 41-4 “The limits and access control form” 

Es gibt auch eine ähnliche Funktion zum Einschränken der Namen von Dateien, die Clients hochladen können. Dies kann nützlich sein, um die Erstellung versteckter Dateien oder Verzeichnisse zu blockieren, deren Namen mit einem Punkt beginnen, oder schwer verständliche Namen, die Leerzeichen und Steuerzeichen enthalten. Diese werden oft von hinterhältigen Leuten verwendet, um Dateien auf Ihrem anonymen FTP-Server zu verstecken, wenn Sie das Hochladen zulassen. Da vertrauenswürdige Personen möglicherweise gute Gründe haben, solche Dateien zu erstellen, können Sie Einschränkungen definieren, die nur für anonyme oder Gastbenutzer gelten.

Führen Sie die folgenden Schritte aus, um Beschränkungen für Upload-Dateinamen hinzuzufügen und zu bearbeiten:

  1. Klicken Sie auf der Hauptseite des Moduls auf die Berechtigungen Symbol.
  2. Im angezeigten Formular werden die Unzulässigen Upload-Dateinamen angezeigt Die Tabelle unten listet Dateinamen auf, die für verschiedene Arten von Benutzern erlaubt und verboten sind. Vorhandene Einschränkungen können bearbeitet werden, indem Sie einfach ihre Felder in der Tabelle ändern, und eine neue erstellt werden, indem Sie die letzte leere Zeile ausfüllen (die die gesamte Tabelle enthält, wenn Sie dieses Formular noch nicht verwendet haben). Die Spalten in der Tabelle und die Bedeutung ihrer Felder sind:Erlaubte Zeichen Ein einzelner regulärer Perl-Ausdruck, dem alle hochgeladenen Dateien entsprechen müssen. Beispiel:Sie haben ^[a-z]+$ eingegeben , wären nur Dateinamen erlaubt, die aus Kleinbuchstaben bestehen. Zu verweigernde Dateireguläre Ausdrücke Eine durch Leerzeichen getrennte Liste regulärer Ausdrücke, die in Dateinamen nicht zulässig sind. Ein gutes Beispiel ist ^\. , wodurch alle Namen blockiert werden, die mit einem Punkt beginnen, wodurch die Datei ausgeblendet wird. Benutzertypen Die Arten von Benutzern, für die diese Einschränkung gilt. Häufig möchten Sie anonymen Clients strengere Beschränkungen auferlegen als echten oder Gastbenutzern. Fehlermeldungsdatei Der vollständige Pfad zu einer Datei, die an jeden Client gesendet wird, der versucht, eine Datei hochzuladen, deren Name nicht mit dem zulässigen Ausdruck übereinstimmt oder mit einem der abgelehnten Ausdrücke übereinstimmt.
  3. Klicken Sie wie gewohnt auf Speichern Schaltfläche unten auf der Seite, um neue Einschränkungen zu aktivieren, wenn Sie fertig sind.

Wenn mehr als eine Einschränkung für denselben Benutzertyp definiert ist, werden alle überprüft, um festzustellen, ob ein hochgeladener Dateiname zulässig ist.

Gastbenutzer einrichten

Ein Gast-FTP-Benutzer ist ein echter Unix-Benutzer, der von WU-FTPD auf ein bestimmtes Verzeichnis beschränkt wird, genauso wie anonyme Clients eingeschränkt sind. Sie haben jedoch immer noch alle Rechte innerhalb dieses Verzeichnisses, einschließlich der Rechte zum Hochladen von Dateien, Umbenennen und Ändern von Dateien. Das Beschränken eines Benutzers auf den Gastzugriff kann nützlich sein, wenn Sie verhindern möchten, dass er Teile Ihres Dateisystems außerhalb seines Home-Verzeichnisses oder eines übergeordneten Verzeichnisses wie /home sieht.

Jeder Benutzer, der von der FTP-Serverkonfiguration als Gast gekennzeichnet ist, kann ein anderes Stammverzeichnis haben, oder einige können gleich sein. Die gewählten Root-Verzeichnisse müssen jedoch genauso eingerichtet sein wie das anonyme FTP-Root – mit den Unterverzeichnissen bin, lib und etc, die alle Programme und Dateien enthalten, die von WU-FTPD benötigt werden. Sie können diese Verzeichnisse jedoch einfach vom anonymen Stamm kopieren, sodass der Einrichtungsprozess nicht so schwierig ist.

Um einen Benutzer als Gast einzurichten, muss sein Home-Verzeichnis speziell angepasst werden. Die folgenden Schritte erklären, wie Sie dies mit Webmin tun:

  1. Gehen Sie zum Modul „Benutzer und Gruppen“ (siehe Kapitel 4) und klicken Sie auf den Namen des Benutzers, den Sie einschränken möchten.
  2. Ändern Sie sein Heimatverzeichnis in guestroot_/./_homedir , in dem guestroot ist das Stammverzeichnis, das Sie vorbereitet haben, und homedir ein Unterverzeichnis darunter. Wenn Sie /home als Root verwenden, könnte /home/./jcameron das Verzeichnis für den Benutzer jcameron sein. Dieser spezielle /./-Eintrag im Pfad teilt WU-FTPD mit, wo sich die Wurzel befindet, sollte aber andere Programme nicht verwirren.
  3. Klicken Sie auf Speichern Schaltfläche unten auf der Seite. Webmin verschiebt sein Home-Verzeichnis bei Bedarf an den neuen Ort.

Natürlich können Sie ein solches Zuhause auch beim Anlegen eines neuen Benutzers angeben. Dies ist jedoch nur der erste Schritt – um WU-FTPD so zu konfigurieren, dass bestimmte Benutzer als Gäste behandelt werden, müssen Sie die folgenden Schritte ausführen:

  1. Klicken Sie im WU-FTPD-Servermodul auf Benutzer und Klassen Symbol, um das in Abbildung 41-2 gezeigte Formular aufzurufen.
  2. In den Unix-Benutzern und -UIDs, die als Gäste behandelt werden sollen , geben Sie eine durch Leerzeichen getrennte Liste von Benutzernamen, UIDs oder UID-Bereichen ein (wie %1000-2000 _oder %5000-_) der Benutzer, die als Gäste bestimmt werden sollen. Sie können auch eine Liste mit Gruppennamen, IDs und ID-Bereichen in das Feld *Als Gäste zu behandelnde Unix-Gruppen und GIDs* eingeben, damit alle ihre primären Mitglieder ebenfalls als Gäste behandelt werden.
  3. Um zu verhindern, dass einige Benutzer zu Gästen konvertiert werden, selbst wenn sie sich in den in Schritt 2 festgelegten Listen oder Bereichen befinden, füllen Sie die Unix-Benutzer und UIDs, die nicht als Gäste behandelt werden sollen aus und Unix-Gruppen und GIDs nicht als Gäste behandeln Felder. Dies kann nützlich sein, wenn Sie alle außer einigen vertrauenswürdigen Benutzern zu Gast machen möchten.
  4. Klicken Sie auf Speichern Schaltfläche unten auf der Seite, um die neuen Gastbezeichnungen zu aktivieren.

Wenn ein Benutzer als Gast konfiguriert wurde, aber kein /./ in seinem Home-Verzeichnis hat, wird er auf kein Root-Verzeichnis beschränkt.

Verzeichnisaliase bearbeiten

Um Benutzern das Leben zu erleichtern, die häufig auf Verzeichnisse mit langen Pfaden zugreifen müssen, ermöglicht Ihnen WU-FTPD die Definition von Verzeichnisaliasen, die beim Wechseln in ein anderes Verzeichnis verwendet werden können. Das bedeutet, dass jemand, der einen FTP-Client für die Befehlszeile verwendet, cd stuff:anstelle von cd /usr/local/etc/stuff eingeben kann, vorausgesetzt, dass ein geeigneter Alias ​​erstellt wurde.

Führen Sie die folgenden Schritte aus, um Aliasse einzurichten:

  1. Klicken Sie auf der Hauptseite des Moduls auf Aliase und Pfade Symbol.
  2. Die CD-Verzeichnisaliase field ist eigentlich eine Tabelle, die vorhandene Aliase (falls vorhanden) auflistet und immer eine leere Zeile zum Hinzufügen eines neuen enthält. Im ersten leeren Feld unter dem Aliasnamen Geben Sie in der Spalte den Namen für einen neuen Alias ​​wie Zeug: ein oder Müll: . Es ist nicht erforderlich, dass ein Alias ​​mit einem Doppelpunkt endet – dies ist jedoch eine gute Idee, da es das Risiko verringert, dass ein Aliasname mit einem tatsächlichen relativen Verzeichnis identisch ist. Im entsprechenden Feld unter Alias ​​für Verzeichnis , geben Sie einen vollständigen Verzeichnispfad wie /usr/local/junk ein dass der Alias ​​gleich ist. Wenn Sie mehr als einen Alias ​​hinzufügen möchten, müssen Sie diese Seite speichern und erneut öffnen, damit eine neue leere Zeile angezeigt wird. Um eines zu löschen, löschen Sie einfach beide Felder in der Tabelle.
  3. Der CD-Verzeichnis-Suchpfad Im Textfeld können Sie eine Liste von Verzeichnissen eingeben, die durchsucht werden, wenn ein Client versucht, in ein relatives Unterverzeichnis zu wechseln, das sich nicht im aktuellen Verzeichnis befindet. Wenn beispielsweise /usr/local enthalten war und ein Client versuchte, in das bin-Verzeichnis zu wechseln, wurde er in /usr/local/bin platziert (vorausgesetzt, es existiert kein echtes bin-Unterverzeichnis).
  4. Klicken Sie auf Speichern unten auf der Seite, um die neuen Aliase zu aktivieren.

Aliase sind in grafischen FTP-Clients nicht besonders nützlich, die dem Benutzer eine Verzeichnisliste zum Anklicken präsentieren. Da Benutzer nicht und oft nicht in ein explizites Pseudoverzeichnis wie stuff:wechseln können und Aliase nicht in Listen enthalten sind, sind sie schwer zu verwenden. Befehlsähnliche FTP-Clients wie ncftp und das klassische Unix-FTP-Programm sind jedoch besser geeignet, um sie zu verwenden.

Nachrichten- und Readme-Dateien

WU-FTPD kann so konfiguriert werden, dass es den Inhalt verschiedener Nachrichtendateien an Clients sendet, wenn sie sich anmelden oder bestimmte Verzeichnisse betreten. Dies kann nützlich sein, um FTP-Benutzern Informationen über Ihren FTP-Server anzuzeigen (z. B. wer ihn betreibt und welche Dateien gehostet werden) oder Details zum Inhalt eines bestimmten Verzeichnisses. Jede Datei wird nur einmal in einer einzigen Sitzung an einen Client gesendet, um den Benutzer nicht mit wiederholten Nachrichten zu belästigen.

Der Server kann auch so eingerichtet werden, dass er Clients benachrichtigt, dass bestimmte Dateien vorhanden sind, und sie über das Datum ihrer letzten Änderung informiert. Dies wird normalerweise für README-Dateien verwendet, die etwas weniger wichtige Informationen über ein Verzeichnis oder den Server enthalten, die Benutzer möglicherweise lesen möchten. Auch hier werden Clients nur einmal pro Sitzung für jede solche Datei benachrichtigt.

Gehen Sie folgendermaßen vor, um Nachrichten- und Bannerdateien zu definieren:

  1. Klicken Sie auf Nachrichten und Banner Symbol auf der Hauptseite des Moduls, das Sie zu dem in Abbildung 41-3 gezeigten Formular bringt.
  2. Die Nachrichtendateien Abschnitt ist eine Tabelle zum Angeben von Dateien, deren Inhalte an Clients gesendet werden. Wie bei Tabellen in Webmin üblich, listet es vorhandene Dateien und ihren Kontext auf und hat unten eine leere Zeile zum Hinzufügen einer neuen. Die Bedeutung der Felder ist:Pfad Der Pfad zu der Datei, deren Inhalt an den Client gesendet werden soll. Dies kann entweder ein absoluter Pfad wie /etc/login.message sein oder ein relativer Dateiname wie message.txt . Im letzteren Fall wird in jedem Verzeichnis gesucht, das der Client betritt. Wenn Sie einen vollständigen Pfad eingeben und möchten, dass anonyme Clients ihn sehen können, muss er sich im anonymen FTP-Stammverzeichnis befinden. Anzeigezeitpunkt Wenn Beim Login ausgewählt ist, wird die Datei nach der Anmeldung an die Clients gesendet. Wenn Eingabe eines Verzeichnisses ausgewählt, wird die Datei beim Wechsel in ein beliebiges Verzeichnis gesucht und gesendet. Bei der Eingabe von dir ausgewählt ist, wird die Datei nur gesendet, wenn das Verzeichnis eingegeben wird, dessen Pfad Sie im nebenstehenden Textfeld angeben. Auch hier muss dies relativ zum Root-Verzeichnis für anonyme Clients sein. Klassen, für die angezeigt werden soll Wenn dieses Feld leer gelassen wird, wird die Nachricht an alle Clients gesendet. Wenn jedoch eine oder mehrere Client-Klassen eingegeben werden (durch Leerzeichen getrennt), wird dies nur für Clients verwendet, die in diese Klassen fallen. Dies kann nützlich sein, um Nachrichtendateien nur für anonyme Benutzer zu definieren, insbesondere wenn absolute Pfade verwendet werden.
  3. Um Dateien zu definieren, über deren Existenz Clients benachrichtigt werden, müssen Sie die README-Dateien ausfüllen Tisch. Auch hier werden alle vorhandenen Dateien aufgelistet und es gibt eine leere Zeile zum Hinzufügen einer einzelnen neuen Datei. Die Bedeutung der Felder in den Spalten dieser Tabelle ist:Pfad' Der Pfad zu der Datei, deren Existenz und Änderungszeit an den Client gesendet werden soll. Dies kann entweder ein absoluter Pfad wie /etc/README sein oder ein Dateiname relativ zum eingegebenen Verzeichnis wie README.txt . Sie können sogar Shell-Platzhalterzeichen wie * und ? im Dateinamen, um mehrere Dateien abzugleichen, zum Beispiel README* . Wann soll das Datum der letzten Änderung angezeigt werden? Wenn Beim Login ausgewählt ist, werden die Informationen nach der Anmeldung an Clients gesendet. Wenn Beliebiges Verzeichnis eingeben ausgewählt, wird beim Wechsel in ein beliebiges Verzeichnis die Datei gesucht und ihr Änderungsdatum gesendet. Bei der Eingabe von dir ausgewählt, wird das Änderungsdatum nur gesendet, wenn das Verzeichnis eingetragen ist, dessen Pfad Sie im nebenstehenden Textfeld angeben. Klassen, für die angezeigt werden soll If this field is left blank, the modification is sent to all clients. However, if one or more classes of client is entered (separated by spaces) it will only be used for clients that fall into those classes.
  4. To change the amount of information that WU-FTPD sends to clients when they connect, adjust the Greeting level Feld. If Hostname and version is selected, both the system's hostname and the FTP server version will be sent. If just Hostname is chosen only the hostname will be displayed, while if Neither is selected no information will be sent. The latter two options are the most secure, as an attacker may be able to use your FTP server's version to find a bug in it that could be exploited to take over your system.
  5. If you want to have the server sent a message to clients as soon as they connect, put it in a file and select the From file option for the Pre-login banner file Feld. Then enter the full path to the message file into the text box next to it.
  6. To change the hostname that WU-FTPD sends in the greeting and other messages, select the second option in the Hostname for messages field and enter some alternative name in the text box. This can be useful if your system's real hostname does not match the name the FTP clients use (server5.example.com instead of ftp.example.com for example).
  7. When you are done with this form, click the Save button to activate your changes. They will apply to all new FTP clients that connect from now on.

On many operating systems, the WU-FTPD configuration will include one or two message and README file definitions by default. Typically the .message file is searched for in every directory and sent to clients, as is the modification time of any file whose name matches the README* pattern.

Any message files that you define that can contain special codes starting with % that are replaced when the file is sent by dynamically generated text. For example, %U is replaced with the client's FTP login name, so a file containing the line _Welcome %U to the example.com FTP server_ would be sent to the client as something like Welcome jcameron to the example.com FTP server . According to the WU-FTPD manual page, the available codes are:

Not done

Configuring logging

In a typical default configuration, WU-FTPD will log all uploads and downloads to the file /var/log/xferlog. However, you can choose the types of users that logging will be done for (Unix, anonymous or guest), have the log written to syslog instead, and select to record commands are security violations for some types of users. Logging to the system log gives you more flexibility, as you can choose which file messages are written to – although they will be mixed in with other daemon facility messages. See chapter 13 and the System Logs module for more information on how syslog works and which files it ultimately writes to.

Enabling logging of all commands allows you to track exactly what clients are doing, but can consume a large amount of disk space. The logging of security violations (attempts to violate WU-FTPD's file restrictions, covered in the “Denying access to files” section) can be useful for detecting hackers, and is unlikely to use up much space as such violations are not usually very frequent.

To edit FTP logging-related options in Webmin, the steps to follow are:

  1. On the module's main page, click on the Logging icon to bring up the small logging options form.
  2. To have all FTP commands executed by clients (including trivial ones such as CWD and LIST) recorded in the system log, select types of users for which they should be logged from the Log all commands for Feld.
  3. To change the types of users that transfer logging is done for, select them from the Log transfers for Feld. The *In directions* sub-field lets you choose whether uploads (Inbound ), downloads (Outbound ) or Both are recorded. On an anonymous FTP server, it may make sense to only record uploads due to the large number of downloads.
  4. To have transfers written to syslog, select System log in the Log transfers to Feld. Or to tell WU-FTPD to write to the /var/log/xferlog file instead, select XFER log file . If Both is chosen, transfers will be logged to both destinations. If you want to use a program like Webalizer (covered in chapter 39) to analyze your FTP server's logs, they must be written to xferlog as the lines that end up being written out by syslog have additional information added and thus cannot be parsed. Anything written to the system log will use the daemon facility, unless WU-FTPD has been compiled to use a different one, such as local7. This can in fact be quite useful, as it allows you to separate out the FTP messages and have them written to a different file, while still enjoying all the benefits of syslog.
  5. To enable the logging of attempted filename security violations, select the types of users that this should be enabled for from the Log security violations for Feld. These will always been written to syslog.
  6. Klicken Sie auf Speichern button at the bottom of the page to save and activate the new logging settings.

Limiting concurrent logins

If your system is configured to allow anonymous FTP logins and you expect to receive a lot of traffic, it makes sense to limit the number of connections that can be open to the FTP server at any one time. This puts a ceiling on the network and CPU load that FTP transfers can generate, which is important if the system is being used for some other purpose (such as running a web server).

WU-FTPD allows you to define limits on a per-class basis, so that anonymous clients can be restricted while real Unix users are not. It also lets you specify the times during which restrictions apply, so that a higher limit can be granted when the server is not as heavily used for other purposes (such as at night).

To set up concurrent login limits, follow these instructions:

  1. On the module's main page, click on the Limits and Access Control Symbol. The form shown in Figure 41-4 will appear in your browser.
  2. The Concurrent user limits table is where limits on the number of connections can be entered. Each row defines a limit that applies to a certain class at certain times. As usual with tables in this module, there will be one empty row at the bottom for adding a new limit (and if this is the first one, the table will only contain that one row). Existing limits can be edited by changing their fields in the table, or deleted by selecting the empty option from the class menu. The fields in each row should be filled in as follows:Apply to class' You must select the name of the class that this limit will apply to from the menu. Multiple limits can be defined for the same class at different times. Maximum users To set a limit for the chosen class, select the second radio button and enter the maximum number of concurrent connections into the adjacent text box. If the Unlimited button is selected, no limit will apply to the class at the specified times. For example, you could add a row that turns off restrictions at night above another row that sets them for the entire day. At times If Any time is selected, the limit will apply all the time. However, if you choose the second option and enter a UUCP-style time specification into the text box, only connections made during that period will be restricted. For example, Any0900-1700 means 9am to 5pm every day, Mo,Tu,We means Mondays, Tuesdays and Wednesdays, Wk means weekdays and and Wk1700-0900,Sa,Su means times outside office hours. WU-FTPD always checks the table in order for an entry that matches a connecting client's class and the current time, and stops when it finds one. This means that entries that specify times (such as Any0900-1700 ) should be placed above those that have Any time selected so that the specific entry is actually used when appropriate. Error message file The full path to a file containing a message that will be sent to clients whose connections exceed the limit. This should explain why they are being rejected, and suggest other times or FTP servers to try.
  3. Klicken Sie auf Speichern button at the bottom of the page to activate the connection limits. To add more than one, you will need to re-visit the form so that a new blank row appears in the table.

Restricting clients by IP address

Even though it is possible to block clients from certain addresses by ensuring that they do not fall into any class, there is a feature in the module dedicated specifically to blocking clients based on their IP addresses or hostnames. This can be used to lock out specific hosts that are abusing your FTP server, or to restrict access to clients from only your own company or home network.

The steps to define banned client systems are:

  1. Click on the Limits and Access Control icon on the module's main page to open the form shown in Figure 41-4.
  2. Each row in the Deny access from table specifies an IP address, hostname or pattern to block logins from. As with other tables in this module, it will always an additional empty row for adding a new restricted address. In the Deny from address field you can also enter the full path to a file containing banned addresses, use negated patterns like !192.168.1.* or even the special address !nameserved which matches all clients that do not have a valid reverse DNS address. Only one can be entered though – to block additional addresses, you will need to add more rows. In the Error message file field you must enter the full path to a file containing a message that will be sent to blocked clients. This should explain to connecting users that they have been blocked, and perhaps give a reason why. If you want to add more than one row, you will need to save this form and re-open it so that a new empty row appears at the bottom of the table. Existing restrictions can be edited by just changing their fields, or deleted by clearing out the address.
  3. When you are done, hit the Save button at the bottom of the form to activate the new address restrictions.

Restricting access to FTP commands

WU-FTPD can be configured to restrict the FTP commands that certain types and classes of users can use. This is useful for stopping anonymous clients modifying files, as on most FTP servers they are only allowed to download, not upload, rename or delete. In fact, in its usual default configuration this is exactly how WU-FTPD is configured.

There are five commands that you can restrict access to, all related to server-side data modification. They are:

chmod
Change the Unix permissions of a file on the server (chmod in the Unix FTP client).
delete
Delete a file or directory on the server (del or rmdir in the Unix FTP client).
rename
Change the name of a file or directory (rename in the FTP client).
overwrite
Upload a file with the same name as one that already exists.
umask
Change the default Unix permissions for newly created files (umask in the Unix FTP client).

It is not possible to stop clients using directory listing or download commands. Neither is it possible using this feature to prevent the upload of files that do not already exist – however, this can be achieved by setting directory permissions appropriately, or blocking all uploaded filenames as explained in the “Denying access to files” section.

To define which clients can use which commands, follow these steps:

  1. Click on the Permissions icon on the module's main page.
  2. On the form that appears, the Command restrictions table lists existing commands and the user types and client classes that are or are not allowed to use them. As usual, you can add a new command using the blank row at the bottom, edit existing entries or delete the restrictions on a command altogether by selecting the blank option from the Command Speisekarte. The FTP server processes this table in order when a client tries to do something, and uses the selection in the Allow? column for the first entry that matches to decide if it is allowed or not. This means that the order matters, and thus if two entries match the first one will decide what happens. The fields for each row and their meanings are:Command You must select types. The restriction will only apply to the types of user selected in this column. See the “Managing user classes” section earlier in the chapter for details on what each means. For classes Only the client classes selected in this column will be effected by the restriction.
  3. When you are done editing or adding to the table, hit the Save button to activate your changes.

If a client command does not match any entry in the table, it will be allowed by the FTP server (unless blocked by some other filename restriction set elsewhere).

Configuring the WU-FTPD Server module

To change the paths that the module uses for the WU-FTPD configuration files and programs, you will need to click on the standard Module Config Link in der oberen linken Ecke der Hauptseite. Unlike other modules there are no options related to the user interface, so you will probably not need to adjust anything on the configuration form if the module is working for you. By default, all the configuration fields are set to match the WU-FTPFD package included with your operating system or Linux distribution.

Even though there are fields for configuration files other than ftpaccess, at the time of writing the module does not actually edit those files yet.


Webmin
  1. Jabber IM-Server

  2. Einfacher Ubuntu-FTP-Server?

  3. Wie verbinde ich mich mit einem lokalen Server?

  4. So installieren Sie einen FTP-Server unter Ubuntu 20.04

  5. So installieren Sie den FTP-Server unter CentOS 7

So installieren Sie den FTP-Server auf Manjaro 20

So installieren Sie den FTP-Server unter CentOS 8

Wie installiere ich einen FTP-Server?

Wie installiere ich einen FTP-Server auf Ubuntu?

Wie installiere ich FTP auf Ubuntu 18.04?

FTP auf Windows Server 2012 (R2) installieren