Das Kommando ftp dient der Übertragung von Daten von einem Internetrechner zu einem anderen. Die Besonderheit des zugehörigen Protokolls liegt in den getrennten Kanälen für die Daten und die Steuerung (Abbildung) sowie in der Datenübertragung ohne Verwendung eines Spoolers.
Im RFC 959 ist für FTP TCP-Port 20 als Steuerungskanal und TCP-Port 21 als Datenkanal festgelegt. FTP verwendet als Transportprotokoll immer TCP, da dieses bereits Vorkehrungen für einen sicheren Datentransfer enthält und FTP sich darum nicht zu kümmern braucht.
Abbildung: File Transfer Protokoll
Einrichtung des Servers
Per Voreinstellung sollte das Paket bereits installiert sein: In den Dateien /etc/inetd.conf und /etc/services müssen die entsprechenden Einträge vorhanden sein:
user@sonne> less /etc/inetd.conf
|
Beeinflusst wird die Arbeit des FTP-Servers durch drei (vier) Dateien:
/etc/ftpusers: enthält die Nutzerkennzeichen, die FTP nicht verwenden dürfen:
user@sonne> less /etc/ftpusers
|
Die mit dem Paket installierten Dateien sollten in den meisten Fällen den Ansprüchen genügen. Auf Client-Seite ist keinerlei Konfiguration notwendig. Eine kleine Beispielsitzung soll die Installation testen:
user@sonne> ftp sonne
|
Der einfachste Weg um anonymes FTP zuzulassen (Nutzerkennzeichen ftp oder anonymous), ist unter SuSE die Installation des Paketes ftpdir aus der Serie n. Die Schritte zur Realisierung per Hand sollen hier in knapper Form abgehandelt werden.
In der /etc/passwd muss ein Account unter dem Kennzeichen ftp existieren:
root@sonne> less /etc/passwd | grep ftp
|
Das eingetragene Homeverzeichnis ist gleichzeitig die Basis für die anzulegenden Dateien und Verzeichnisse.
Im FTP-Basisverzeichnis sind folgende Unterverzeichnisse mit den angegebenen Rechten zu erzeugen:
root@sonne> ls -l /usr/local/ftp
|
Ins Unterverzeichnis ./bin sind die Programme compress, ls und tar zu installieren. Diese Programme werden vom FTP-Dämonen benötigt (minimal reicht bereits ls). Achtung: Es werden die statisch gelinkten Versionen der Kommandos benötigt:
root@sonne> file ls
|
Im Unterverzeichnis ./etc müssen die Dateien passwd und group mit den Rechten 644 erzeugt werden:
root@sonne> vim etc/passwd
|
Das Kommando ls zeigt anhand dieser Dateien die Zuordnung der UIDs und GIDs für die gespeicherten Dateien an.
Neben FTP existiert ein weiteres Datentransfer-Protokoll mit minimalen Anforderungen: Trivial File Transfer Protocol. Im Unterschied zum FTP verwendet TFTP das User Datagram Protocol (UDP) zum Transport der Daten.
Als Folge daraus muss das Protokoll sich selbst um Sicherungsfunktionen kümmern. Auch entfällt das Einloggen auf dem Server, so dass TFTP serverseitig starken Restriktionen unterworfen ist (nur für "weltweit" lesbare und schreibbare Dateien). Einsatzgebiet von TFTP ist das Bootstrapping plattenloser Rechner, da die hierfür notwendigen Daten (Netzwerktreiber, IP, UDP, das Protokoll selbst) in einem EEPROM Platz finden.