FTP (File Transfer Protocol) ist eines der ältesten Dienste, die das Internet kennt. Es dient der Übertragung von Dateien von Rechner zu Rechner über ein TCP/IP Netz. In den meisten Fällen dient FTP heute dazu, Programme aus dem Internet auf den lokalen Rechner zu kopieren (Download) – es wird aber auch von vielen Webservern angeboten, damit Kunden ihre Webseiten von ihrem Rechner zum Webserver kopieren können (Upload).
FTP-Server werden unter Linux meist über den inetd gestartet.

Grundsätzlich wird zwischen anonymen FTP und persönlichem FTP unterschieden. Anonymes FTP heißt, dass ein Zugang gewährt wird, der jedem User offensteht, es wird zwar meist ein Passwort verlangt (traditionell die E-Mail Adresse), dort kann aber irgendetwas eingetragen werden. Persönliches FTP ewartet eine gültige Userkennung mit Passwort und vergibt dem angemeldeten User dann praktisch alle Rechte auf Dateien und Verzeichnisse, die er auch hätte, wenn er sich regulär eingeloggt hätte.

Es existieren verschiedene FTP-Server für Linux, die bekanntesten und verbreitetsten sind der alte in.ftpd und der modernere wu.ftpd. Wir werden hier mit dem moderneren Daemon arbeiten. Voraussetzung für den FTP-Server ist also zunächst, dass der wu.ftpd installiert ist und die folgende Zeile in der /etc/inetd.conf eingetragen ist:

ftp     stream  tcp     nowait  root    /usr/sbin/tcpd  wu.ftpd -a

Die Option -a schaltet die Unterstützung der Abarbeitung der ftpaccess-Datei ein, die wir für die Zugriffssteuerung brauchen.