ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

WebDAV

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

./webdav_logo.jpg

WebDAV {en} (Web-based Distributed Authoring and Versioning) ist ein offener Standard zur Bereitstellung von Dateien im Internet. Der Benutzer kann durch WebDAV auf seine Daten wie bei einer "Online-Festplatte" zugreifen. Bekannte Dienste sind beispielsweise Apples iDisk oder das GMX Mediacenter. Die Einrichtung eines eigenen WebDAV-Servers mittels dem Webserver Apache wird unter Apache/mod dav beschrieben.

Verbindung über Dateimanager

Die Dateimanager der Desktopumgebungen GNOME, KDE, Xfce und LXDE können direkt auf WebDAV-Ressourcen zugreifen. Dazu müssen im Regelfall keine weiteren Pakete installiert werden.

Ubuntu (Nautilus)

./webdav_nautilus.png

Im GNOME-Menü wählt man "Datei -> Mit Server verbinden ...". Dort gibt es folgende Einstellmöglichkeiten:

Feld Eingabe
"Dienste-Typ" Sicheres WebDAV (HTTPS) oder WebDAV (HTTP)
"Server" Name oder IP des Servers
"Port" Kann man üblicherweise leer lassen
"Ordner" Name des Ordners oder "/"
"Benutzername" Der Benutzername

Wenn man auf diese Verbindung häufiger zugreifen möchte, kann man noch ein Lesezeichen für das "Orte"-Menü einrichten. Nachdem man seine Daten eingegeben hat, wählt man "Verbinden" aus. Danach wird das Passwort abgefragt, wobei man auswählen kann, ob man das Passwort im GNOME Schlüsselbund speichern möchte, und die Verbindung wird aufgebaut.

Experten-Info:

Man kann eine Verbindung auch direkt durch die Eingabe der Adresse in Nautilus herstellen. Dazu wechselt man von der Pfadansicht der Adresse in die Ort-Eingabe. Dort gibt man dann die Adresse des WebDAV-Verzeichnisses ein, das "http" ersetzt man dabei aber durch "dav", "https" entsprechend durch "davs". Also beispielsweise

  • davs://webdav.mc.gmx.net/

Kubuntu (Konqueror)

./webdav_konqueror.png

Um per WebDAV-Zugriff auf beispielsweise das GMX-Mediacenter zu erhalten, muss nur die folgende Zeile in die Adressleiste des Konqueror oder Dolphin eingegeben werden.

  • webdavs://webdav.mc.gmx.net/

Für unsicheren Zugriff (bei GMX nicht mehr möglich) ohne https kann

  • webdav://example.org/

benutzt werden. Es öffnet sich ein Login-Fenster, in das noch die GMX-E-Mail-Adresse (Kundennummer) und das entsprechende Passwort eingegeben werden müssen. Daraufhin hat man sofort Zugriff auf die dort abgelegten Daten.

Xubuntu (Thunar)

Um via WebDAV ganz bequem auf eigene Dateien zuzugreifen, öffnet man zunächst den Standard-Dateimanager von Xfce: Thunar. Unter "Gehe zu -> Ort öffnen..." gibt man die passende Internet-Adresse für den WebDAV-Zugang an (z.B. dav://example.org/ oder davs://example.org/). Bei der Abfrage von Benutzername und Passwort sollte man die Option "Passwort erst beim Abmelden vergessen" oder "Nie vergessen" wählen. Dann einfach "Verbinden" und schon steht die Verbindung.

Ab Xubuntu 11.10 ist es vorher erforderlich, das Paket gvfs-backends zu installieren. Andernfalls ist es weder via Thunar noch mit Gigolo möglich, WebDAV zu nutzen. Ältere Xfce-Versionen unterstützen WebDAV nicht von Hause aus. Hierfür muss dann Gigolo eingesetzt werden.

Experten-Info:

Sollte man während eines Verbindungsversuchs die folgende Fehlermeldung erhalten:

DBus error org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include:
the remote application did not send a reply, the message bus security policy blocked the reply,
the reply timeout expired, or the network connection was broken..

dann kann man den folgenden Befehl ausprobieren:

sudo dpkg-reconfigure thunar 

Lubuntu (PCManFM)

Um WebDAV mit dem Dateimanager PCManFM zu nutzen, folgt man der Anleitung für Thunar (siehe oben). Da beide im Hintergrund GVFS verwenden, gibt es nur optische Unterschiede.

Verbindung per davfs2

davfs2 {en}, das WebDAV Linux File System, ist ein Dateisystemtreiber, der es erlaubt, WebDAV-Internet-Ressourcen als lokales Dateisystem zu mounten. Dadurch kann man WebDAV wie einen normalen Datenträger benutzen und mit jeder Anwendung Daten auf dem WebDAV-Laufwerk ablegen. Dazu müssen die Pakete

  • ca-certificates

  • davfs2 (universe)

installiert sein [1]. Anschließend kann man das Verzeichnis mit Root-Rechten an einem beliebigen Mountpunkt einhängen, wobei man selbstverständlich nach dem Benutzernamen und Passwort der WebDAV-Freigabe gefragt wird:

sudo mount -t davfs https://mediacenter.gmx.net /mountpunkt 

Einbinden mit Benutzerrechten

Falls ein normaler Benutzer die Freigabe einhängen soll, muss das über die Datei /etc/fstab erlaubt werden. Dazu wird diese in einem Editor [3] mit Root-Rechten geöffnet und folgende Zeile eingetragen:

# Allgemein
http://<webdavurl> <mountpunkt> davfs user,noauto 0 0
# Allgemein mit verschlüsselter Übertragung
https://<webdavurl> <mountpunkt> davfs user,noauto 0 0
# Beispiel gmx.mediacenter
https://mediacenter.gmx.net /home/otto/mnt/gmx davfs noauto,user,rw 0 0

Hinweis:

Hier sollte unbedingt darauf geachtet werden, dass man die Option "noauto" in Verbindung mit "user" nimmt. Ansonsten wird beim Systemstart versucht das Verzeichnis einzuhängen, was nicht gelingen wird. Im schlimmsten Fall hat dies zur Folge, dass sich das Betriebssystem gar nicht mehr startet.

Damit jeder Benutzer WebDAV-Laufwerke einbinden darf, muss das SUID-Bit für den Befehl mount.davfs gesetzt werden [2], was man am einfachsten erledigt, indem man folgenden Befehl ausführt und die entsprechende Frage mit "Ja" beantwortet:

sudo dpkg-reconfigure davfs2 

Fragen, unter welchen Gruppen- und Benutzerkennungen der Prozess laufen soll, sollte man einfach so bestätigen, wie es vorgeschlagen wird, nämlich mit "davfs2".

Jeder Benutzer, der das WebDAV-Laufwerk ohne Root-Rechte einbinden darf, muss außerdem der Gruppe davfs2 angehören [4].

sudo usermod -aG davfs2 <benutzername> 

Will man nicht jedesmal beim mounten die Login-Daten neu eingeben, können diese mit beschränkten Leserechten im System hinterlegt werden. Dabei hat man zwei Möglichkeiten. Die erste ist es, die Benutzerdaten global, d.h. für alle Benutzer, im System zu hinterlegen. Dazu bearbeitet [3] man die Datei /etc/davfs2/secrets mit Root-Rechten:

# Allgemein
# <Mountpunkt / WebDAV-URL> <login> <passwort>
# Beispiel
/mnt                        manfred.mustermann@gmx.de geheimespasswort
# oder
https://mediacenter.gmx.net manfred.mustermann@gmx.de geheimespasswort

Die zweite Möglichkeit ist, die Login-Daten lokal im Homeverzeichnis des Benutzer zu hinterlegen. Die Herangehensweise ist wie bei der ersten Möglichkeit, nur ohne Root-Rechte. Zuerst in der Datei ~/.davfs2/secrets [3]:

# Allgemein
# <Mountpunkt / WebDAV-URL> <login> <passwort>
# Beispiel
/home/otto/mnt/gmx manfred.mustermann@gmx.de geheimespasswort

die Login-Daten eintragen, dann aber mit

chmod 600 ~/.davfs2/secrets 

unbedingt die Leserechte der Datei einschränken

Nun kann das GMX-Mediacenter eingebunden werden. Dazu muss man im Terminal

mount ~/mnt/gmx 

eingeben. Dabei muss der Einhängepunkt gegebenenfalls vorher angelegt werden

mkdir -p ~/mnt/gmx 

Problembehebung

Abbruch durch unbekannte Option

Hängt man eine WebDAV-Ressource mit Benutzerrechten

mount https://mediacenter.gmx.net 

ein, so kann es vorkommen, dass dies mit der Fehlermeldung

/sbin/mount.davfs:/home/<benutzername>/.davfs2/davfs2.conf:16: unbekannte Option

abgebrochen wird. Schuld daran sind die Einträge der Optionen dav_user und dav_group in der Datei ~/.davfs2/davfs2.conf. Diese Datei wird von Davfs2 bei der ersten Benutzung von /etc/davfs2/davfs2.conf ins Homeverzeichnis kopiert, aber die beiden Optionen sind leider gar nicht gültig, wenn man das Programm nicht mit Root-Rechten startet. Deshalb sollte man in diesem Falle die Datei mit einem Editor öffnen [3] und die entsprechenden Zeilen auskommentieren:

# dav_user        davfs2            # system wide config file only
#dav_user        nobody
# dav_group       davfs2            # system wide config file only
#dav_group       staff

"slash-" in Datei- und Verzeichnisnamen

Werden nach dem mounten der WebDAV-Ressource Datei- und Verzeichnisnamen mit zusätzlich eingefügtem "slash-" oder "-slash-" angezeigt, lässt sich dies mit einer Änderung in der Datei ~/.davfs2/davfs2.conf beheben.

Diese dazu mit einem Editor öffnen [3] und den Eintrag

# use_displayname 1

durch

use_displayname 0

ersetzen.

Änderungen werden nicht gespeichert

Unter Lucid werden neue oder veränderte Dateien u.U. nicht auf dem Server gespeichert. Eine Erklärung findet sich hier: 466960.

Als Abhilfe muss in der Datei /etc/davfs2/davfs2.conf die Zeile

if_match_bug    1

eingefügt werden.

Fehler - Home-Verzeichnis des Benutzers kernoops

Falls mann folgender Fehler bekommt: "/sbin/mount.davfs: / ist das Home-Verzeichnis des Benutzers kernoops. Du kannst im Home-Verzeichnis eines anderen Benutzers kein Dateisystem einhängen"

Als Abhilfe muss in der Datei /etc/davfs2/davfs2.conf die Zeile

ignore_home kernoops

eingefügt werden.

davfs will das SSL Zertifikat nicht anerkennen

Wenn die Fehlermeldung "Wir trauen dem Zertifikat nicht" oder das Nachfragen von davfs bei einem nicht-verifiziertem Zertifikat nicht erwünscht ist, muss das Zertifikat manuell importiert werden. Dazu wird es zunächst heruntergeladen:

echo|openssl s_client -connect example.org:443 |openssl x509 -out meinzertifikat.pem 

Diese Datei wird dann in /etc/davfs2/certs/private abgelegt. Um davfs zu sagen, wo das Zertifikat liegt, muss in der /etc/davfs2/davfs2.conf Folgendes hinzugefügt werden:

servercert /etc/davfs2/certs/private/meinzertifikat.pem

Hinweis: Unter Ubuntu 10.04 LTS hat dies nicht funktioniert (Fehlermeldung "kann Zertifikat nicht lesen"), da die Berechtigungen für /etc/davfs2/certs/private als drwx------ gesetzt waren. Ich habe daher das Zertifikat nach /etc/davfs2/certs/ kopiert und in /etc/davfs2/davfs2.conf

servercert meinzertifikat.pem

eingetragen. Alternativ können auch die Berechtigungen geändert werden für /etc/davfs2/certs/private.

davfs automatisch betreiben

Manchmal kann es sinnvoll sein, davfs in z.B. einem Skript zu benutzen. Dann möchte man natürlich nach Möglichkeit nicht, dass jedes mal nach dem Benutzernamen und dem Passwort gefragt wird. Dies macht der folgende Befehl:

echo -e "Benutzername\nPasswort"|sudo mount -t davfs <Server> <Einhängepunkt> 

Wenn auch ein ungültiges Zertifikat übersprungen werden soll, kann man dies so machen:

echo -e "Benutzername\nPasswort\nj"|sudo mount -t davfs <Server> <Einhängepunkt> 

Hinweis:

In Skripten muss man das -e weglasssen.

Achtung!

Wenn man das Passwort und den Benutzernamen in einem Skript abspeichert, so ist das Passwort und der Benutzername für jeden lesbar, der das Skript lesen bzw. ausführen kann.

Could not authenticate to server: rejected Basic challenge

Unter Ubuntu 10.04 (LTS) funktioniert die Lösung 2 (mit ~/.davfs2/secrets) nicht. Das Anbinden via

sudo mount <mountpunkt> 

funktioniert, jedoch gehören dann alle Dateien natürlich root:( Das Anbinden via

mount <mountpunkt> 

funktioniert nicht, sondern gibt die obige Fehlermeldung.

Eine Lösung konnte nicht gefunden werden und daher wurde auf Lösung 1 (mit /etc/davfs2/secrets) ausgewichen.

Liste mit WebDAV-Anbietern

Es gibt eine Reihe von Anbietern, die Zugang zu Webspace zum Teil sogar kostenlos anbieten. Hier sollen Anbieter und die Zugangsdaten gesammelt werden.

Anbieter
Anbietername Dienste-Typ Server Ordner Benutzername
GMX Mediacenter Sicheres WebDAV (HTTPS) https://webdav.mc.gmx.net leer lassen Kundennummer bzw. gmx-E-Mail-Adresse
WEB.DE Smartdrive Sicheres WebDAV (HTTPS) https://webdav.smartdrive.web.de leer lassen web.de-Benutzername
ownCloud Sicheres WebDAV (HTTPS) https://ownCloud-SERVER-URL/remote.php/webdav/ / owncloud Benutzername
T-Online Sicheres WebDAV (HTTPS) https://webdav.mediencenter.t-online.de / T-Online-E-Mail-Adresse
1&1 SmartDrive (DSL Kunden) Sicheres WebDAV (HTTPS) https://sd2dav.1und1.de / E-Mail-Adresse
1&1 SmartDrive (Webhosting Kunden) Sicheres WebDAV (HTTPS) https://webdav.office.1und1.de/ / E-Mail-Adresse
Domainfactory Sicheres WebDAV (HTTPS) FTPUSERNAME.livedisk.df.eu/webdav/ / FTPUSERNAME@web.dav
freenet Sicheres WebDAV (HTTPS) https://storage.freenet.de/dav / freenet-Nutzerdaten
myDisk.se Sicheres WebDAV (HTTPS) https://mydisk.se/Benutzername / freie Eingabe
Humyo.com (nicht empfehlenswert, buggy!) Sicheres WebDAV (HTTPS) https://dav.humyo.com / E-Mail-Adresse
mydrive.ch Sicheres WebDAV (HTTPS) https://webdav.mydrive.ch / Benutzername
Strato Hidrive Sicheres WebDAV (HTTPS) https://webdav.hidrive.strato.com/ (s. Anleitung) Benutzername
UD Media Sicheres WebDAV (HTTPS) https://<user>.webdav.<server>/ / Benutzername

Hinweis:

Nutzer der 1&1-Webpakete: Hier muss hinter der URL immer noch der Port 81 angegeben werden, also z.B.

# WebDAV bei 1&1
http://meinwebdav.domain.de:81 /home/user/mnt/1und1 davfs user,noauto 0 0

ubuntuusers.local › WikiWebDAV