Webdav mit cadaver

Cadaver ist ein Webdav Client für die Console.  Zunächst legen wir uns eine Datei
.netrc (den Punkt vor dem Dateinamen nicht vergessen) mit folgendem Inhalt an:

machine       comcenter.netcologne.de
login            nc-musterm
password    geheim

    Dies hat den Vorteil, dass wir unsere Login-Daten nicht mehr eingeben müssen. Mit der Netcologne-Cloud verbindet man sich wie folgt:

user@rechner: ~> cadaver
dav:!> open https://comcenter.netcologne.de/drive/
dav:/drive/>

Jetzt können wir uns ein wenig umsehen. Mit ls können wir uns den Inhalt anzeigen lassen. Dieser besteht aus Puplic infostore und Userstore. Puplic infostore war bei meinem letzten Besuch übrigens leer. Mit der Eingabe eines ‚?‘ können wir uns alle verfügbaren Befehle anzeigen lassen.

dav:/drive/> ?
Available commands:
ls         cd         pwd        put        get        mget       mput
edit       less       mkcol      cat        delete     rmcol      copy
move       lock       unlock     discover   steal      showlocks  version
checkin    checkout   uncheckout history    label      propnames  chexec
propget    propdel    propset    search     set        open       close
echo       quit       unset      lcd        lls        lpwd       logout
help       describe   about
Aliases: rm=delete, mkdir=mkcol, mv=move, cp=copy, more=less, quit=exit=bye

Achtung! Netcologne benutzt bei ihren Verzeichnisnamen (warum auch immer) Leerzeichen. Um ins Verzeichnis Public infostore (und später ins eigene Verzeichnis) zu wechseln, brachen wir einen Backslash (\). Beispiel:

dav:/drive/> cd Public\ infostore
dav:/drive/Public infostore/>

Aber nun wechseln wir in unser eigenes Verzeichnis:

dav:/drive/Public infostore/> cd ..
dav:/drive/>
dav:/drive/> cd Userstore
dav:/drive/Userstore/>
dav:/drive/Userstore/>ls
Listing collection `/drive/Userstore/‘: succeeded.
Coll:   Vorname Nachname
dav:/drive/Userstore/>
dav:/drive/Userstore/>cd Vorname\ Nachname
dav:/drive/Userstore/Vorname Nachname/>

Jetzt kann man hier fleißig werkeln 🙂 Mit quit, exit oder bye beendet man dann die Sitzung.

dav:/drive/Userstore/Vorname Nachname/> bye
user@rechner:~>

Cadaver lässt sich auch ganz einfach mit Shellscripten benutzen. Ein Beispiel:

#!/bin/bash
cadaver  <<EOF
open https://comcenter.netcologne.de/drive/Userstore
cd Vorname\ Nachname
put /Pfad/zur/Datei
quit
EOF

Hiermit kann man eine Datei uploden. Mit mput lassen sich gleich mehrere Dateien uploden. Z.B. Bilder:

mput /Pfad/zu/den/Dateien/*.jpg

Mit cadaver –help bekommt man die Hilfe zu cadaver angezeigt:

user@rechner:~> cadaver –help
Usage: cadaver [OPTIONS] http://hostname[:port]/path
Port defaults to 80, path defaults to ‚/‘
Options:
-t, –tolerant            Allow cd/open into non-WebDAV enabled collection.
-r, –rcfile=FILE         Read script from FILE instead of ~/.cadaverrc.
-p, –proxy=PROXY[:PORT]  Use proxy host PROXY and optional proxy port PORT.
-V, –version             Display version information.
-h, –help                Display this help message.
Please send bug reports and feature requests to <cadaver@webdav.org>
user@rechner:~>

 

Unter Apache Verzeichnisse mit Passwort schützen

Zuerst öffnet man die Datei /etc/apache2/default-server.conf. Hier sucht man den Eintag „AllowOverride“. Steht hier None, ändert man dies in All und speichert die Datei. (Yast ändert diesen Wert nicht wieder.) Nun muss Apache neu gestartet werden, um die Änderung wirksam werden zu lassen.

Als nächstes erzeugt man eine Passwortdatei mit dem Befehl: htpasswd2. Als Parameter gibt man -c (für create) und den Dateinamen der Passwortdatei an, gefolgt von einem Benutzernamen.

Beispiel: htpasswd2 -c .passwd Klaus

Nach dem drücken von Enter erscheint die Zeile „New password:“ und man kann ein Passwort eingeben. Nach dem drücken von Enter erscheint „Re-type new password:“ und man muss das Passwirt wiederholen. Drückt man nun Enter, wird die Datei .passwd angelegt. Durch den vorangestellten Punkt, ist diese eine versteckte Datei. Aus Sicherheitsgründen, sollte man diese Datei nicht im Verzeichnis htdocs oder eines seiner Unterverzeichnisse speichern.

Jetzt wechselt man in das Verzeichnis, welches man mit einem Passwort schützen will. Hier erzeugt man eine Datei mit dem Namen .htassess und versieht sie mit folgendem Inhalt:

  • AuthType Basic
  • AuthName (irgendein Name z.B. der Name des zu schützenden Verzeichnisses)
  • AuthUserFile /pfad/zu/.passwd
  • Require valid-user
  • Require all denied

Wird nun eine Datei im geschützten Verzeichnis aufgerufen, öffnet sich ein Dialogfenster und man wir aufgefordert einen Benutzernamen und ein Passwort einzugeben.

Befindet sich der Server im lokalen Netzwerk, kann man die Datei .htaccess auch dahingehend erweitern, dass Rechner aus dem lokalen Netzwerk, freien Zugriff auf das geschützte Verzeichnis haben. Man ergänzt die Datei dafür um fogende Zeilen:

  • Require ip 192.168.100

Wobei 192.168.100 natürlich nur ein Beispiel ist 😉 .

Auf die Netcologne Cloud per webdav zugreifen

Die Cloudanwendung Drive (im ComCenter von Netcologne) kann folgendermaßen unter Linux mit Webdav genutzt werden:

Konqueror:

In der Adressleiste folgenden Link eingeben:

webdavs://comcenter.netcologne.de:443/drive/Userstore/Vorname Nachname

Wobei als Vorname, Nachname der eigene Name einzusetzen ist. (Kommt es hierbei zu einer Fehlermeldung,Vorname und Nachname weglassen.)
Hierauf öffnet sich ein Authentifizierungsdialog in dem Benutzername und das Passwort einzugeben sind. Macht man ein Häkchen bei >Passwort merken<, wird das Passwort und der Benutzername (bei KDE) in kdewallet unter Passwords gespeichert.
Legt man nun ein Lesezeichen im Konqueror an, kann zukünftig auf den Clouddienst ohne wiederholte Eingabe von Benutzernamen und Passwort zugegriffen werden.

Netzwerkordner:

Konqueror öffnen (Einstiegspunkte) und auf >Netzwerkordner< klicken. Nun auf
>Netzwehrordner hinzufügen< klicken. Nun öffnet sich der Assistent für Netzwerkordner.
>Web-Ordner (webdav)< sollte ausgewählt sein, ansonsten auswählen. Auf >weiter >< klicken.
Unter Namen, einen Namen für die Verbindung eingeben (z.B. NetcologneCloud).
Unter Benutzer, den Benutzernamen eingeben (z.B. nc-musterma@netcologne.de).
Unter Server, comcenter.netcologne.de eingeben.
Unter Port, 443 eingeben.
Unter Ordner, /drive/Userstore/Vorname Nachname eingeben. (Bei Fehlermeldung Vorname Nachname weglassen, kann später unter Eigenschaften (rechts Klick auf Symbol der Verbindung) ergänzt werden.
Häkchen bei >Symbol für diesen Netzwerkordner anlegen<.
(wird im gleichen Ordner wie >Netzwerkordner hinzufügen< angelegt)
Häkchen bei >Verschlüsselung verwenden<.
Auf >Speichern & Verbinden< klicken.
Hierauf öffnet sich ein Authentifizierungsdialog in dem Benutzername und Passwort einzugeben sind. Macht man ein Häkchen bei >Passwort merken<, wird das Passwort und der Benutzername (bei KDE) in kdewallet unter Passwords gespeichert. Jetzt kann man auf das Symbol der Verbindung klicken, ohne immer wieder Benutzernamen und Passwort eingeben zu müssen.