@PROGRAM_NAME@(8)

BEZEICHNUNG
@PROGRAM_NAME@ - Hängt eine WebDAV-Resource als @PACKAGE@-Dateisystem ein

ÜBERSICHT
@PROGRAM_NAME@ [-h | --help] [-V | --version]
mount {dir | webdavserver}

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

BESCHREIBUNG
@PROGRAM_NAME@ 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. @PROGRAM_NAME@ ist Teil des @PACKAGE@-Packets.

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

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

@PROGRAM_NAME@ 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 @PROGRAM_NAME@ 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: ~/.@PACKAGE@/@CONFIGFILE@

    [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 @PACKAGE@-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 @PROGRAM_NAME@ root-Rechte. Aber es ist ein Sicherheitsrisiko, einen Hintergrundprozess, der mit dem Internet verbunden ist, mit root-Rechten laufen zu lassen. Deshalb ändert @PROGRAM_NAME@ seine Benutzer- und Gruppenkennung, wenn es in den Hinterdrund wechselt.

    Wenn @PROGRAM_NAME@ von root gestartet wird, läuft es als Benutzer @USER@ und Gruppe @GROUP@. Dies kann in @SYS_CONF_DIR@/@CONFIGFILE@ geändert werden.

    Wenn es von einem normalen Benutzer gestartet wird, läuft es mit dessen Benutzerkennung und Gruppe @GROUP@.
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 @PROGRAM_NAME@ 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 @GROUP@ 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 @SYS_CONF_DIR@/@SECRETSFILE@ 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 @CONFIGFILE@ und @SECRETSFILE@ sind die Regeln im @CONFIGFILE@(5)-Handbuch beschrieben.

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

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

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

@PROGRAM_NAME@ 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 @CONFIGFILE@(5)-Handbuch finden sich Hinweise, wie dies angepasst werden kann.

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

    In @SYS_CONF_DIR@/@CONFIGFILE@ oder ~/.@PACKAGE@/@CONFIGFILE@ 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).

@PROGRAM_NAME@ 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 @PROGRAM_NAME@ feststellt, dass eine Datei auf dem Server gesperrt ist, prüft es, ob die Sperre vom Benutzer mit Hilfe von @PROGRAM_NAME@ 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
@PACKAGE@ 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

@SYS_CONF_DIR@/@CONFIGFILE@
    Systemweite Konfigurationsdatei.

~/.@PACKAGE@/@CONFIGFILE@
    Konfigurationsdatei im Home-Verzeichnis des Benutzers. Sie hat Vorrang vor der systemweiten Konfigurationsdatei. Wenn sie nicht existiert, legt @PROGRAM_NAME@ eine Vorlage an.

@SYS_CONF_DIR@/@SECRETSFILE@
    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.

~/.@PACKAGE@/@SECRETSFILE@
    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 @PROGRAM_NAME@ eine Vorlage an.

@SYS_CONF_DIR@/@CERTS_DIR@
    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 @SYS_CONF_DIR@/@CONFIGFILE@ oder ~/.@PACKAGE@/@CONFIGFILE@ konfiguriert werden. Die Zertifikate müssen im PEM-Format vorliegen.
    Vergiss nicht, das Zertifikat selbst zu prüfen.

~/.@PACKAGE@/@CERTS_DIR@
    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 ~/.@PACKAGE@/@CONFIGFILE@ konfiguriert werden. Die Zertifikate müssen im PEM-Format vorliegen.
    Vergiss nicht, das Zertifikat selbst zu prüfen.

@SYS_CONF_DIR@/@CERTS_DIR@/@CLICERTS_DIR@
    Hier können Client-Zertifikate im PKCS#12-Format gespeichert werden. Die Benutzung muss in @SYS_CONF_DIR@/@CONFIGFILE@ oder ~/.@PACKAGE@/@CONFIGFILE@ konfiguriert werden. Das Verzeichnis darf nur Schreib-, Lese- und Ausführungsrecht für root haben.

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

@SYS_RUN@
    Hier speichert der Hintergrundprozess eine PID-Datei. Das Verzeichnis muss zur Gruppe @USER@ 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.

@SYS_CACHE_DIR@
    Dieses systemweite Cache-Verzeichnis wird benutzt, wenn root das Dateisystem einhängt. Es muss zur Gruppe @USER@ 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.

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

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 @SYS_CONF_DIR@ 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 @SYS_CONF_DIR@/@CONFIGFILE@ konfiguriert werden.
    proxy proxy.mycompany.com:8080

Die vertraulichen Zugangsdaten für den Server werden in /home/filomena/.@PACKAGE@/@SECRETSFILE@ 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 @SYS_CONF_DIR@/@SECRETSFILE@ 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
@PACKAGE@ unterstützt keine Links.

Ein @PACKAGE@-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 @PACKAGE@ in Debian geschrieben.

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

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

Version 1.0.0 (und spätere) von @PACKAGE@ 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
@PACKAGE_BUGREPORT@

SIEHE AUCH
u@PROGRAM_NAME@(8), @CONFIGFILE@(5), mount(8), umount(8), fstab(5)