Filetransfer

Aus UUGRN

Unter einem Filetransfer (Datei-Übertragung) versteht man einen Mechanismus, um eine oder mehrere Dateien über eine Netzwerkverbindung zu übertragen. Je nach Anwendungsfall und vorhandenen Tools sind verschiedene Methoden sinnvoll oder machbar. Dieser Artikel soll gebräuchliche Methoden kurz vorstellen und typische Einsatzgebiete zeigen.

public

Anon-FTP
Das wohl bekannteste und verbreitetste TCP-Protokoll speziell zum Übertragen von Dateien.
Anonym-FTP bedeutet, dass ein FTP-Server Dateien und Verzeichnisse für den öffentlichen
Download anbietet, vereinzelt gibt es auch public-Upload ("incoming").
Wird heute verwendet, um z.B. Softwarearchive nach Verzeichnissen sortiert anzubieten und
wird von nahezu jedem TCP/IP-fähigen System unterstützt.
Login erfolgt idR mit User:ftp und Passwort:ftp (oder einer Mailadresse).
FTP wird leider auch noch ziemlich oft für Benutzer-authentifizierte Verbindungen verwendet.
FTP bietet von sich aus keinen Schutz gegen das Ausspähen und/oder Manipulieren von Passwörtern und Daten.
HTTP
HTTP ist speziell auf die Bedürfnisse von Web-Servern zugeschnitten.
Anders als bei FTP haben Dateien einen content-type, der dem Client sagt,
um welche Art von Datei es sind handelt. Upload (PUT) ist zwar möglich,
spielt aber in der Praxis keine Rolle.
public-rsync
Wird ähnlich wie Anon-FTP für Software-Archive verwendet. rsync bietet die Möglichkeit,
effizient einen sog. Mirror abzugleichen, indem nur die geänderten Dateien übertragen werden müssen.
SAFT / sendfile
Das Simple Asyncronous File Transfer Protokoll dient zum Verschicken von Dateien
ähnlich wie E-Mail an einen bestimmten Empfänger. Als Client kommt hierbei z.B. sendfile
zum Einsatz. Auf beiden Systemen muss hierbei ein entsprechender daemon laufen, der den
Dateitransfer im Hintergrund druchführt bzw. eingehende Dateitransfers annimmt und verarbeitet.
Dieses Protokoll ist leider recht wenig verbreitet.

gesichert/privat

scp
Secure Copy ist eine Funktion im SSH-Protokoll und dient zum Kopieren von Dateien von/zu Hosts via SSH.
scp löst das historische rcp ab.
sftp
Secure File Transfer Protocol ist ein Subsystem von SSH und stellt einen FTP-ähnlichen Client dar.
SSH-rsync
rsync ist von sich aus in der Lage, über rsh oder SSH eine Verbindung zu einem
anderen System aufzubauen und Dateien mit dem Remote-System abzugleichen.
Hierzu ist es erforderlich, dass rsync auf dem Zielsystem installiert ist und ausgeführt werden kann.
SSH mit tar/dump+restore/cpio
SSH kann als "Netzwerk-pipe" verwendet werden. Benötigt wird ein Tool, welches Dateien einpackt
und in einen Datenstrom verwandelt und auf stdout ausgeben kann und auf der Gegenstelle das
entsprechende Gegenstück, welches ein Archiv als Datenstrom per stdin empfängt und die Dateien daraus
in das Dateisystem extrahiert. Schematisch sieht das so aus: archiver | ssh user@host "de-archiver"
Vorteil des Methode ist, dass man gleich mehrere Dateien auf einmal übertragen kann.
Siehe dazu:
SSH-dump
dump kann von sich aus Backup-Archive via SSH oder RSH auf ein entferntes System ablegen.


Netzwerk-Dateisysteme

Ein Netzwerk-Dateisystem ermöglicht eine dauerhafte Verbindung zwischen 2 Systemen. Zum Übertragen von Dateien können dann normale Kopierprogramme verwendet werden, man kann allerdings auch direkt mit Anwendungsprogrammen auf Dateien zugreifen.

NFS
Network File System, ist in der Unix-Welt relativ gebräuchlich
SMB
SMB (Server Message Block) / CIFS (Common Internet File System) ist in der Windows-Welt
verbreitet und wird in der Unix-Welt durch Samba implementiert (als Server).
Viele Unix-Systeme unterstützen zugleich auch das mountenen von
SMB-Dateisystemen als Client. (mount_smbfs, smbmount, ... )
Appletalk
Aus der Mac-Welt ...
AFS
Andrew File System ...

Pseudo Netzwerk-Dateisysteme

Manche Desktopumgebungen und Oberflächen bieten einen integrierten Support für verschiedene Netzwerk-Methoden an.

Midnight Commander

Der Midnight Commander ist ein Terminal-Dateimanager und ist ein Ur-Enkel des DOS-Dateimanagers N*rton C*mm*nder. Der mc kennt folgende Pseudo-Netzwerk-Dateisysteme:

KDE

Das K Desktop Environment bietet integrierten Support für


GNOME

FIXME