#1 Le 04/09/2006, à 20:18
- Calimo
[presque résolu : droits d'accès] Monter un dossier réseau webdav
Bonjour,
Je cherche désespérément à monter un dossier réseau distant en webdav.
J'ai réussi à m'y connecter dans Konqueror. Malheureusement, c'est difficilement utilisable hors des applis KDE.
J'ai donc installé davfs2.
Voici ce que ça donne :
xavier@ubuntu:~$ sudo mount.davfs https://netstorage.unige.ch/oneNet/NetStorage/ /media/dav
Please enter the username for authentication with server
https://netstorage.unige.ch/oneNet/NetStorage/ or hit enter for none.
Username: robin0
Please enter the password to authenticate robin0 with server
https://netstorage.unige.ch/oneNet/NetStorage/ or hit enter for none.
Password:
Server cerifticate could not be verified.
presented for `DUFOUR3.unige.ch':
Issuer: UNIGE-TREE, Organizational CA
Subject: UNIGE-TREE
Fingerprint: 4e:ed:6c:11:ae:57:9d:78:ff:c0:ca:0a:b0:a1:30:4f:7f:12:47:79
If you can't verify the fingerprint the server may be faked
or there may be a man-in-the-middle-attack!
I am not a coward and accept the certificate anyway [y,N]? y
Could not contact server:
401 Authorization Required
/usr/lib/mount.davfs-2.6: Could not connect to https://netstorage.unige.ch/oneNet/NetStorage/.
Username et password sont les mêmes que j'ai entré dans Konqueror. La seule différence c'est que le serveur et le dossier s'entrent séparément sous Konqueror…
Le certificat n'est pas bon, mais je le sais, c'est pareil sous Konqueror et Windows, donc j'accepte (y).
Et là j'ai une erreur 401.
J'ai essayé de spécifier le port (netstorage.unige.ch:443 comme sous Konqueror)
Est-ce que quelqu'un voit de quoi ça peut venir ? Et surtout comment je pourrais m'y prendre pour essayer de corriger ?
Merci d'avance;)
Xavier
Dernière modification par Calimo (Le 16/09/2006, à 09:56)
Hors ligne
#2 Le 16/09/2006, à 09:56
- Calimo
Re : [presque résolu : droits d'accès] Monter un dossier réseau webdav
Bon, j'ai quasiment résolu le problème. Il me reste à trouver comment on donne les droits de lecture et écriture à l'utilisateur.
En fait ça semble venir du fait que NetStorage utilise les cookies pour l'authentification. D'après l'auteur de davfs2 ce serait contraire aux recommandations Dav.
Marche à suivre :
0. Désinstallez davfs2 (sudo apt-get remove davfs2).
Vous aurez probablement besoin de pas mal de paquets de développement. Lorsque ./configure se termine avec une erreur du type "La libraire ABC n'a pas été trouvée", rendez-vous dans Synaptic et installez le paquet ABC-dev. C'est long et fastidieux, mais c'est comme ça.
Bien entendu, commencez par la lecture de la page sur la compilation : http://doc.ubuntu-fr.org/installation/compilation
1. Installer une version 0.24.x de Neon. Les versions 0.25.x n'ont plus le support des cookies et ne peuvent pas fonctionner. Je pense que celle des dépôts aurait pu fonctionner. Pour ma part j'ai utilisé cette version : http://www.webdav.org/neon/neon-0.24.7.tar.gz
wget http://www.webdav.org/neon/neon-0.24.7.tar.gz
tar -xvf neon-0.24.7.tar.gz
cd neon-0.24.7
./configure --enable-shared --with-ssl
make
sudo checkinstall
Faites les étapes une à une et vérifiez à chaque fois que tout s'est bien passé.
J'utilise checkinstall plutôt que "make install" car c'est plus propre. Si vous ne l'avez pas, sudo apt-get checkinstall.
2. Une fois que c'est fait, on peut passer à l'installation de davfs2. J'ai utilisé la version 1.0.2, mais vous pouvez plutôt vérifier sur le site et utiliser la dernière.
wget http://switch.dl.sourceforge.net/sourceforge/dav/davfs2-1.0.2.tar.gz
tar -xvf davfs2-1.0.2.tar.gz
cd davfs2-1.0.2
Ensuite, il va falloir activer l'utilisation des cookies. Pour cela, on va modifier le source du fichier webdav.c.
gedit src/webdav.c
À la fin de la fonction dav_init_webdav(), ajoutez
#if NE_VERSION_MINOR == 24
loretta = ne_calloc(sizeof *loretta);
ne_cookie_register(session, loretta);
#endif
Si vous doutez, ajoutez quelques retours à la ligne entre les lignes 242 et 243 (si les numéros de ligne ne sont pas affichés, allez dans Édition > Préférences > Affichage et cochez "afficher les numéros de ligne) et mettez ces lignes. Ainsi, vous aurez remplacé
ne_ssl_trust_default_ca(session);
}
}
void dav_close_webdav(void) {
par
ne_ssl_trust_default_ca(session);
}
#if NE_VERSION_MINOR == 24
loretta = ne_calloc(sizeof *loretta);
ne_cookie_register(session, loretta);
#endif
}
void dav_close_webdav(void) {
(approximativement)
Ensuite, dans la section
/* Private global variables */
/*==========================*/
c'est-à-dire vers la ligne 117 environ, ajoutez :
#if NE_VERSION_MINOR == 24
ne_cookie_cache *loretta = NULL;
#endif
Finalement, ajoutez la ligne
#include <ne_cookies.h>
entre
#include <ne_basic.h>
et
#include <ne_dates.h>
c'est-à-dire à la ligne 41.
Le plus difficile est fait. Enregistrez, fermez gedit et revenez à votre terminal. On va configurer et compiler davfs.
./configure
Laissez le script se terminer. Vous devriez obtenir ça :
Install prefix: /usr/local
Compiler: gcc
neon library: library in /usr/local (0.24.7)
Si c'est le cas, faites :
make
Si vous avez bien effectué les modifications dans le fichier webdav.c, la compilation devrait se terminer sans erreur. Faites alors
sudo checkinstall
Et voilà, vous avez maintenant un davfs2 capable de fonctionner avec NetStorage.
Reste plus qu'à trouver comment monter le système de fichiers pour qu'il soit accessible en écriture.
Basiquement :
sudo mount.davfs https://netstorage.lebonsite.net/LeBonDossier/ /media/dav
Il va vous demander votre username et votre mot de passe de manière interactive. Donnez-les. Vous aurez peut-être aussi une demande de confirmation de certificat invalide. Confirmez la connexion par un simple "y" suivi de "Enter".
Mais les fichiers seront uniquement lisibles par l'utilisateur. Pas d'accès en écriture. J'ai essayé de définir des options comme file_mode, dir_mode ou uid en m'inspirant de umask, mais sans succès.
Quelqu'un aurait-il une idée pour obtenir l'accès en écriture pour l'utilisateur ?
Merci d'avance
Hors ligne
#3 Le 19/09/2006, à 09:34
- stilgar
Re : [presque résolu : droits d'accès] Monter un dossier réseau webdav
Bonjour,
J'ai le même soucis. J'utilise le service gratuit de box.net (1Go en Webdav). La connexion se passe sans soucis avec konqueror mais effectivement sorti des applis kde ce n'est pas pratique car par exemple je ne peux pas faire de synchro avec unison ou utiliser l'espace pour faire des backup.
Donc pour installer davfs2 j'ai suivi ces 2 tutos :
http://www.ubuntuforums.org/showthread.php?t=202761
http://www.lirmm.fr/APR/wiki/pmwiki/pmwiki.php?n=Aide.Webdav
Au final j'arrive très bien a monter mon dossier webdav, je peux lire mes fichiers, créer/copier des dossiers mais il m'est impossible de créer/copier des fichiers. J'ai fait un tour du net sans succès et donc si une idée vient à quelqu'un je suis preneur.
Système :
Kubuntu Dapper 6.06 + HP dv1000
Hors ligne