Ceci est une ancienne révision du document !
WebDAV et davfs2
(Page en cours de création)
WebDAV
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.
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.
davfs2
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
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.
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
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.
use_locks 0