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
Accès comme un disque réseau, cette solution est la plus rapide à mettre en œuvre
Accès comme un système de fichier local, cette solution est la plus confortable
Sommaire
Dans le cadre de cette présentation
l'adresse de l'interface WebDav est : https://ncloud.zaclys.com/remote.php/webdav/
après avoir créé un compte, se connecter sur l'interface de gestion NextCloud : https://ncloud.zaclys.com/
sélectionner l'Application : Fichiers
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://).
La navigation dans l'explorateur de fichier est assez lente, la suppression, le déplacement et l'ajout des fichiers sont rapides.
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.
Installer le paquet davfs2 :
$ sudo aptitude install davfs2
Créer un répertoire de montage, par exemple :
$ mkdir /media/davfs
Il est désormais possible de monter et démonter la ressource distante webdav avec les droits root (mais tous le contenu est propriété de root)
$ 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
Au cours de l'installation du paquet davfs2, répondre oui à la proposition d'autorisation de montage par des utilisateurs non privilégiés :
Ajouter l'utilisateur au groupe davfs2 :
$ sudo usermod -aG davfs2 nom_utilisateur
Ajouter dans fstab le montage du système de fichier davfs :
$ 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.
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.
$ ls -l ~/.davfs2/secrets
-rw------- 1 nom_utilisateur nom_utilisateur 2648 nov. 1 21:17 secrets
Sinon le créer sur le modèle suivant :
$ mkdir ~/.davfs2
$ sudo cp /etc/davfs2/secrets ~/.davfs2/secrets
# chown <user>:<user> ~/.davfs2/secrets
$ chmod 600 ~/.davfs2/secrets
Ajouter le point de montage, l'identifiant et le mot de de connexion au serveur dans le fichier secrets
$ cat <<EOF>> ~/.davfs2/secrets
# Credential for https://nloud.zaclys.com/remote.php/webdav - Utilisateur xxxxxx
/media/<user>davfs xxxxx mot_de _passe
EOF