Webdav unter Ubuntu als festes Laufwerk einbinden
There was a time, when I shared a blog. This post was written by Stephan. See all blogpost from him or stalk him on github.
Welcher FTP-Nutzer kennt das nicht: Der angemietete Webspace ist mit vielen Dateien überfüllt und muss nun endlich aufgeräumt werden. Doch auch mit einer schnellen Internetverbindung ist das nicht so schnell erledigt. Ursache ist hier das FTP Protokoll, das für jede Datei, egal ob gelöscht oder hochgeladen werden soll, eine Anfrage starten muss bevor die gewünschte Operation überhaupt ausgeführt wird. Und das kostet natürlich viel Zeit ;-(. Abhilfe schafft hier WEBDAV. Es basiert auf dem TCP Protokoll und erlaubt das Löschen, Kopieren und Erzeugen von mehreren Dateien in einer "Anfrage". Weiterer Vorteil, vor allem für Administratoren: Es läuft ebenfalls auf Port 80, d.h. zur Bereitstellung von Dateien muss kein zusätzlicher Port freigegeben werden (z.B. FTP benötigt Port 21). Weitere Informationen zu Webdav gibts hier Mit einer entsprechenden Internetanbindung kann die Webdav Ressource wie ein vollwertiges Laufwerk eingebunden werden. Und wie das unter Ubuntu geht, erfahrt ihr jetzt:
Zuerst müssen folgende Pakete installiert werden
sudo apt-get install ca-certificates davfs2
Sollten die Pakete nicht verfügbar sein, liegt das wo möglich an deaktivierten Quellen in der sources.list des Paketmanagers. Dazu folgendes in der Konsole eingeben:
sudo nano /etc/apt/sources.list
und die mit # (Raute) auskomentierten Quellen durch Entfernen der Raute aktivieren z.B. Vorher:
#deb http://de.archive.ubuntu.com/ubuntu/ intrepid universe
Nachher:
deb http://de.archive.ubuntu.com/ubuntu/ intrepid universe
Als nächstes muss jedem Nutzer das Einbinden des Laufwerks erlaubt werden. Dafür muss in Linux das SUID-Bit gesetzt werden.
sudo chmod u+s /usr/sbin/mount.davfs
Das Setzen des Flags ermöglicht es, als Nichtadmin (root) einen root-Befehl auszuführen. Weiterhin muss auch das Sticky-Bit für mount.davfs gesetzt werden (weiterer Informationen zum Sticky-Bit gibts hier)
sudo chmod 1775 /var/run/mount.davfs
Als nächstes muss der Webdav-Dienst unter Linux konfiguriert werden. Die dafür zur Verfügung stehenden Einstellungen findet man in der davfs2.conf. Nach dem Öffnen von
sudo nano /etc/davfs2/davfs2.conf
sucht man sich die folgenden Zeilen
# General Options
# ---------------
# dav_user davfs2 # system wide config file only
Unter der Zeile mit dav_groups wir folgendes eingetragen:
dav_group users
Die Gruppe des Webdav-Dienstes brauchen wir nicht zu ändern (auch nicht durch Entfernen der Raute aktivieren). Dann muss der aktuelle Nutzer zu den Gruppen davfs2 und users hinzugefügt werden. Das erreichen wir mit folgenden Befehlen.
sudo adduser "BENUTZERNAME" davfs2
sudo adduser "BENUTZERNAME" users
Nun müssen die Login-Daten für den Webdav-Account mit beschränkten Leserechte im System hinterlegt werden. Dies geschieht global für alle Systemnutzer in der Datei /etc/davfs2/secrets. Die Zugangsdaten werden nach folgendem Schema eingegeben:
# Allgemein
"WebDAV-URL" "login" "passwort"
# Zum Beispiel
http://pfad/des/webdav/anbieters WebDavUserLoginName Passwort
Anschließend muss die Datei noch in den Zugriffsrechten eingeschränkt werden:
sudo chmod 600 /etc/davfs2/secrets
Zuletzt muss in der fstab noch der Mountpunkt für Webdav festgelegt werden. Nach der Eingabe von
sudo nano /etc/fstab
folgendes am Ende der Datei einfügen:
# Allgemein
htto;//"webdavurl" "mountpunkt" davfs user,noauto 0 0
# Allgemein mit verschlüsselter Übertragung
https://"webdavurl" "mountpunkt" davfs user,noauto 0 0
# Zum Beispiel
https://mediacenter.gmx.net /media/webdav davfs noauto,user,rw 0 0
In der Konsole kann dann die Webdav-Ressource bei Bedarf eingebunden werden (und das natürlich ohne root-Rechte):
#Zum Beispiel
mount /media/webdav
Der Mountpunkt muss zuvor natürlich erstellt werden.
sudo mkdir /Pfad/zum/mount/Punkt
Jetzt sollte der Webdavordner in das Dateisystem von Ubuntu eingebunden sein.