Système de fichiers et disque virtuels - Connexion WebDav

Mise à jour : Debian Buster/sid

WebDav (Web Distributed Authoring and Versioning) est une extension du protocole HTTP qui permet à des clients de créer, modifier, déplacer, supprimer des fichiers sur un serveur distant

Trois solutions d'accès "légères" sont présentées ici

Sommaire

1 - Introduction

Dans le cadre de cette présentation

Note : pour récupérer l'adresse de l'interface WebDav, dans le cas du serveur NextCloud !

2 - Accès comme un disque réseau

Cette solution est compatible avec les explorateurs de fichier graphiques tels que thunar. Installer gvfs-backends :

$ sudo aptitude install gvfs-backends
davs://ncloud.zaclys.com/remote.php/webdav/

ou bien en console :

$ xdg-open davs://ncloud.zaclys.com/remote.php/webdav/

Le nom d'utilisateur et le mot de passe sont demandés. Si le Porte-clés Gnome est présent, il sera possible d'y conserver les clés. Le contenu distant apparaît dans la fenêtre de l'explorateur de fichier Thunar. (Pour d'autres types d'explorateur, il peut-être nécessaire de remplacer dans l'adresse davs:// par webdavs://).

3 - Accès comme un media local

Le paquet "davfs2" permet de monter / démonter la ressource WebDav comme un système de fichier local. Le montage et le démontage avec les droits root sont immédiats. Par contre, le montage et le démontage avec les droits non privilégiés nécessite que le montage soit spécifié dans la table de montage fstab.

3.1 - Installation

$ sudo aptitude install davfs2
$ mkdir /media/davfs
$ sudo mount -t davfs https://ncloud.zaclys.com/remote.php/webdav /media/<user>/davfs/
Please enter the username to authenticate with server
https://ncloud.zaclys.com/remote.php/webdav or hit enter for none.
Username: xxxxxxxx
Please enter the password to authenticate user 17048 with server
https://ncloud.zaclys.com/remote.php/webdav or hit enter for none.
Password:
/sbin/mount.davfs: warning: the server does not support locks

$ ls /media/<user>/davfs
.....
$ sudo umount /media/<user>/davfs

3.2 - Montage - Démontage avec les droits utilisateur

3.2.1 - Installation

Configuration

$ sudo usermod -aG davfs2 nom_utilisateur
$ echo "https://ncloud.zaclys.com/remote.php/webdav/ /media/<user>davfs davfs user,rw,noauto 0 0" | sudo tee -a /etc/fstab

L'option noauto est utilisée pour ne pas bloquer le démarrage du système, si le réseau n'est pas encore établi ou le serveur davfs inaccessible.

3.2.2 Utilisation

Le montage et le démontage s'effectuent désormais avec les droits utilisateur (il peut-être nécessaire de redémarrer pour faire prendre en compte l'utilisateur par davfs). Le nom et le mot de passe du compte sont demandés.

$ mount /media/<user>/davfs

$ ls /media/<user>/davfs
..........

$ umount /media/<user>/davfs
/sbin/umount.davfs: waiting while mount.davfs (pid 6051) synchronizes the cache .. OK

Le contenu distant peut-être exploité en ligne de commande dans un terminal ou en mode graphique, dans l'explorateur de fichier où il apparaît comme un disque local. La navigation s'effectue rapidement, une fois le système de fichier monté.

Dans l'explorateur, le système de miniature est fonctionnel et les fichiers peuvent être ouverts directement en cliquant dessus.

3.2.3 - Automatisation de la saisie du nom d'utilisateur et du mot de passe

$ ls -l ~/.davfs2/secrets 
-rw------- 1 nom_utilisateur nom_utilisateur 2648 nov. 1 21:17 secrets
$ mkdir ~/.davfs2
$ sudo cp /etc/davfs2/secrets ~/.davfs2/secrets
# chown <user>:<user> ~/.davfs2/secrets
$ chmod 600 ~/.davfs2/secrets
$ cat <<EOF>> ~/.davfs2/secrets
# Credential for https://nloud.zaclys.com/remote.php/webdav - Utilisateur xxxxxx
/media/<user>davfs xxxxx mot_de _passe
EOF