mount.davfs - Hängt eine WebDAV-Resource als davfs2-Dateisystem ein
mount.davfs [-h | --help] [-V | --version]
mount {dir | webdavserver}
mount -t davfs [-o option[,...]] webdavserver dir
mount.davfs [-o option[,...]] webdavserver dir
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 coda oder das fuse Kernel-Dateisystem in das virtuelle Dateisystem eingebunden. Derzeit werden CODA_KERNEL_VERSION 3 und 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.
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 davfs2 und Gruppe davfs2. 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 davfs2.
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 davfs2 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.
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.
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.
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.
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.
mount.davfs versucht fehlende Verzeichnisse zu erstellen. Aber es lässt die Pfoten von /etc/davfs2.
Normaler Benutzer (z.B filomena):
Damit ein normaler Benutzer ein Dateisystem einhängen kann, ist ein Eintrag in fstab nötig.
Falls ein Proxy benutzt werden soll, sollte dies in /etc/davfs2/davfs2.conf konfiguriert werden.
Die vertraulichen Zugangsdaten für den Server werden in /home/filomena/.davfs2/secrets gespeichert.
Jetzt kann Benutzerin filomena das Dateisystem einhängen durch
und dieselbe Benutzerin filomena kann es aushängen durch
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.
Die WebDAV-Resource http://linux.org.ar/repos wird auf /dav eingehängt.
davfs2 unterstützt keine Links.
Ein davfs2-Dateisystem kann nicht mit mount --move verschoben werden.
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.
http://savannah.nongnu.org/projects/davfs2
umount.davfs(8), davfs2.conf(5), mount(8), umount(8), fstab(5)