Zum Standort Iserlohn
Studierenden-Server

Zur Homepage der FH-Südwestfalen

 

Einbinden des eigenen Verzeichnisses auf stud-in mit sshfs unter Linux

Zweck

Ausgangsszenario

Der Arbeitsrecher (mit dem man aktuell arbeitet) arbeitet unter Linux. Zwischen diesem und dem eigenen Verzeichnis auf dem Studierendenserver stud-in.fh-swf.de sollen Dateien ausgetauscht werden.

Zu diesem Zweck können eine Reihe von Client-Programmen verwendet werden, z.B.

  • eine Konsole mit scp oder
  • eine Browsers, der das scp/sftp Protokoll versteht (z.B. Konqueror).

Diese Clients haben aber den Nachteil, dass beim Austausch mehrerer Dateien mehrfach das Login mit Passwort eingegeben werden muss.

Alternativen

Einfacher ist es, das eigene Verzeichnis auf dem Arbeitsrecher einzubinden (mounten). In diesem können die Daten auf dem Studierendenserver genau so einfach verwaltet werden, wie in einem Verzeichnis, auf dem z.B. ein USB-Stick eingebunden (gemoutet) ist.

Hierzu kann

  1. die Samba-Freigabe beantragt und in Verbindung mit smbmount verwendet werden. Eine Beschreibung hierzu finden Sie unter Samba / Windows - Freigabe. Oder es kann
  2. der sshfs Dateisystemtreiber verwendet werden, der eine ssh-Verbindung zu einem entferneten Verzeichnis als Laufwerk einbinden (mounten) kann.

Letztere Methode wird hier beschrieben.

Voraussetzungen

Installation der erforderlichen Pakete

Für die Verwendung von sshfs muss das Paket sshfs installiert sein. Dieses Paktet enthält den erforderlichen Treiber für "Filesystem in Userspace", "fuse". "fuse" ist ein Kerneltreiber, der eine Schnittstelle für Dateisystemtreiber anbietet, die im Usermode statt im Kernelmode ausführen werden. Das Paket fuse-utils enthält die nötigen Verwaltungsprogramme für die Verwendung des fuse-Treiber.

Zur Installation dieses Pakets beziehen Sie sich bitte auf den "Installatiosmechanismus" der von Ihnen verwendeten Distribution. Normalerweise sollte es ausreichen, das Paket sshfs zu installieren und die Abhängigkeiten durch das Installationstool auflösen zu lassen. Ist das Paket fust-utils noch nicht installiert, sollte dies dann automatisch mitinstalliert werden.

Einrichtung der Rechte

Unter Debian wird durch die Installation des fuse-utils-Pakets eine Benutzergruppe "fuse" angelegt. Die Geräteschnittstelle /dev/fuse, die vom fuse-Kerneltreiber bereitgestellt und von den Usermode Dateisystemtreibern (wie auch sshfs) verwendet wird, hat Lese- und Schreibrechte für den Eigentümer "root" und die Gruppe "fuse", aber keine Reche für "other" (alle, die nicht "root" sind oder zur Gruppe "fuse" gehören). Deshalb ist es erforderlich, alle User, die den sshfs-Treiber verwenden dürfen, in die Gruppe "fuse" aufzunehmen. Zu diesem Zweck muss als "root" in der Datei /etc/group an die Zeile

fuse:x:124: (Anm.: 124 ist die Gruppennummer, die bei jeder Installation einen anderen Wert haben kann)

eine durch Komma getrennte Liste aller Usernamen an, die sshfh verwenden sollen, angehängt werden:

fuse:x:124:user1

bzw.

fuse:x:124:user1,user2,...,userN

Wird eine andere Distribution als Debian verwendet, muss in der Datei /etc/group überprüft werden, ob dort nach der Installation des fuse-utils Pakets ebenfalls eine Gruppe "fuse" eingerichtet wurde. Ist das der Fall, ist es sehr wahrscheinlich, dass auch dort die berechtigten User in diese Gruppe aufgenommen werden müssen.

Die Gruppenzuordnung für einen angemeldeten User ändert sich erst, wenn dieser sich neu anmeldet!

Verwenden von sshfs

Einbinden eines Verzeichnisses mit sshfs

Um sshfs verwenden zu können,

  • stellen Sie sicher, dass Sie ein leeres Verzeichnis in Ihrem Home-Verzeichnis haben, an das Sie Ihr Verzeichnis auf stud-in.fh-swf.de anhängen wollen (z.B. mit mkdir ~/stud-in),
  • binden Sie das Verzeichnis ein durch Eingabe der Zeile

    sshfs <stud-in-login>@stud-in.fh-swf.de: ~/stud-in und

  • geben Sie, sobald Sie aufgefordert werden, Ihr stud-in - Passwort ein.

Danach sollte Ihr Homeverzeichnis auf stud-in im Verzeichnis ~/stud-in angebunden und verfügbar sein.

Fehlerbehandlung

Fehlermeldung Ursache Massnahme
fuse: failed to open /dev/fuse: Permission denied Sie haben keine Reche, auf den Geräteschnittstelle des fuse-Kerneltreibers zuzugreifen. Folgen Sie den Anweisungen unter "Installation der Pakete" / "Einrichtung der Rechte".

Ausbinden eines Verzeichnisses

Vorausgesetzt, auf ~/stud-in wurde, wie oben per sshfs ein entferntes Verzeichnis gemountet, kann dieses mit

fusermount -u ~/stud-in

wieder ausgebunden werden. Das Programm fusermount ist Bestandteil des Pakets fuse-utils.


Letzte Aktualisierung: 28.09.2007 eMail an den Author  Drucken 


Dummy