mount.davfs(8) 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 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.

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
Experimentell: Diese Option ist experimentell und wird möglicherweise wieder entfernt. Falls du sie erfolgreich verwendest und behalten möchtest, sende bitte einen kurzen Bericht.

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 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.

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 davfs2 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 davfs2 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

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

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 <[email protected]> für die Version 0.2.3 von davfs2 in Debian geschrieben.

Für spätere Versionen wurde es von Werner Baumann <[email protected]> angepasst.

davfs2 wurde von Sung Kim <[email protected]> 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 <[email protected]> übersetzt. 2009-04-27