Dies ist eine alte Version des Dokuments!
Installation
Unter Windows wird Cygwin installiert, in der Gruppe „Net“ muss „cadaver“ extra angewählt werden. Das bin-Verzeichnis von Cygwin muss in die Umgebungsvariable PATH aufgenommen werden.
Unter Linux kann cadaver meist über die systemeigene Paketverwaltung installiert werden.
Ist kein vorgefertigtes Paket für Linux verfügbar, können die Quellen von http://www.webdav.org/cadaver bezogen werden. Nach dem Auspacken sollte die Installation mit
./configure --sysconfdir=/etc --localstatedir=/var --with-ssl=openssl make make install
erfolgen.
SSL-Zertifikate
Für SSL-Verbindungen prüft cadaver die Zertifikatskette und „nervt“ mit einer Abfrage, wenn ein Zertifikat nicht verifiziert werden kann. Um Uploads vollautomatisch vorzunehmen ohne diese Abfrage müssen die drei SSL-Zertifikate telekom.crt, dfn.crt und cacert.crt von der RZ-Webseite installiert werden. Im Beispiel gehen wir davon aus, dass diese schon heruntergeladen und im Verzeichnis c:\temp abgespeichert wurden.
Die nachfolgenden Befehle müssen in einer Eingabeaufforderung ausgeführt werden, die als Administrator ausgeführt wird:
cd \cygwin\usr\ssl\certs xcopy c:\temp\telekom.crt . xcopy c:\temp\dfn.crt . xcopy c:\temp\cacert.crt . xcopy telekom.crt 812e17de.0 xcopy dfn.crt 6107e209.0 xcopy cacert.crt 74f0e817.0
Linux-Nutzer kopieren die Dateien analog nach /etc/pki/tls/certs:
cd /etc/pki/tls/certs cp /home/erwin/Downloads/telekom.crt . cp /home/erwin/Downloads/dfn.crt . cp /home/erwin/Downloads/cacert.crt . ln telekom.crt 812e17de.0 ln dfn.crt 6107e209.0 ln cacert.crt 74f0e817.0
Die Zahlen in den Dateinamen mit der 0 am Ende sind Hashes und wurden mit
openssl x509 -subject_hash -noout -in telekom.crt openssl x509 -subject_hash -noout -in dfn.crt openssl x509 -subject_hash -noout -in cacert.crt
ermittelt, das abschließende „.0“ darf nicht vergessen werden. Diese Hashes müssen neu erzeugt und verlinkt werden, wenn neue Versionen der Zertifikate benutzt werden, beispielsweise weil eines der Zertifikate abläuft.
Verwendung
Mit
cadaver
wird das Programm gestartet, die Nutzung ist vergleichbar mit ftp-Clients und smbclient (u.a. gibt es Befehle open, cd, put, get, close…)
Nutzername und Passwort
In der Datei .netrc im Cygwin-Homeverzeichnis (z.B. c:\cygwin\home\erwin) können für bestimmte Hosts Nutzernamen und Passwort gespeichert werden, z.B.:
machine cms.fh-schmalkalden.de login erwin password geheim
Damit wird nicht mehr nach Nutzernamen gefragt, wenn mit open eine Verbindung zum Server hergestellt wird.
Hinweis: Diese Datei muss gegen unberechtigten Zugriff gesichert werden, andere Benutzer sollten keinen Zugriff auf diese Datei haben.
Kommandos automatisieren
Mit der Option –rcfile=Datei kann eine Datei mit Kommandos angegeben werden, die von cadaver ausgeführt wird.
Beispiel für eine solche *.cmd-Datei (bei mir d:\krause\bat\cadaver-anl-it.cmd):
PATH C:\cygwin\usr\bin;C:\cygwin\bin;%PATH% d: cd \fhs\labor\anleitung\gos cadaver --rcfile=/cygdrive/d/krause/bat/cadaver-anl-it.rc
Die *.rc-Datei enthält dann die cadaver-Kommandos (z.B. d:\krause\bat\cadaver-anl-it.cmd):
open https://cms.fh-schmalkalden.de/bin/webdav/index.php?/ cd schmalkalden cd Multimedia cd Downloads cd elektrotechnik cd l cd edv put gos.pdf close quit