mount.davfs(8)

BEZEICHNUNG
mount.davfs - Hängt eine WebDAV-Resource als davfs2-Dateisystem ein

ÜBERSICHT
mount.davfs [-h | --help] [-V | --version]
mount {dir | webdavserver}

ÜBERSICHT (nur für root)
mount -t davfs [-o option[,...]] webdavserver dir
mount.davfs [-o option[,...]] webdavserver dir

BESCHREIBUNG
mount.davfs hängt die WebDAV-Resource webdavserver in das Verzeichnis dir des lokalen Dateisystems ein. WebDAV (RFC 4918) ist eine HTTP-Erweiterung, die die gemeinsame Bearbeitung von Web-Resourcen aus der Ferne erlaubt. mount.davfs ist Teil des davfs2-Packets.

davfs2 erlaubt es, Dokumente auf einem Webserver mit Standardanwendungen zu bearbeiten, die dafür keine WebDAV-Erweiterungen benötigen. Z.B. könnte eine Web-Site auf einem entfernten Webserver mit den gleichen Werkzeugen bearbeitet werden, mit denen sie erstellt wurde. Oder man kann auf einem WebDAV-Server Dokumente speichern, die man von verschiedenen Orten aus bearbeiten will.

davfs2 unterstützt TLS/SSL (falls die Neon-Bibliothek es unterstützt) und Verbindungen über einen Proxy. Es wird über das fuse Kernel-Dateisystem in das virtuelle Dateisystem eingebunden. Derzeit wird FUSE_KERNEL_VERSION 7 unterstützt.

mount.davfs wird normalerweise durch das mount(8)-Programm aufgerufen, wenn der Parameter -t davfs angegeben ist. Nach dem Einhängen läuft es als Hintergrundprozess. Zum Aushängen wird das umount(8)-Programm benutzt.

webdavserver ist die URL des Servers. Sie muss mindestens den Host-Namen enthalten. Zusätzlich können das Schema, die Portnummer und der Pfad enthalten sein. Für fehlende Komponenten werden sinnvolle Standardwerte eingesetzt. Die Pfad-Komponente darf nicht in %-kodierter Form sein. Wird die URL jedoch an der Kommandozeile oder in die fstab eingegeben, müssen die Escape-Regeln der Shell bzw. der fstab beachtet werden.

dir ist der Einhängepunkt. Es kann eine absolute oder relative Pfadangabe sein.

fstab kann wie gewohnt benutzt werden, um Dateisysteme anzugeben. Im ersten Feld muss anstelle des Gerätes die URL des WebDAV-Servers angegeben werden. Für jeden Einhängepunkt darf es nur einen Eintrag in fstab geben.

OPTIONEN

-V --version
    Zeige die Version an.

-h --help
    Zeige einen Hilfe-Text an.

-o  Eine durch Kommas unterteilte Liste von Optionen. Mögliche Optionen sind:

    [no]auto
        Kann (nicht) mit mount -a eingehängt werden.
        Voreinstellung: auto.

    comment=Kommentar
        Diese Option wird von mount.davfs ignoriert. Andere Programme verlangen möglicherweise diese Option in der fstab.

    conf=absoluter Pfad
        Eine alternative Benutzer-Konfigurationsdatei für den Fall, dass die Standard-Konfigurationsdatei im Home-Verzeichnis des Benutzers nicht verwendet werden kann.
        Voreinstellung: ~/.davfs2/davfs2.conf

    [no]dev
        In einem davfs2-Dateisystem sind grundsätzlich keine Gerätedateien (device special files) möglich. Diese Option ist nur wegen der Kompatibilität mit mount(8) vorhanden und wird immer auf nodev gesetzt.

    dir_mode=mode
        Standardwert für die Dateirechte von Verzeichnissen in oktaler Schreibweise. s-Bits für den Eigentümer und die Gruppen werden stillschweigend ignoriert.
        Voreinstellung: wird aus der umask des Benutzers abgeleitet. Wenn ein r-Bit gesetzt ist, wird auch das entsprechende x-Bit gesetzt.

    [no]exec
        Die Ausführung von Programm-Dateien ist (nicht) erlaubt
        Voreinstellung: exec. (Bei einem normalen Benutzer gibt mount(8) als Voreinstellung noexec vor.)

    file_mode=mode
        Standardwert für die Dateirechte von normalen Dateien in oktaler Schreibweise. s-Bits für den Eigentümer und die Gruppen werden stillschweigend ignoriert.
        Voreinstellung: wird aus der umask des Benutzers abgeleitet; es werden keine x-Bits gesetzt.

    gid=group
        Das Dateisystem gehört zu dieser Gruppe. Es kann die Nummer der Gruppe oder der Name angegeben werden. Der Benutzer, der das Dateisystem einhängt, muss Mitglied dieser Gruppe sein, es sei denn er ist root.
        Voreinstellung: die primäre Gruppe des Benutzers.

    [no]grpid
        Wenn diese Option gesetzt ist, erhalten neue Dateien die gleiche Gruppe wie das Verzeichnis, in dem sie erzeugt werden. Dies gilt auch für Dateien, die auf dem Server vorhanden sind, aber nicht im lokalen Cache. (Dies wird gemacht, weil die Gruppe nicht auf dem Server gespeichert ist.)
        Wenn das Verzeichnis die Gruppe root hat, wird diese Option ignoriert.
        Voreinstellung: nogrpid.

    [no]_netdev
        Das Dateisystem benötigt (k)eine Netzwerkverbindung. Diese Information erlaubt es dem Betriebssystem, das Dateisystem beim Systemstart und beim Herunterfahren des Netzwerks angemessen zu behandeln.
        Voreinstellung: _netdev

    ro  Das Dateisystem erlaubt nur Lese-Zugriffe.
        Voreinstellung: rw.

    rw  Auf das Dateisystem kann lesend und schreibend zugegriffen werden.
        Voreinstellung: rw.

    [no]suid
        In davfs2-Dateisystemen sind grundsätzlich keine s-Bits für den Besitzer und die Gruppe erlaubt. Die Option ist nur zwecks Kompatibilität mit mount(8) vorhanden und wird immer auf nosuid gesetzt.

    [no]user
        Erlaube einem normalen Benutzer (nicht) das Dateisystem einzuhängen. Der Name des Benutzers wird in die mtab geschrieben, damit er das Dateisystem wieder aushängen kann. Die Option user zieht die Optionen noexec, nosuid und nodev nach sich, falls diese nicht explizit anders gesetzt werden. Diese Option hat nur in der fstab einen Sinn.
        Voreinstellung: normale Benutzer dürfen nicht mounten.

    users
        Wie user, aber jeder Benutzer darf das Dateisystem wieder aushängen. Dies wird im Allgemeinen nicht empfohlen. Wenn ein unprivilegierter Benutzer bei Verwendung der user-Option das Dateisystem einhängen kann, derselbe Benutzer es aber nicht mehr aushängen kann, dann kann die users-Option sinnvoll sein.
        Voreinstellung: nur der Benutzer, der das Dateisystem einghängt hat, darf es wieder aushängen.

    uid=user
        Der Beseitzer des Dateisystems. Kann als numerische Benutzerkennung oder als Name angegeben werden. Nur wenn root das Dateisystem einhängt, darf sie von der Benutzerkennung des Benutzers abweichen, der das Dateisystem einhängt.
        Voreinstellung: Kennung des Benutzers.

    username=WebDAV_user
        Dieser Name wird zur Anmeldung beim WebDAV-Server benutzt. Die Option ist nur für den Gebrauch mit pam_mount gedacht. Wenn sie gesetzt ist, werden die Anmaldedaten in der secrets-Datei ignoriert. Das Passwort wird immer von stdin eingelesen, auch wenn die Option askauth auf 0 gesetzt ist. Benutze die Option nicht in der fstab. Der Benutzername ist in der Ausgabe von ps für jedermann sichtbar.
        Voreingestellt: kein username

SICHERHEITSREGELN
Um ein Dateisystem einzuhängen, braucht mount.davfs root-Rechte. Aber es ist ein Sicherheitsrisiko, einen Hintergrundprozess, der mit dem Internet verbunden ist, mit root-Rechten laufen zu lassen. Deshalb ändert mount.davfs seine Benutzer- und Gruppenkennung, wenn es in den Hinterdrund wechselt.

    Wenn mount.davfs von root gestartet wird, läuft es als Benutzer nobody und Gruppe network. Dies kann in /etc/davfs2/davfs2.conf geändert werden.

    Wenn es von einem normalen Benutzer gestartet wird, läuft es mit dessen Benutzerkennung und Gruppe network.
Da das Dateisystem über eine unsichere Internet-Verbindung angebunden sein kann, ist das Risiko erhöht, dass darin Dateien mit schädlichem Inhalt sind. Deshalb hat mount.davfs etwas stärkere Einschränkungen als mount(8).

    Die Optionen nosuid und nodev werden immer gesetzt; das kann auch root nicht ändern.

    Damit normale Benutzer ein Dateisystem einhängen können, müssen sie der Gruppe network angehören und es muss durch einen Eintrag in der fstab erlaubt werden.

    Wenn in fstab ein relativer Dateiname als Einhängepunkt angegeben ist und ein normaler Benutzer ein Dateisystem einhängt, muss der Einhängepunkt innerhalb des Home-Verzeichnisses dieses Benutzers liegen.

    Wenn in der fstab die Optionen uid und/oder gid angegeben sind, kann ein normaler Benutzer das Dateisystem nur einhängen, wenn es seine Benutzerkennung ist und wenn er zur angegebenen Gruppe gehört.
WARNHINWEIS: Wenn root durch einen Eintrag in der fstab einem normalen Benutzer erlaubt, ein Dateisystem einzuhängen, dann erlaubt er ihm damit auch, die dazu gehörigen vertraulichen Zugangsdaten aus der Datei /etc/davfs2/secrets zu lesen, sowie den nötigen privaten Schlüssel des dazu gehörigen Client-Zertifikats. Das sollte man nur tun, wenn man diese Informationen dem Benutzer auch direkt geben würde.

URLS UND EINHÄNGEPUNKTE MIT LEERZEICHEN
Zeichen mit Sonderfunktion, wie z.B. das Leerzeichen, in Pfadangaben sind Mist. Unterschiedliche Programme und Protokolle interpretieren sie unterschiedlich und haben unterschiedliche Escape-Regeln.

In der fstab müssen Leerzeichen durch den dreistelligen oktalen Zeichencode mit vorangestelltem Escape-Zeichen ersetzt werden. Also z.B. http://foo.bar/path\040with\040spaces anstelle von http://foo.bar/path with spaces.

Für die Dateien davfs2.conf und secrets sind die Regeln im davfs2.conf(5)-Handbuch beschrieben.

Auf der Kommandozeile müssen die Regeln der Shell beachtet werden.

CACHE
mount.davfs versucht den Netzwerkverkehr durch Verwendung eines Cache zu verringern. Informationen über Verzeichnisse werden im Hauptspeicher gehalten und heruntergeladene Dateien werden auf der Festplatte gespeichert.

mount.davfs benötigt von allen offenen Dateien eine Lokale Kopie im Cache-Verzeichnis. Stelle bitte sicher, dass dafür ausreichend Platz auf der Festplatte zur Verfügung steht.

mount.davfs betrachtet Informationen über Verzeichnisse und Dateiattribute für eine (konfigurierbare) Zeit als gültig. Es holt diese Informationen nur dann erneut vom Server, wenn diese Zeit abgelaufen ist oder es andere Hinweise hat, dass die Informationen sich geändert haben. Wenn jemand anderes auf dem Server eine Datei neu anlegt oder löscht, kann es deshalb etwas dauern, bis dies im lokalen Dateisystem sichtbar wird.

Dies betrifft nicht den Inhalt von Dateien und die Auflistung von Verzeichnisinhalten. Wenn eine Datei geöffnet wird, wird immer der Server nach einer evtl. neuen Version gefragt. Im davfs2.conf(5)-Handbuch finden sich Hinweise, wie dies angepasst werden kann.

SPERREN, VERLORENGEGANGENE ÄNDERUNGEN UND BACKUP-DATEIEN
Mit WebDAV wurden Sperren eingefürht und mount.davfs benutzt diese standardmäßig. Normalerweise verhindern diese, dass zwei Leute gleichzeitig die selbe Datei ändern. Aber nicht immer:

    In /etc/davfs2/davfs2.conf oder ~/.davfs2/davfs2.conf könnten die Sperren deaktiviert sein.

    Möglicherweise unterstützt der Server keine Sperren (sie sind in WevDAV nicht zwingend vorgeschrieben).

    Durch eine schlechte Netzwerkverbindung könnte das rechtzeitige Erneuern einer Sperre verhindert werden.

    Ein anderer WebDAV-Client könnte deine Sperre benutzen (das ist nicht schwierig und könnte auch aus Versehen geschehen).

mount.davfs prüft deshalb, ob sich eine Datei auf dem Server geändert hat, bevor es eine neue Version hochlädt. Wenn es nicht möglich ist, eine lokal geänderte Datei auf den Server hochzuladen, wird sie im Backup-Verzeichnis lost+found gespeichert. Du solltest dieses Verzeichnis ab und zu überprüfen und entscheiden, was mit diesen Dateien zu tun ist.

Manchmal gibt ein Client eine Sperre nicht wieder frei. Möglicherweise ist er abgestürzt oder die Netzwerkverbindung ist zusammengebrochen. Wenn mount.davfs feststellt, dass eine Datei auf dem Server gesperrt ist, prüft es, ob die Sperre vom Benutzer mit Hilfe von mount.davfs angelegt wurde. In diesem Fall versucht es, die vorhandene Sperre zu verwenden. Dies gelingt aber nicht immer. Deshalb sollten Server Sperren automatisch entfernen, wenn sie vom Client nicht innerhalb einer vorgegebenen Zeit erneuert werden.

WebDAV erlaubt es auch, Dateien zu sperren, die gar nicht existieren (damit niemand anderes den Namen benutzt, wenn ein Client eine neue Datei anlegen will). Solche gesperrten, nicht existierenden Dateien erscheinen im Dateisystem mit der Größe 0 und dem Änderungsdatum 1970-01-01. Wenn Sperren nicht ordnungsgemäß wieder frei gegeben werden, kann u.U. nicht mehr auf die Datei zugegriffen werden. Mit Hilfe von cadaver(1) <http://www.webdav.org/cadaver/> können solche Sperren entfernt werden.

EIGENTÜMER UND DATEIRECHTE
davfs2 regelt die Zugriffskontrolle durch Unix-Dateirechte. Aber das Änderen des Eigentümers und der Dateirechte ist nur lokal wirksam. Damit kann der Besitzer eines Dateisystems festlegen, welche anderen lokalen Benutzer auf sein Dateisystem zugreifen dürfen.

Der Server weiß davon nichts. Für ihn gibt es nur den einen Benutzer (ausgewiesen durch die vertraulichen Zugangsdaten). Ein anderer WebDAV-Client, der mit dem gleichen Server verbunden ist, bekommt von diesen lokalen Änderungen an Eigentümer und Dateirechten nichts mit.

Es gibt eine Ausnahme: Das Execute-Bit für Dateien wird auf dem Server als WebDAV-Eigenschaft gespeichert. Mann sollte dies eher als eine Information über den Dateityp betrachten, denn als ein Dateirecht. Ob die Datei lokal ausführbar ist, wird weiterhin durch die Mount-Optionen und die lokalen Rechte festgelegt.

Wenn das Dateisystem ausgehängt wird, werden die Attribute der Dateien im Cache gespeichert, ebenso die der übergeordneten Verzeichnisse. Es werden aber keine Attribute von Verzeichnissen gespeichert, die keine Dateien enthalten, die im Cache sind.

DATEIEN

/etc/davfs2/davfs2.conf
    Systemweite Konfigurationsdatei.

~/.davfs2/davfs2.conf
    Konfigurationsdatei im Home-Verzeichnis des Benutzers. Sie hat Vorrang vor der systemweiten Konfigurationsdatei. Wenn sie nicht existiert, legt mount.davfs eine Vorlage an.

/etc/davfs2/secrets
    Enthält vertrauliche Zugangsdaten für den WebDAV-Server und den Proxy, sowie Passwörter zur Entschlüsselung von Client-Zertifikaten. Die Datei darf nur Schreib- und Leserechte für root haben.

~/.davfs2/secrets
    Enthält vertrauliche Zugangsdaten für den WebDAV-Server und den Proxy, sowie Passwörter zu Entschlüsselung von Client-Zertifikaten. Die Datei darf nur Schreib- und Leserechte für den Besitzer haben. Zugangsdaten und Passwörter werden vorrangig dieser Datei entnommen. Wenn keine gefunden werden, wird die systemweite Datei durchsucht. Wenn die Zugangsdaten und Passörter nicht gefunden werden, wird der Benutzer danach gefragt (falls nicht anders konfiguriert). Wenn die Datei nicht existiert, legt mount.davfs eine Vorlage an.

/etc/davfs2/certs
    Hier können vertrauenswürdige Server-Zertifikate gespeichert werden, die nicht auf normale Weise mit Hilfe der CA-Zertifikate des Systems überprüft werden können. Das ist dann sinnvoll, wenn der Server ein selbst gemachtes Zertifikat benutzt. Um ein solches Zertifikat zu benutzen, muss dies in /etc/davfs2/davfs2.conf oder ~/.davfs2/davfs2.conf konfiguriert werden. Die Zertifikate müssen im PEM-Format vorliegen.
    Vergiss nicht, das Zertifikat selbst zu prüfen.

~/.davfs2/certs
    Hier können vertrauenswürdige Server-Zertifikate gespeichert werden, die nicht auf normale Weise mit Hilfe der CA-Zertifikate des Systems überprüft werden können. Das ist dann sinnvoll, wenn der Server ein selbst gemachtes Zertifikat benutzt. Um ein solches Zertifikat zu benutzen, muss dies in ~/.davfs2/davfs2.conf konfiguriert werden. Die Zertifikate müssen im PEM-Format vorliegen.
    Vergiss nicht, das Zertifikat selbst zu prüfen.

/etc/davfs2/certs/private
    Hier können Client-Zertifikate im PKCS#12-Format gespeichert werden. Die Benutzung muss in /etc/davfs2/davfs2.conf oder ~/.davfs2/davfs2.conf konfiguriert werden. Das Verzeichnis darf nur Schreib-, Lese- und Ausführungsrecht für root haben.

~/.davfs2/certs/private
    Hier können Client-Zertifikate im PKCS#12-Format gespeichert werden. Die Benutzung muss in ~/.davfs2/davfs2.conf konfiguriert werden. Das Verzeichnis darf nur Schreib-, Lese- und Ausführungsrecht für den Besitzer haben.

/var/run/mount.davfs
    Hier speichert der Hintergrundprozess eine PID-Datei. Das Verzeichnis muss zur Gruppe nobody gehören; die Gruppe muss Schreibrecht haben und das Sticky-Bit muss gesetzt sein (Dateimodus 1775). Der Name der PID-Datei wird vom Einhängepunkt abgeleitet.

/var/cache/davfs2
    Dieses systemweite Cache-Verzeichnis wird benutzt, wenn root das Dateisystem einhängt. Es muss zur Gruppe nobody gehören und die Gruppe muss Lese-, Schreib- und Ausfürungsrecht haben. Für jedes Dateisystem wird ein Unterverzeichnis angelegt. Der Name des Unterverzeichnisses wird aus der URL, dem Einhängepunkt und dem Benutzernamen gebildet.

~/.davfs2/cache
    Cache-Verzeichnis im Home-Verzeichnis des Benutzers. Für jedes Dateisystem wird ein Unterverzeichnis angelegt.
mount.davfs versucht fehlende Verzeichnisse zu erstellen. Aber es lässt die Pfoten von /etc/davfs2.

UMGEBUNGSVARIABLEN

DAVFS_PASSWORD
    If set, this environment variable will be used as the password for WebDAV authentication if no password is specified via the command line option and in preference to anything found in secrets files. This allows for scripted mounting without storing passwords in files or exposing them in command line arguments; especially relevant in the context of CI runners.

https_proxy http_proxy all_proxy
    Wenn kein Proxy konfiguriert ist, wird der Wert dieser Umgebungsvariablen benutzt. Der Proxy kann mit und ohne Schema, sowie mit und ohne Port angegeben werden.
    http_proxy=[http://]foo.bar[:3218]
    Wird nur benutzt, wenn der Benutzer root das Dateisystem einhängt.

no_proxy
    Eine durch Kommas getrennte Liste von Domainnamen, auf die direkt zugegriffen werden soll. * passt auf alle Domainnamen. Ein Domainname, der mit einem Punkt . beginnt, umfasst auch alle Subdomains.
    Wird nur benutzt, wenn der Benutzer root das Dateisystem einhängt.
    Wird nicht benutzt, wenn der Proxy in /etc/davfs2 festgelegt wird.

BEISPIELE
Normaler Benutzer (z.B filomena):

Damit ein normaler Benutzer ein Dateisystem einhängen kann, ist ein Eintrag in fstab nötig.
    http://webdav.org/dav /media/dav davfs noauto,user 0 0

Falls ein Proxy benutzt werden soll, sollte dies in /etc/davfs2/davfs2.conf konfiguriert werden.
    proxy proxy.mycompany.com:8080

Die vertraulichen Zugangsdaten für den Server werden in /home/filomena/.davfs2/secrets gespeichert.
    proxy.mycompany.com filomena "my secret"
    /media/dav webdav-username password

If you have two-factor authentication enabled and if you can provide the token together with the password in the form of password:token, then add the string '2FA' as the forth parameter and you will be asked for token during mounting.
    /media/dav user-name "p@ss\"w0rd" 2FA

Jetzt kann Benutzerin filomena das Dateisystem einhängen durch
    mount /media/dav

und dieselbe Benutzerin filomena kann es aushängen durch
    umount /media/dav

Nur Benutzer root:

Die WebDAV-Resource https://asciigirl.com/webdav wird im Verzeichnis /mount/site eingehängt. Der Netzwerkverkehr wird verschlüsselt. Die vertraulichen Zugangsdatenen für http://webdav.org/dav werden /etc/davfs2/secrets entnommen. Falls sie da nicht gefunden werden, wird der Benutzer gefragt.
    mount -t davfs -o uid=otto,gid=users,mode=775 https://asciigirl.com/webdav /mount/site

Die WebDAV-Resource http://linux.org.ar/repos wird auf /dav eingehängt.
    mount.davfs -o uid=otto,gid=users,mode=775 http://linux.org.ar/repos/ /dav

FEHLER
davfs2 unterstützt keine Links.

Ein davfs2-Dateisystem kann nicht mit mount --move verschoben werden.

AUTOREN
Dieses Handbuch wurde von Luciano Bello <luciano@linux.org.ar> für die Version 0.2.3 von davfs2 in Debian geschrieben.

Für spätere Versionen wurde es von Werner Baumann <werner.baumann@onlinehome.de> angepasst.

davfs2 wurde von Sung Kim <hunkim@gmail.com> entwickelt.

Version 1.0.0 (und spätere) von davfs2 sind eine vollständige Neufassung von Werner Baumann.

ÜBERSETZER
Das Handbuch wurde von Werner Baumann <werner.baumann@onlinehome.de> übersetzt. 2009-04-27

DAVFS2 HOME
https://github.com/alisarctl/davfs2

SIEHE AUCH
umount.davfs(8), davfs2.conf(5), mount(8), umount(8), fstab(5)