WebDav mount im Dateisystem

Unter Linux kann man ein WebDav im Dateisystem einbinden und damit direkt Datei speichern. Einige Cloud Speicheranbieter bieten die Möglichkeit von WebDav an.

sudo apt install dav2fs

Nach der Installation sollten wir noch einige Parameter ändern. Zuerst die Mount Einstellungen.

sudo vim /etc/fstab

https://webdav.hidrive.strato.com/ /mnt/hidrive/ davfs noauto,user,rw 0 0
https://webdav.mediencenter.t-online.de/ /mnt/t-online/ davfs noauto,user,rw 0 0

Dann die Zugangsdaten für WebDav bei Beispeil von HiDrive und T-Online Mediencenter.

sudo vim /etc/davfs2/secrets

/mnt/hidrive/ benutzer passwort
/mnt/t-online/ benutzer@t-online.de passwort

Hier noch einige Einstellung für Dav2fs.

sudo vim /etc/davfs2/davfs2.conf

use_locks 0
cache_size 1
table_size 4096
gui_optimize 1
trust_server_cert /etc/davfs2/certs/hidrive.pem

Kommt es zu einem Fehler, so muss das Zertifikat hinterlegt werden.

/sbin/mount.davfs: wir trauen dem Zertifikat nicht
/sbin/mount.davfs: das Einhängen schlug fehl;
Server certificate verification failed: issuer is not trusted

echo|openssl s_client -connect webdav.hidrive.strato.com:443 |openssl x509 -out /etc/davfs2/certs/hidrive.pem

Dateiübertragung zum WebDav mit Client Zertifikat und Authentifizierung

Um eine Datei auf einen WebDav zu übertragen kann man das Toole „curl“ verwenden.

Zuerst wird „curl“ auf Ubuntu installiert.

sudo apt install curl

Jetzt kann man dem Upload auf WebDav durchführen.

curl -T <filename> -u <username>:<password> <url>

Braucht man für die Verbindung zu dem WebDav Server ein Client Zertifikat, dann muss man Curl das Zertifikat mitteilen.

Liegt das Zertifikat im PKCS12 Format (Dateiendung .p12 oder .pfx) vor, muss es zuerst mit OpenSSL umgewandelt werden.

openssl pkcs12 -in cert.p12 -out cert.pem -clcerts  
Enter Import Password: ********
## enter the password used to protect the private key)  
MAC verified OK  
Enter PEM pass phrase: **********
## enter your pass phrase to protect the private key in the new cert.pem file
Verifying - Enter PEM pass phrase: **********

Das PEM Passwort für das Zertifikat sollte mindestens 6 Zeichen lang sein.

Die Prüfung der Zertifikatskette kann man mit dem –insecure Parameter abschalten.

/usr/bin/curl \
 --insecure --cert <certificate>:<password> \
 -u <username>:<password> \
 -T <filename> <url>

Beispiel:

/usr/bin/curl \
 --insecure --cert 'cert.pem:zpw123' \
 -u user:password \
 -T filename.txt http://server/

In dem Beispiel verwenden wird als Zertifikat Passwort zpw123. Nicht zu verwechseln mit dem Passwort für den WebDav Server.