FUSE: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“
 
(77 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''FUSE''' ([[Dateisystem|Filesystem]] in [[Userspace]]) ist ein [[Kernel-Modul]] für [[Unix]]-Systeme, das es ermöglicht, Dateisystem-[[Gerätetreiber|Treiber]] aus dem [[Kernel (Betriebssystem)|Kernel-Mode]] in den [[Ring (CPU)|User-Mode]] zu verlagern.
'''FUSE''' - Filesystem in Userspace
= Die Funktionsweise von FUSE=
 
[[Datei:FUSE structure.svg|mini|hochkant=1.75|Die Funktionsweise von FUSE]]
== Beschreibung ==
* Es gibt zwar ein [[Kernel-Modul]], aber die eigentliche Programmlogik (libfuse) läuft im Userspace (oben).
; ''FUSE'' (Filesystem in Userspace)
* Das zugreifende Programm ''ls'' (links-oben) greift wie über ein normales Dateisystem darauf zu, erst das Kernelmodul leitet den Aufruf um.
[[Datei:FUSE structure.svg|mini|Funktionsweise von FUSE]]
VFS: [[Virtuelles Dateisystem]]<br />NFS, Ext3, …: Dateisysteme<br />glibc: [[GNU-C-Bibliothek]]]]
* Kernel-Modul für Unix-Systeme
* Dateisystem-Treiber in den User-Mode verlagern
 
; Programmlogik (libfuse) im Userspace
Es gibt zwar ein [[Kernel-Modul]]
* Das zugreifende Programm ''ls'' (links-oben) greift wie über ein normales Dateisystem darauf zu
* Kernelmodul leitet den Aufruf um
 
; Häufig eingesetzte FUSE-Module
{| class="wikitable options"
|-
| [[sshfs]] || Entfernte Rechner in das System einbinden
|-
| [[NTFS-3G]] || Erweiterter Schreib-/Lesezugriff auf NTFS-Partitionen. Ist in Ubuntu Standard
|-
| [[gio mount]] || Auch das GIO/GVfs verwendet FUSE
|}


== Verwendung ==
== Verwendung ==
FUSE entstand aus der Notwendigkeit heraus, Benutzern mit Standardrechten die Einbindung ([[Mounten]]) von Dateisystemen ins System eines Computers zu ermöglichen.
; Benutzern die Einbindung von Dateisystemen ermöglichen
* Üblicherweise wurden Dateisysteme nur auf Festplatten angelegt, die in einen Rechner fest verbaut wurden und deshalb gleich nach dem Einbau vom Administrator (oder dem Nutzer per Administratorenkonto) durch die Installation des passenden Treibers verfügbar gemacht wurden.
FUSE entstand aus der Notwendigkeit heraus, Benutzern mit Standardrechten die Einbindung ([[Mounten]]) von Dateisystemen ins System eines Computers zu ermöglichen
* Mit dem Aufkommen von mobilen Massendatenspeichern wie z.&nbsp;B. [[USB-Stick]]s oder externen Datensicherungssystemen zu günstigeren Preisen wurde es notwendig, Nutzern auch ohne Administratorenrechte die Installation und Verwaltung solcher Geräte zu ermöglichen.
* Üblicherweise wurden Dateisysteme nur auf Festplatten angelegt, die in einen Rechner fest verbaut wurden und deshalb gleich nach dem Einbau vom Administrator (oder dem Nutzer per Administratorenkonto) durch die Installation des passenden Treibers verfügbar gemacht wurden
* FUSE wird mit administrativen Rechten ins System eingebunden (installiert) und stellt danach nichtprivilegierten [[Benutzerkonto|Computerbenutzern]] (mit Standardrechten) dieselben Funktionen zur Verfügung.
* Mit dem Aufkommen von mobilen Massendatenspeichern wie z.&nbsp;B.&nbsp;[[USB-Stick]]s oder externen Datensicherungssystemen zu günstigeren Preisen wurde es notwendig, Nutzern auch ohne Administratorenrechte die Installation und Verwaltung solcher Geräte zu ermöglichen
* FUSE wird mit administrativen Rechten ins System eingebunden (installiert) und stellt danach nichtprivilegierten [[Benutzerkonto|Computerbenutzern]] (mit Standardrechten) dieselben Funktionen zur Verfügung


FUSE ist das [[Laufwerk (Computer)|laufwerksspezifische]] Modul (für die angeschlossene [[Hardware]]) und benötigt zur Einbindung des darauf enthaltenen Dateisystems zusätzlich den jeweils passenden dateisystemspezifischen Treiber.
; FUSE ist das [[Laufwerk (Computer)|laufwerksspezifische]] Modul (für die angeschlossene [[Hardware]]) und benötigt zur Einbindung des darauf enthaltenen Dateisystems zusätzlich den jeweils passenden dateisystemspezifischen Treiber
* Der wohl bekannteste ist [[NTFS-3G]], welches den Zugriff auf die weit verbreiteten [[NTFS]]-Dateisysteme ([[Microsoft Windows|Windows]]) ermöglicht.
* Der wohl bekannteste ist [[NTFS-3G]], welches den Zugriff auf die weit verbreiteten [[NTFS]]-Dateisysteme ([[Microsoft Windows|Windows]]) ermöglicht
* Mit Hilfe von FUSE lassen sich unter [[GNU/Linux]], [[FreeBSD]], [[OpenSolaris]], [[Mac OS X]] oder [[Android (Betriebssystem)|Android]] die meisten existierenden Dateisysteme wie NTFS oder [[Universal Disk Format|UDF]] ([[DVD]]s) einbinden.
* Mit Hilfe von FUSE lassen sich unter [[GNU/Linux]], [[FreeBSD]], [[OpenSolaris]], [[Mac OS X]] oder [[Android (Betriebssystem)|Android]] die meisten existierenden Dateisysteme wie NTFS oder [[Universal Disk Format|UDF]] ([[DVD]]s) einbinden
* Da FUSE-Dateisysteme – wie normale [[Anwendungsprogramm]]e – im Benutzermodus (User-Mode) laufen, muss sich der Entwickler nicht mit den Beschränkungen und Besonderheiten des Kernel-Modes auseinandersetzen.
* Da FUSE-Dateisysteme – wie normale [[Anwendungsprogramm]]e – im Benutzermodus (User-Mode) laufen, muss sich der Entwickler nicht mit den Beschränkungen und Besonderheiten des Kernel-Modes auseinandersetzen
* FUSE-Dateisystemtreiber sind daher erheblich einfacher zu entwickeln und zu warten.
* FUSE-Dateisystemtreiber sind daher erheblich einfacher zu entwickeln und zu warten
* So entstand eine Vielzahl von Treibern, die neben Speichermedien auch ganz andere Datenstrukturen als navigierbares Dateisystem abbilden.
* So entstand eine Vielzahl von Treibern, die neben Speichermedien auch ganz andere Datenstrukturen als navigierbares Dateisystem abbilden


== Bekannte Dateisysteme und -Treiber ==
; FUSE (Filesystem in USErspace) ist ein Linux-Kernel-Modul, das es ermöglicht, Dateisystem-Treiber aus dem Kernel-Modus in den User-Modus zu verlagern
{| class="wikitable"
* Es erlaubt auch nicht-privilegierten Benutzern, eigene Dateisysteme zu aktivieren ("mount"). ,
* Weil die Dateisystemtreiber im User-Modus laufen, braucht man sich beim Programmieren nicht mit den Beschränkungen und Besonderheiten des Kernel-Modes auseinanderzusetzen, was die Entwicklung stark vereinfacht, daher sind eine Vielzahl von Treibern entstanden
* Einige bilden statt Festplatten und anderen Speichermedien ganz andere Datenstrukturen in Form eines navigierbaren Dateisystems ab (Quelle)
 
== Dateisysteme ==
{| class="wikitable options"
|- style="background-color:#F2F2F2"
|- style="background-color:#F2F2F2"
! width="20%"|Name
! width="20%"|Name
Zeile 32: Zeile 54:
|CloudFusion
|CloudFusion
|Einbinden von Dropbox, Sugarsync, Amazon S3, Google Storage und [[WebDAV]] Accounts
|Einbinden von Dropbox, Sugarsync, Amazon S3, Google Storage und [[WebDAV]] Accounts
|<ref>http://wiki.ubuntuusers.de/CloudFusion</ref>
|http://wiki.ubuntuusers.de/CloudFusion
|-
|-
|[[CryFS]] (''Cryptographic Filesystem'')
|[[CryFS]] (''Cryptographic Filesystem'')
|Verschlüsseltes Dateisystem für Dropbox oder andere Cloud-Anbieter.
|Verschlüsseltes Dateisystem für Dropbox oder andere Cloud-Anbieter
|<ref>https://www.cryfs.org</ref>
|https://www.cryfs.org
|-
|-
|[[curlftpfs]]
|[[curlftpfs]]
Zeile 43: Zeile 65:
|-
|-
|CUSE (Character Devices in Userspace)
|CUSE (Character Devices in Userspace)
|Kann mit Anwendungen, die im [[Ring (CPU)|Benutzermodus]] laufen, wie [[Tastatur]]en, [[Maus (Computer)|Mäusen]] oder anderen Geräten wie [[Serielle Datenübertragung|serieller Datenübertragung]] kommunizieren.
|Kann mit Anwendungen, die im [[Ring (CPU)|Benutzermodus]] laufen, wie [[Tastatur]]en, [[Maus (Computer)|Mäusen]] oder anderen Geräten wie [[Serielle Datenübertragung|serieller Datenübertragung]] kommunizieren
|
|
|-
|-
|[[davfs2]]
|[[davfs2]]
|Erlaubt den Zugriff auf WebDAV-Ressourcen und ist in der Lage, sich mit [[Digitales Zertifikat|Client-Zertifikaten]] zu authentifizieren.
|Erlaubt den Zugriff auf WebDAV-Ressourcen und ist in der Lage, sich mit [[Digitales Zertifikat|Client-Zertifikaten]] zu authentifizieren
|<ref>http://savannah.nongnu.org/projects/davfs2</ref>
|http://savannah.nongnu.org/projects/davfs2
|-
|-
|[[EncFS]] (''Encrypted Filesystem'')
|[[EncFS]] (''Encrypted Filesystem'')
Zeile 56: Zeile 78:
|[[exFAT]]
|[[exFAT]]
|Ermöglicht das Lesen und Schreiben auf Flash-Medien mit exFAT
|Ermöglicht das Lesen und Schreiben auf Flash-Medien mit exFAT
|<ref>{{Internetquelle |autor= |url=https://github.com/relan/exfat |titel=GitHub Projekt-Seite |werk= |hrsg= |datum= |abruf=2019-06-02 |sprache=}}</ref>
|{{Internetquelle |autor= |url=https://github.com/relan/exfat |titel=GitHub Projekt-Seite |werk= |hrsg= |datum= |abruf=2019-06-02 |sprache=}}
|-
|-
|[[fusedav]]
|[[fusedav]]
|Erlaubt den Zugriff auf WebDAV-Ressourcen
|Erlaubt den Zugriff auf WebDAV-Ressourcen
|<ref>http://0pointer.de/lennart/projects/fusedav/</ref>
|http://0pointer.de/lennart/projects/fusedav/
|-
|-
|[[glusterFS]]
|[[glusterFS]]
|Ein [[Cluster-Dateisystem]]
|Ein [[Cluster-Dateisystem]]
|<ref>http://www.gluster.org/</ref>
|http://www.gluster.org/
|-
|-
|[[GmailFS]]
|[[GmailFS]]
Zeile 80: Zeile 102:
|[[LoggedFS]]
|[[LoggedFS]]
|Loggt Operationen im Dateisystem
|Loggt Operationen im Dateisystem
|<ref>http://loggedfs.sourceforge.net/</ref>
|http://loggedfs.sourceforge.net/
|-
|-
|[[mysqlfs]]
|[[mysqlfs]]
|Ermöglicht es, Daten in einer [[MySQL]]-Datenbank abzulegen
|Ermöglicht es, Daten in einer [[MySQL]]-Datenbank abzulegen
|<ref>http://sourceforge.net/projects/mysqlfs/</ref>
|http://sourceforge.net/projects/mysqlfs/
|-
|-
|[[NTFS-3G]]
|[[NTFS-3G]]
|Ermöglicht Schreib- und Lesezugriff auf [[NTFS]]
|Ermöglicht Schreib- und Lesezugriff auf [[NTFS]]
|<ref name="golem-46531">{{Internetquelle | url=http://www.golem.de/0607/46531.html | titel=NTFS-3G: Voller NTFS-Schreibzugriff unter Linux | autor= | werk=golem.de | datum=17.&nbsp;Juli 2006 |zugriff=15.&nbsp;Juli 2015}}</ref>
|<ref name="golem-46531">{{Internetquelle | url=http://www.golem.de/0607/46531.html | titel=NTFS-3G: Voller NTFS-Schreibzugriff unter Linux | autor= | werk=golem.de | datum=17. Juli 2006 |zugriff=15. Juli 2015}}
|-
|-
|ntfsmount
|ntfsmount
|Erlaubt das Mounten von NTFS-Partitionen mit Schreibunterstützung (aus dem Linux-ntfs-Projekt)
|Erlaubt das Mounten von NTFS-Partitionen mit Schreibunterstützung (aus dem Linux-ntfs-Projekt)
|<ref>http://www.linux-ntfs.org/</ref>
|http://www.linux-ntfs.org/
|-
|-
|[[s3fs]]
|[[s3fs]]
|Ermöglicht das Mounten von [[Amazon Web Services]] Object Storage ([[Amazon S3]])
|Ermöglicht das Mounten von [[Amazon Web Services]] Object Storage ([[Amazon S3]])
|<ref>https://github.com/s3fs-fuse/s3fs-fuse/</ref>
|https://github.com/s3fs-fuse/s3fs-fuse/
|-
|-
|[[SSHFS]]
|[[SSHFS]]
|Ermöglicht es, ein Laufwerk über [[Secure Shell|SSH]] zu mounten
|Ermöglicht es, ein Laufwerk über [[Secure Shell|SSH]] zu mounten
|<ref>{{Internetquelle|url=https://www.heise.de/ct/artikel/Toolbox-Dateizugriffe-mit-sshfs-1646679.html |titel=Toolbox: Dateizugriffe mit sshfs – heise open |autor=David Wolski |werk=heise.de |datum=2012-07-23 |zugriff=2015-07-15}}</ref>
|{{Internetquelle|url=https://www.heise.de/ct/artikel/Toolbox-Dateizugriffe-mit-sshfs-1646679.html |titel=Toolbox: Dateizugriffe mit sshfs – heise open |autor=David Wolski |werk=heise.de |datum=2012-07-23 |zugriff=2015-07-15}}
|-
|-
|[[wdfs]]
|[[wdfs]]
|Erlaubt den Zugriff auf WebDAV-Ressourcen
|Erlaubt den Zugriff auf WebDAV-Ressourcen
|<ref>http://noedler.de/projekte/wdfs/</ref>
|http://noedler.de/projekte/wdfs/
|-
|-
|[[WikipediaFS]]
|[[WikipediaFS]]
|Ermöglicht das Arbeiten mit Artikeln aus dem Bestand einer [[MediaWiki]]-Installation (und somit nicht nur der [[Wikipedia]]), als wären es normale [[Textdatei]]en
|Ermöglicht das Arbeiten mit Artikeln aus dem Bestand einer [[MediaWiki]]-Installation (und somit nicht nur der [[Wikipedia]]), als wären es normale [[Textdatei]]en
|<ref>http://wikipediafs.sourceforge.net</ref>
|http://wikipediafs.sourceforge.net
|-
|-
|''ZFS on FUSE''
|''ZFS on FUSE''
|Erlaubt den Zugriff auf das moderne 128-bit-Dateisystem [[ZFS (Dateisystem)|ZFS]] von [[Sun Microsystems|Sun]]. Da ZFS unter der [[CDDL]] veröffentlicht ist, ist keine direkte Integration in den Linux-Kernel möglich. Die Portierung wurde im Rahmen des [[Google Summer of Code]] gesponsert. (Entwicklung eingestellt)
|Erlaubt den Zugriff auf das moderne 128-bit-Dateisystem [[ZFS (Dateisystem)|ZFS]] von [[Sun Microsystems|Sun]]. Da ZFS unter der [[CDDL]] veröffentlicht ist, ist keine direkte Integration in den Linux-Kernel möglich. Die Portierung wurde im Rahmen des [[Google Summer of Code]] gesponsert. (Entwicklung eingestellt)
|<ref>http://zfs-on-fuse.blogspot.com/</ref>
|http://zfs-on-fuse.blogspot.com/
|}
|}


FUSE (Filesystem in USErspace) ist ein Linux-Kernel-Modul, das es ermöglicht, Dateisystem-Treiber aus dem Kernel-Modus in den User-Modus zu verlagern. Es erlaubt auch nicht-privilegierten Benutzern, eigene Dateisysteme zu aktivieren ("mount"). Weil die Dateisystemtreiber im User-Modus laufen, braucht man sich beim Programmieren nicht mit den Beschränkungen und Besonderheiten des Kernel-Modes auseinanderzusetzen, was die Entwicklung stark vereinfacht, daher sind eine Vielzahl von Treibern entstanden. Einige bilden statt Festplatten und anderen Speichermedien ganz andere Datenstrukturen in Form eines navigierbaren Dateisystems ab (Quelle).
== Installation ==
Konfiguration
# '''apt install fuse'''
 
Die FUSE-Kernelmodule sind standardmäßig bei aktuellen Versionen des Linux-Kernels enthalten. Ansonsten muss ggf. noch das folgende Paket installiert werden [5]:
 
    fuse


Paketliste zum Kopieren:
FUSE-Kernelmodule sind standardmäßig im Linux-Kernel enthalten


sudo apt-get install fuse
== Anwendungen ==
== Aufruf ==
=== Optionen ===
FUSE besitzt eine Reihe globaler Optionen, welche bei allen Modulen benutzt werden können


Oder mit apturl installieren, Link: apt://fuse
Die wohl wichtigsten sind
Hinweis:
-o allow_other
-o allow_root


Damit man FUSE benutzen kann, muss man bis einschließlich Ubuntu 18.04 LTS den Benutzer, der das FUSE-Kernelmodul benutzen will, zur Gruppe fuse hinzufügen [3]. Die Zuordnung des Benutzers zur Gruppe wird erst nach einem erneuten Anmelden aktiv.
Hierbei wird der Zugriff auf das eingehängte Dateisystem für andere Benutzer erlaubt


Seit Ubuntu 20.04 LTS kann FUSE standardmäßig von jedermann benutzt werden; eine Gruppe fuse ist deshalb nicht eingerichtet.
== Konfiguration ==
; Hinweis
:* Damit man FUSE benutzen kann, muss man bis einschließlich Ubuntu 18.04 LTS den Benutzer, der das FUSE-Kernelmodul benutzen will, zur Gruppe fuse hinzufügen
:* Die Zuordnung des Benutzers zur Gruppe wird erst nach einem erneuten Anmelden aktiv
:* Seit Ubuntu 20.04 LTS kann FUSE standardmäßig von jedermann benutzt werden; eine Gruppe fuse ist deshalb nicht eingerichtet


Anschließend muss das Modul fuse geladen [2] werden. Damit es nach einem Neustart des Rechners auch funktioniert, sollte man den Eintrag in die Datei /etc/modules nicht vergessen.
; Anschließend muss das Modul fuse geladen werden
Optionen
Damit es nach einem Neustart des Rechners auch funktioniert, sollte man den Eintrag in die Datei /etc/modules nicht vergessen


FUSE besitzt eine Reihe globaler Optionen, welche bei allen Modulen benutzt werden können. Die wohl wichtigsten sind -o allow_other und -o allow_root. Hierbei wird der Zugriff auf das eingehängte Dateisystem für andere Benutzer erlaubt. Damit diese Optionen verwendet werden können, muss allerdings zuerst die Konfigurationsdatei /etc/fuse.conf in einem Editor mit Root-Rechten [1] mit folgendem Inhalt angelegt werden:
=== Konfigurationsdatei ===
Damit diese Optionen verwendet werden können, muss allerdings zuerst die Konfigurationsdatei /etc/fuse.conf in einem Editor mit Root-Rechten mit folgendem Inhalt angelegt werden:
mount_max = 999
user_allow_other


mount_max = 999
<noinclude>
user_allow_other


Die am häufigsten gebrauchten FUSE-Module
== Anhang ==
    sshfs – Entfernte Rechner in das System einbinden
=== Siehe auch ===
    NTFS-3G – Erweiterter Schreib-/Lesezugriff auf NTFS-Partitionen. Ist in Ubuntu Standard.
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
    gio mount – Auch das GIO/GVfs verwendet FUSE
==== Links ====
===== Weblinks =====
# https://de.wikipedia.org/wiki/Filesystem_in_Userspace


= Links =
[[Kategorie:FUSE]]
== Intern ==
# TODO
== Weblinks ==
# FUSE-Homepage 🇬🇧
# Filesystem in Userspace
# [https://github.com/libfuse/libfuse Projektseite FUSE]
# [https://github.com/libfuse/libfuse/wiki/Filesystems Offizielle Liste aller FUSE-Dateisysteme] (''engl.'')
# [https://code.google.com/p/macfuse/ MacFUSE]: Eine Implementierung von FUSE für [[Mac OS X]], entstanden im Rahmen von [[Google Summer of Code]]
# [https://github.com/dokan-dev/dokany DokanY]: Eine Implementierung von FUSE für [[Windows]]
# [[IBM]] ''developerWorks'': [https://developer.ibm.com/articles/l-fuse/ Develop your own filesystem with FUSE], englischsprachiger Artikel (2006/2014)
# Jake Edge: [https://lwn.net/Articles/308445/ ''Character devices in user space.''] Artikel bei lwn.net, 25. November 2008


[[Kategorie:Linux:Storage:FUSE]]
</noinclude>

Aktuelle Version vom 12. November 2024, 18:37 Uhr

FUSE - Filesystem in Userspace

Beschreibung

FUSE (Filesystem in Userspace)
Funktionsweise von FUSE
  • Kernel-Modul für Unix-Systeme
  • Dateisystem-Treiber in den User-Mode verlagern
Programmlogik (libfuse) im Userspace

Es gibt zwar ein Kernel-Modul

  • Das zugreifende Programm ls (links-oben) greift wie über ein normales Dateisystem darauf zu
  • Kernelmodul leitet den Aufruf um
Häufig eingesetzte FUSE-Module
sshfs Entfernte Rechner in das System einbinden
NTFS-3G Erweiterter Schreib-/Lesezugriff auf NTFS-Partitionen. Ist in Ubuntu Standard
gio mount Auch das GIO/GVfs verwendet FUSE

Verwendung

Benutzern die Einbindung von Dateisystemen ermöglichen

FUSE entstand aus der Notwendigkeit heraus, Benutzern mit Standardrechten die Einbindung (Mounten) von Dateisystemen ins System eines Computers zu ermöglichen

  • Üblicherweise wurden Dateisysteme nur auf Festplatten angelegt, die in einen Rechner fest verbaut wurden und deshalb gleich nach dem Einbau vom Administrator (oder dem Nutzer per Administratorenkonto) durch die Installation des passenden Treibers verfügbar gemacht wurden
  • Mit dem Aufkommen von mobilen Massendatenspeichern wie z. B. USB-Sticks oder externen Datensicherungssystemen zu günstigeren Preisen wurde es notwendig, Nutzern auch ohne Administratorenrechte die Installation und Verwaltung solcher Geräte zu ermöglichen
  • FUSE wird mit administrativen Rechten ins System eingebunden (installiert) und stellt danach nichtprivilegierten Computerbenutzern (mit Standardrechten) dieselben Funktionen zur Verfügung
FUSE ist das laufwerksspezifische Modul (für die angeschlossene Hardware) und benötigt zur Einbindung des darauf enthaltenen Dateisystems zusätzlich den jeweils passenden dateisystemspezifischen Treiber
  • Der wohl bekannteste ist NTFS-3G, welches den Zugriff auf die weit verbreiteten NTFS-Dateisysteme (Windows) ermöglicht
  • Mit Hilfe von FUSE lassen sich unter GNU/Linux, FreeBSD, OpenSolaris, Mac OS X oder Android die meisten existierenden Dateisysteme wie NTFS oder UDF (DVDs) einbinden
  • Da FUSE-Dateisysteme – wie normale Anwendungsprogramme – im Benutzermodus (User-Mode) laufen, muss sich der Entwickler nicht mit den Beschränkungen und Besonderheiten des Kernel-Modes auseinandersetzen
  • FUSE-Dateisystemtreiber sind daher erheblich einfacher zu entwickeln und zu warten
  • So entstand eine Vielzahl von Treibern, die neben Speichermedien auch ganz andere Datenstrukturen als navigierbares Dateisystem abbilden
FUSE (Filesystem in USErspace) ist ein Linux-Kernel-Modul, das es ermöglicht, Dateisystem-Treiber aus dem Kernel-Modus in den User-Modus zu verlagern
  • Es erlaubt auch nicht-privilegierten Benutzern, eigene Dateisysteme zu aktivieren ("mount"). ,
  • Weil die Dateisystemtreiber im User-Modus laufen, braucht man sich beim Programmieren nicht mit den Beschränkungen und Besonderheiten des Kernel-Modes auseinanderzusetzen, was die Entwicklung stark vereinfacht, daher sind eine Vielzahl von Treibern entstanden
  • Einige bilden statt Festplatten und anderen Speichermedien ganz andere Datenstrukturen in Form eines navigierbaren Dateisystems ab (Quelle)

Dateisysteme

Name Beschreibung Quelle
Captive Ermöglicht sicheren Schreibzugriff auf NTFS-Partitionen durch Einbindung des originalen Windows-Treibers ntfs.sys mit Hilfe einer Kompatibilitätsschicht (Entwicklung eingestellt)
CloudFusion Einbinden von Dropbox, Sugarsync, Amazon S3, Google Storage und WebDAV Accounts http://wiki.ubuntuusers.de/CloudFusion
CryFS (Cryptographic Filesystem) Verschlüsseltes Dateisystem für Dropbox oder andere Cloud-Anbieter https://www.cryfs.org
curlftpfs Einbinden der Daten eines FTP-Servers (beispielsweise persönliche Daten bei einem WebHoster ins lokale Filesystem einbinden)
CUSE (Character Devices in Userspace) Kann mit Anwendungen, die im Benutzermodus laufen, wie Tastaturen, Mäusen oder anderen Geräten wie serieller Datenübertragung kommunizieren
davfs2 Erlaubt den Zugriff auf WebDAV-Ressourcen und ist in der Lage, sich mit Client-Zertifikaten zu authentifizieren http://savannah.nongnu.org/projects/davfs2
EncFS (Encrypted Filesystem) Verschlüsseltes pass-through-Dateisystem ähnlich dem CFS
exFAT Ermöglicht das Lesen und Schreiben auf Flash-Medien mit exFAT
fusedav Erlaubt den Zugriff auf WebDAV-Ressourcen http://0pointer.de/lennart/projects/fusedav/
glusterFS Ein Cluster-Dateisystem http://www.gluster.org/
GmailFS Ermöglicht es, Google-Mail-Postfächer als Dateiablage zu verwenden
GnomeVFS2 FUSE Ist eine Schnittstelle zum Gnome Virtual Filesystem
gPhotoFS Bindet die Bilderschnittstelle von Digitalkameras als Massenspeicher ein
LoggedFS Loggt Operationen im Dateisystem http://loggedfs.sourceforge.net/
mysqlfs Ermöglicht es, Daten in einer MySQL-Datenbank abzulegen http://sourceforge.net/projects/mysqlfs/
NTFS-3G Ermöglicht Schreib- und Lesezugriff auf NTFS <ref name="golem-46531">
ntfsmount Erlaubt das Mounten von NTFS-Partitionen mit Schreibunterstützung (aus dem Linux-ntfs-Projekt) http://www.linux-ntfs.org/
s3fs Ermöglicht das Mounten von Amazon Web Services Object Storage (Amazon S3) https://github.com/s3fs-fuse/s3fs-fuse/
SSHFS Ermöglicht es, ein Laufwerk über SSH zu mounten
wdfs Erlaubt den Zugriff auf WebDAV-Ressourcen http://noedler.de/projekte/wdfs/
WikipediaFS Ermöglicht das Arbeiten mit Artikeln aus dem Bestand einer MediaWiki-Installation (und somit nicht nur der Wikipedia), als wären es normale Textdateien http://wikipediafs.sourceforge.net
ZFS on FUSE Erlaubt den Zugriff auf das moderne 128-bit-Dateisystem ZFS von Sun. Da ZFS unter der CDDL veröffentlicht ist, ist keine direkte Integration in den Linux-Kernel möglich. Die Portierung wurde im Rahmen des Google Summer of Code gesponsert. (Entwicklung eingestellt) http://zfs-on-fuse.blogspot.com/

Installation

# apt install fuse

FUSE-Kernelmodule sind standardmäßig im Linux-Kernel enthalten

Anwendungen

Aufruf

Optionen

FUSE besitzt eine Reihe globaler Optionen, welche bei allen Modulen benutzt werden können

Die wohl wichtigsten sind

-o allow_other
-o allow_root

Hierbei wird der Zugriff auf das eingehängte Dateisystem für andere Benutzer erlaubt

Konfiguration

Hinweis
  • Damit man FUSE benutzen kann, muss man bis einschließlich Ubuntu 18.04 LTS den Benutzer, der das FUSE-Kernelmodul benutzen will, zur Gruppe fuse hinzufügen
  • Die Zuordnung des Benutzers zur Gruppe wird erst nach einem erneuten Anmelden aktiv
  • Seit Ubuntu 20.04 LTS kann FUSE standardmäßig von jedermann benutzt werden; eine Gruppe fuse ist deshalb nicht eingerichtet
Anschließend muss das Modul fuse geladen werden

Damit es nach einem Neustart des Rechners auch funktioniert, sollte man den Eintrag in die Datei /etc/modules nicht vergessen

Konfigurationsdatei

Damit diese Optionen verwendet werden können, muss allerdings zuerst die Konfigurationsdatei /etc/fuse.conf in einem Editor mit Root-Rechten mit folgendem Inhalt angelegt werden:

mount_max = 999
user_allow_other


Anhang

Siehe auch

Links

Weblinks
  1. https://de.wikipedia.org/wiki/Filesystem_in_Userspace