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