Filetransfer
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.
- tftp
- Trivial File Transfer Protocol , ein altes und einfaches Filetransfer Protokoll.
- im Gegensatz zu FTP / SFTP fehlen hier Authentifizierung ( Username, Passwort ),
- Verschlüsselung, Wechsel in andere Verzeichnisse usw. TFTP läuft über UDP.
- Übertragen werden Pakete mit 512 Byte Daten, das Ende des Transfers wird einfach durch
- ein kürzeres Paket gekennzeichnet.
- Wegen seiner Einfachheit wird TFTP oft genommen für Download von Firmware ( Netzwerksboot )
- und Up- / Download von Konfigurationsdateien.
- OpenSource per P2P
- Ideensammlung und Brainstorming für Peer-to-Peer Filetransfer speziell für OpenSource Projekte.
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.
- SSSFS
- Ermöglicht es dem User ein per SSH zugängliches Filesystem zu mounten. (Siehe Dateisysteme)
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 mounten von
- SMB-Dateisystemen als Client. (mount_smbfs, smbmount, ... )
- smbmount gibt es nicht für NetBSD. ( FeeeBSD, OpenBSD ? )
- Hier heißt das Tool sharity-light , beschrieben als "SMB to NFS protocol converter"
- Die Syntax zum mounten einer SMB-share ist ähnlich dem smbmount
- sharity-light Version 1.2 ist frei verfügbar für NetBSD, aktuellere Versione ( 3.0 und höher ) gibt es für FreeBSD, OpenBSD und Linux als eingeschränkte Trialversion oder gegen eine Lizenzgebühr bei Objective Development Software GmbH
- Appletalk
- Aus der Mac-Welt ...
- AFS
- Das Andrew File System wurde entworfen von der Carnegie Mellon University, dann entwickelt und supported von der Transarc Corporation, die jetzt zu IBM gehört. Von dort wurde ein Zweig an die Open Source Community freigegeben.
- AFS kann sowohl lokal im Intranet als auch weltweit über das Internet genutzt werden.
- AFS ist ein verteiltes Filesystem, d.h. der User mounted kein Filesystem auf einem Server sondern in einer AFS-Zelle. Solch eine Zelle kann aus vielen Servern bestehen. Auf welchem der Server eine Datei oder ein Verzeichnis abgelegt wurde ist für den User nicht ersichtlich.
- der Verzeichnispfad ist /afs/$AFSCELL/<und hier sind die userdaten> , als $AFSCELL wird dabei meistens der DNS-Domainname genommen.
- Die User-Authentifizierung erfolgt über Kerberos
- AFS ist für verschiedene Betriebssysteme verfügbar
- weitere Infos, Downloads, Mailinglisten usw. gibt es bei
- OpenAFS.org
- ARLA Project , eine weitere AFS Implementierung
- GRAND.CENTRAL.ORG
- DECnet
- ein proprietäres Netzwerksprotokoll der Firma DEC / Digital, über das ( unter anderem ) sämtliche Datei-Transaktionen liefen. Beim Betriebssystem VMS wurde konsequent alles als Netzwerksschnittstelle implmentiert und so lautet die Ansprache einer Datei auf einem anderen System ganz einfach rechnername::[verzeichnisname]dateiname . ( die eckigen Klammern können auch alternativ durch spitze Klammern < > ersetzt werden ). Die 2 Doppelpunkte :: trennen dabei den Rechnernamen vom Rest.
- Damit konnten sämtliche Dateioperationen wie z.B. Copy, Edit oder Delete durchgeführt werden. Es mußten lediglich die entsprechenden Zugriffsrechte der User auf dem Remote-Rechner bestehen.
- Mount-Operationen wurden dazu nicht gebraucht.
- SSHFS
- Das SSH-Filesystem bietet die Möglichkeit per SSH zugängliche Filesysteme zu mounten. Auf dem Rechner auf dem der Mountpoint liegt muss FUSE-SSHFS installiert sein, sowie ein Kernelmodul muss geladen werden. Der Mountbefehl lautet dann einfach: sshfs user@host:/path/ Mountpoint/
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