Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !


WebDAV et davfs2

(Page en cours de création)

Page créée en mai 2010 / Testé sur Karmic & Lucid

Présentation

WebDAV, en entier : Web-based Distributed Authoring and Versioning, est un protocole déjà ancien (1996) et curieusement peu connu. Il permet pourtant une chose essentielle : écrire sur le Web, au lieu de seulement surfer (c'est à dire seulement lire).

C'est un protocole ouvert, le W3C (organisme qui "normalise le web") en a confié le développement à l'IETF qui avait déjà normalisé HTTP.

Pour résumer, WebDAV est une extension du HTTP. Au delà des GET et POST bien connus, WebDAV rajoute les verbes PUT, DELETE, COPY, PROPFIND, etc… Pour les curieux, la norme est là : http://tools.ietf.org/html/rfc2518

Étant une simple extension au protocole HTTP, WebDAV fonctionne dans à peu près toutes les situations où la navigation n'est pas bloquée.

Serveur et espaces de stockage Web

WebDAV est implémenté dans Apache. Vous pouvez donc créer votre propre espace de stockage WebDAV en ajoutant le module adéquat d'Apache.

Il existe également de nombreux fournisseurs de stockage en ligne, gratuits ou payants, qui offrent un espace de stockage Web accessible via WebDAV.

Parmi ceux qui ont une offre gratuite (et aussi des offres payantes), on peut citer :

Box.net : http://www.box.net

Sur la version gratuite :

  • 1Go de stockage
  • WebDAV sécurisé (via HTTPS)
  • Partages avec des amis
  • Inconvénient : pour visualiser les fichiers en mode Web il vous faudra absolument Flash
  • Inconvénient : Taille des fichiers maxi assez faible : 25Mo

iCloud : http://icloud.com/fr

Sur la version gratuite :

  • 3Go de stockage
  • Limite par fichier : 150Mo
  • Inconvénient : publicité sur l'interface web
  • Inconvénient : pas de WebDAV sécurisé (mais on peut améliorer ça… voir plus bas)

Intégration dans Ubuntu

WebDAV est très bien intégré dans Ubuntu (au moins depuis Karmic, sur Hardy il est trop buggé pour être réellement utilisable).

Une fois que vous aurez créé votre compte en ligne, ou paramétré votre serveur Apache, vous pouvez simplement vous y connecter en mode graphique avec :

  • Raccourci / Se connecter à un serveur…

ou l'équivalent sous Nautilus

  • Fichiers / Se connecter à un serveur…

Voici ce que ça donne dans le cas de Box.net, en connexion sécurisée :

Pour iCloud, vous avez une page qui vous indique comment faire sur Linux, avec capture d'écran Ubuntu à l'appui. :-P

Une fois cette boite de dialogue renseignée, le système vous demandera le mot de passe de votre espace WebDAV et s'y connectera. Il apparait alors comme un montage dans Nautilus, sous le nom "Partage WebDAV sur ….". Pour vous déconnecter, il suffit de cliquer sur la flèche ou sélectionner démonter, exactement comme tout autre montage.

Si vous vous connectez souvent à ce partage WebDAV, vous pouvez cocher "Ajouter un signet" pour éviter d'avoir à renseigner cette petite boite de dialogue à chaque fois. Un signet sera alors ajouté à Nautilus et à votre menu Raccourcis.

Autre méthode, vous pouvez aussi taper directement dans la barre d'emplacement de Nautilus :

Exemples :

davs://www.box.net/dav
dav://wabdav.icloud.com/zakhar

Dans ce cas, la boite de dialogue vous demandera votre identifiant et votre mot de passe.

Beaucoup plus intéressant (mais un peu moins simple !), on peut aussi monter un partage WebDAV comme un système de fichier grâce à davfs2.

Installation

Installez le paquet davfs2 en cliquant ici : apt://davfs2

ou

sudo apt-get install davfs2

Montage root

Le montage peut se faire de façon classique en root comme tout filesystem

sudo mkdir /media/Box.net
sudo mount.davfs https://www.box.net/dav /media/Box.net
Please enter the username to authenticate with server
https://www.box.net/dav or hit enter for none.
  Username: Zakhar
Please enter the password to authenticate user eze@free.fr with server
https://www.box.net/dav or hit enter for none.
  Password:  

Montage en userspace

Mais le plus intéressant est qu'on peut aussi monter un partage WebDAV en userspace (ie : sans droits root). L'utilisateur pourra alors à sa guise monter et démonter le partage sans qu'il soit besoin de lui donner des privilèges administrateur.

En réalité, certains considèrent que cette façon de monter un partage WebDAV est préférable d'un point de vue sécurité. En effet, avec le montage root, on a un montage qui est en prise directe sur le Web avec des droits root. Une faille dans la pile WebDAV est donc plus dangereuse que dans le cas d'un montage en userspace.

Pour que cela soit possible, il est cependant nécessaire de faire quelques modifications.

sudo dpkg-reconfigure davfs2

Et bien sûr, à la question

"Autoriser les utilisateurs non privilégiés à monter les ressources WebDAV ?"

on répond : oui.

On crée un répertoire dans notre /home pour monter le partage non privilégié :

mkdir /home/zakhar/Box.net

et on édite le /etc/fstab (prenez la précaution de le sauvegarder auparavant, c'est un fichier sensible !)

sudo gedit /etc/fstab

rajouter :

# Mon montage WebDav
https://www.box.net/dav /home/zakhar/Box.net davfs rw,user,noauto 0 0

Ensuite il faut rajouter votre user au groupe davfs2

sudo adduser zakhar davfs2

Et enfin, il faut modifier le fichier secrets qui se trouve dans votre /home, sous le répertoire .davfs2, pour y ajouter les identifiants et mot de passe de votre partage.

gedit /home/zakhar/.davfs2/secrets

rajouter

/home/zakhar/Box.net	Zakhar	VousSaurezJamaisMonPa55
Cette dernière manipulation étant assez moyenne au niveau sécurité, s'il s'agit d'un ordinateur partagé, je vous recommande d'utiliser le cryptage du répertoire personnel. De cette façon, les identifiants/mots de passe du partage WebDAV seront au moins protégés par le mot de passe principal de l'utilisateur.

Vous pouvez bien sûr ne pas indiquer vos identifiants dans le fichiers secrets. Dans ce cas, le montage via Nautilus ou les Raccourcis ne sera pas possible, mais l'utilisateur pourra toujours faire une commande mount ou lancer un script non privilégié pour monter ses partages.

Vous pouvez maintenant constater que dans les raccourcis, à l'endroit où figurent toutes les unités que vous pouvez monter, vous avez une icône correspondant à votre partage WebDAV.

Il vous suffit alors de cliquer dessus pour la monter, comme n'importe quelle unité de disque. Idem pour la démonter, en cliquant sur la petit flèche en regard du nom de montage dans Nautilus.

Box.net ne gère pas les locks et cela posera des problèmes si vous voulez créer ou modifier des fichiers. Afin de corriger cela, il faut éditer le fichier /home/$USER/.davfs2/davfs2.conf et rajouter la ligne :
use_locks       0

on peut combiner davfs et encfs

(… to be continued)


Contribution : Zakhar

  • davfs.1273307661.txt.gz
  • Dernière modification: Le 18/04/2011, 14:46
  • (modification externe)