ZenWalk - mit Thunar ein FTP-Verzeichnis mounten

Logo ThunarDa der Thunar ein reiner Dateimanager ist und keinerlei Browserfunktionen wie beispielsweise der Konqueror besitzt muss man, um mit ihm in einem FTP-Verzeichnis arbeiten zu können, andere Funktionalitäten von Linux anwenden. Die Zauberwort lautet "Fuse".

Um nicht näher auf Fuse einzugehen nur so viel, bei ZenWalk 3.0 ist Fuse soweit vorbereitet das man es sofort verwenden kann.
Einzig die Programme zur Verwendung von Fuse, beispielsweise curlftpfs [3], sind zu installieren.

Im Weiteren gehe ich von dem Fall aus, daß das zu verwendende FTP-Verzeichnis als gemieteter Webaccount bei einem ISP zur Verfügung steht. Es wird also kein eigener FTP-Server betrieben. In diesem Fall können nicht alle in Frage kommenden Möglichkeiten bei der Verwendung von Fuse [1] genutzt werden. So ist beispielsweis die Verwendung von sshfs [2] nicht möglich, weil bei den meisten ISP kein SSH-Zugang zum Web- bzw. FTP-Account möglich ist.

Um die Möglichkeit des SSH-Zugang zum Web- bzw. FTP-Account zu testen

ssh www.meine-url.de -lftp-username

Im Falle der Ablehnung der Verbindung ist alles klar.

Als Alternative zu sshfs [2] bietet sich curlftpfs [3] an.

1. CurlFtpFs

1.1. Mounten eines FTP-Verzeichnis

Beispiel, als normaler User "ein-user" in der Shell:

curlftpfs ftp-user:ftp-passwort@www.meine-url.de /home/ein-user/ftpmounts/meine-url/ -o allow_other,disable_eprt

Danach kann man im Thunar im Verzeichnis /home/ein-user/ftpmounts/meine-url arbeiten als wäre es lokal vorhanden. Einzig in Abhängigkeit der bestehenden Verbindungs-Bandbreite muss man mehr oder weniger geringe Verzögerungen bei allen Aktionen in diesem Verzeichnis in Kauf nehmen. Trotz dieser Verzögerungen ist aber das Arbeiten in diesem Verzeichnis insgesamt weniger umständlich im Vergleich mit der traditionellen Arbeitsweise mit einem FTP-Programm.

Auf die beiden Optionen allow_other und disable_eprt kann man nach meinen Erfahrungen nicht Verzichten. Insbesondere disable_eprt verhindert bei einem Timeout seitens des FTP-Server einen Verbindungsabbruch. Ein solcher Verbindungsabbruch hat zur Folge, daß der Thunar abstürzt und sich selbst mit einem

kill PID

nicht beenden lässt - ZenWalk muss neu gestartet werden.

Bei der Arbeit im gemounteten TFP-Verzeichnis darf man sich nicht von den Eigenschaften Besitzer und Gruppe irritieren lassen. Angezeigt wird root:root. Beim Speichern einer neuen Datei wird diese im FTP-Verzeichnis mit korrekten Eigenschaften gesichert. Im Falle des obigen Beipiel zum mounten eines Verzeichnis mit ftp-user/ftp-passwort.

Anmerkung: Im gemounteten FTP-Verzeichnis können in den einzelnen Verzeichnissen nur dann neue Dateien und Ordner angelegt und Veränderungen bestehender Dateien und Ordner gespeichert werden, wenn die einzelnen Verzeichnisse volle Schreibrechte haben.

1.2. FTP-Verzeichnis unmounten

Gleicher User wie bereits beim Mounten des FTP-Verzeichnis:

fusermount -u /home/ein-user/ftpmounts/meine-url

Wichtig dabei ist, daß beim Unmounten exakt das gleiche Verzeichnis genannt wird wie beim Mounten.

2. Eintrag in der fstab

Um das Mounten eines FTP-Verzeichnis über die Datei /etc/fstab zu realisieren wird entsprechend des obigen Beispieles in der fstab Folgendes eingetragen:

curlftpfs#ftp-user:ftp-passwort@www.meine-url.de /home/ein-user/ftpmounts/meine-url fuse user,allow_other,disable_eprt

Anmerkung: Bei ZenWalk 3.0 kann die fstab von allen Usern gelesen werden - Username und Passwort im Klartext.

2.1. Mounten

Nun kann ein User das in der fstab eingetragene FTP-Verzeichnis mit

mount /home/ein-user/ftpmounts/meine-url

mounten.

2.2 Unmounten

Mit umount kann man nicht arbeiten. Es wird zum Unmounten

fusermount -u /home/ein-user/ftpmounts/meine-url

verwendet. Wichtig dabei ist, daß beim Unmounten exakt das gleiche Verzeichnis genannt wird wie beim Mounten.

3. Sicherheit

Bei den in den Beispielen genannten Arten des Mounten eines FTP-Verzeichnis spielt die Sicherheit keine Rolle. Es sind normale FTP-Verbindungen mit Klartextübertragungen - auch der Passwörter. Daher sollten diese Mounts auch dann funktionieren, wenn der verbundenen FTP-Server keinerlei Sicherheitsfunktionen unterstützt.

Um eine sichere Verbindung mit dem FTP-Server aufzubauen bietet CurlFtpFs verschiedene und auch differenziert handhabbare Möglichkeiten. Wer sich nun nicht gleich mit Zertifikaten, deren Generierung und Speicherung auseinandersetzen möchte und trotzdem einen wesentlichen Schritt in Richtung sichere Verbindung zum FTP-Server machen will fügt im einfachsten Fall dem Mount-Befehl eine weitere Option hinzu. Diese Option ist tlsv1.

Transport Layer Security [trænsˈpɔːt ˈeiə siˈkjuəriti] (TLS)
Das SSL-Nachfolgeprotokoll, das von der Internet Engineering Task Force (IETF) zur allgemeinen Authentisierung und Verschlüsselung einer Kommunikation über TCP/IP-Netzwerke entwickelt worden ist. TLS Version 1 ist nahezu identisch mit SSL Version 3.

3.1 Sicheres Mounten

In der Shell:

curlftpfs ftp-user:ftp-passwort@www.meine-url.de /home/ein-user/ftpmounts/meine-url -o allow_other,disable_eprt,tlsv1

Eintrag in der /etc/fstab:

curlftpfs#ftp-user:ftp-passwort@www.meine-url.de /home/ein-user/ftpmounts/meine-url fuse user,allow_other,disable_eprt,tlsv1

4. Praktischer Einsatz

Da das Mounten eines FTP-Verzeichnis mit CurlFtpFs auf Userebene erfolgt ist besonders in einer Mehruserumgebung der Eintrag der Mountpoints in der /etc/fstab nicht unbedingt die beste Lösung, um ein einfacheres Mounten zu ermöglichen. Zumal man in diesem Falle zum Mount-Befehl den vollständigen Pfad zum Zielverzeichnis angeben muss. Beim Unmounten wiederum kann nicht der gewohnte Befehl umount verwendet werden. In Abweichung muss der Befehl fusermount mit der Option "-u" und auch wieder mit dem vollständigen Pfad des Zielverzeichnis angegeben werden.

Eine Lösung bietet sich mit der Verwendung eines Alias für das Mounten und Unmounten eines FTP-Verzeichnis an. Dabei kann man entweder auf einen entsprechenden Eintrag in der /etc/fstab Bezug nehmen oder man verzichtet auf entsprechende Einträge in der fstab.

4.1. Alias mit fstab-Eintrag

Einen Alias kann man mit einem Eintrag in der Datei /home/ein-user/.bashrc anlegen. Wobei "ein-user" das Homeverzeichnis eines einzelnen User bezeichnet. Mittels eines Alias kann der Mount- und Umount-Befehl auf je ein einziges Wort reduziert werden.

Die Datei .bashrc zum Mounten und Unmounten der Vezeichnisse obiger Beispiele um folgende Zeilen erweitert:

alias mountmeine-url="mount /home/ein-user/ftpmounts/meine-url"
alias umountmeine-url="fusermount -u /home/ein-user/ftpmounts/meine-url"

Nun kann mit dem Befehl

mountmeine-url

das FTP-Verzeichnis gemountet werden und mit dem Befehl

umountmeine-url

kann man es Unmounten.

4.2. Alias ohne fstab-Eintrag

Analog dem Eintrag nach Pkt. 4.1. wird die .bashrc erweitert:

alias mountmeine-url="curlftpfs ftp-user:ftp-passwort@www.meine-url.de /home/ein-user/ftpmounts/meine-url fuse user,allow_other,disable_eprt,tlsv1
alias umountmeine-url="fusermount -u /home/ein-user/ftpmounts/meine-url"

Mounten und Unmounten wie in Pkt. 4.1..

Mit dieser Methode können Userbezogen unterschiedliche FTP-Verzeichnisse gehandhabt werden - ohne einen Eintrag in der /etc/fstab.

Anmerkung: Die Alias-Einträge werden Userbezogen in den jeweiligen Homeverzeichnissen angelegt.

Links

FUSEWiki - FileSystems [1]
SshFs - SSH Filesystem [2]
CurlFtpFs - A FTP filesystem based on cURL and Fuse [3]

Ergänzende Artikel zum Thema auf dieser Website:

Dateirechte mit umask

Powered by Drupal. Created with ZenWalk.