web-dev-qa-db-fra.com

autofs et WebDAV - comment les faire fonctionner ensemble?

J'utilise des espaces réservés pour les noms de serveur et les dossiers réels. Cependant, j'ai essayé de les rendre aussi représentatifs que possible. Veuillez donc faire attention à ma majuscule et à ma ponctuation au cas où cela aurait un rapport avec mon problème.

Je suis en cours d'exécution buntu 16.04.
J'ai installé autofs et davfs2.

La commande suivante monte avec succès:

mount -t davfs https://servername.mydomain.com:3333/Shared.Folder /testmount

Il me demande un nom d'utilisateur et un mot de passe, qui sont [email protected] et myypassword, puis aboutit à un montage réussi.

Cela me dit plusieurs choses:

  1. Mon serveur WebDAV fonctionne et est configuré correctement.
  2. HTTPS fonctionne bien.
  3. Mes informations d'identification s'authentifient avec succès.

Alors maintenant, j'essaie de faire fonctionner cela avec autofs.

Voici mes fichiers:

/ etc/auto.master

/Server.mount /etc/auto.Servername.mount

/ etc/auto.Servername.mount

storage-folder -fstype=davfs,ro :https://servername.mydomain.com:3333/Shared.Folder

/ etc/davfs2/secrets

https://servername.mydomain.com:3333/Shared.Folder [email protected] mypassword

Avec cette configuration, si j'essaie de naviguer jusqu'à /Servername.mount/storage-folder, j'obtiens un No such file or directory error.

Maintenant, je suis presque à 95% sûr que mon problème est une erreur de syntaxe ou une erreur d'authentification. Il n'y a pas beaucoup d'exemples disponibles sur le Web pour les implémentations de autofs basées sur WebDAV, et certains d'entre eux affichent une syntaxe contradictoire. Néanmoins, j'ai essayé tout ce à quoi je pouvais penser.

Je pense qu'il est probable que les deux points dans le fichier auto.Servername.mount gâchent l'analyse, alors j'ai essayé toutes les combinaisons suivantes:

storage-folder -fstype=davfs,ro https://servername.mydomain.com:3333/Shared.Folder
storage-folder -fstype=davfs,ro https\://servername.mydomain.com\:3333/Shared.Folder
storage-folder -fstype=davfs,ro :https\://servername.mydomain.com\:3333/Shared.Folder
storage-folder -fstype=davfs,ro https\://servername.mydomain.com\:3333:/Shared.Folder

Si cela ne pose pas le problème, je pense que cela pourrait avoir quelque chose à voir avec le fichier secrets. J'ai donc aussi essayé ceci pour mon secrets:

/Servername.mount/storage-folder [email protected] mypassword

Étant donné que je suis habitué à utiliser un fichier d'informations d'identification avec des montages autofs basés sur cifs, j'ai également essayé, juste pour le fun, dans mon fichier auto.Servername.mount:

storage-folder -fstype=davfs,ro,credentials=/etc/credentials.Servername.mount https://servername.mydomain.com:3333/Shared.Folder

credentials.Servername.mount était simplement:

[email protected]  
Password=mypassword  

J'ai aussi essayé avec 'credentials.Servername.mount` comme:

https://servername.mydomain.com:3333/Shared.Folder [email protected] mypassword

Rien ne fonctionne.

J'ai donc l'impression qu'il me manque un morceau de syntaxe ou de configuration, petit mais crucial, ici. Je viens à toi désespéré. Toute aide serait appréciée!

2
Daniel

Je l'ai fait travailler.

Pour référence, voici une autofs de travail avec WebDAV

Installez les prérequis

$ Sudo apt-get install autofs
$ Sudo apt-get install davfs2

/etc/auto.master

/Server.mount /etc/auto.Servername.mount

/etc/auto.Servername.mount

storage-folder -fstype=davfs,ro :https\://servername.mydomain.com\:3333/Shared.Folder

Remarque: remplacez "ro" [lecture seule] par "rw" [lecture-écriture] en fonction de vos besoins.

/etc/davfs2/secrets

/Server.mount/storage-folder "[email protected]" "mypassword"

Comment j'ai résolu le problème:

J'ai eu plusieurs problèmes.

  1. J'ai trouvé un guide "définitif" sur la question de l'analyse syntaxique pour auto.NomServeur.mount sur la quatrième page de résultats Google: ici . Donc, vous devez en effet échapper aux autres deux-points à l'aide d'une barre oblique inverse.
  2. J'ai dû activer la journalisation prolixe pour trouver mon deuxième problème (qui était embarrassant, mauvais). Ouvrez /etc/autofs.conf et recherchez la ligne indiquant logging = none . Décommentez-le et changez none en verbose . Recharger autofs: $ Sudo /etc/init.d/autofs recharger , puis rechercher les erreurs dans /var/log/syslog (l'emplacement et le nom du fichier journal varient en fonction de la distribution).
  3. syslog me disait que la clé "storage-folder" ne figurait pas dans la ou les sources de la carte. Soyons juste, my storage-folder name est un peu long et complexe. Mais j’avais vérifié et vérifié plusieurs fois, et encore et encore, j’ignorais qu’il avait été mal orthographié par une lettre. C’était donc mon deuxième problème, dans /etc/auto.Nom de serveur.mount , j’avais écrit quelque chose comme storage-foldr à la place. de storage-folder , donc évidemment, lorsque je tentais d'accéder à /nom_serveur.mount/storage-folder , il n'en trouvait aucun références à cela dans les fichiers de configuration.
  4. Après avoir résolu ce problème, la journalisation détaillée me donnait mon avantage suivant, car il affichait maintenant l'erreur Impossible de s'authentifier sur le serveur: rejet du défi de base . Donc, cela m'a dit que j'étais maintenant à une erreur d'authentification. J'ai ouvert /etc/davfs2/secrets et commencé à fouiller, et cette fois, j’ai en fait RTFM parce que les réponses se trouvaient là, dans la documentation contenue dans le fichier de secrets . Il indique exactement quels caractères doivent être évités avec une barre oblique inverse, et il s'avère que le @ de mon nom d'utilisateur n'était pas le problème, mais mon mot de passe posait problème! Il s'avère que mettre le mot de passe entre guillemets est un moyen alternatif et plus simple de résoudre le problème, et je mets aussi le nom d'utilisateur @ domaine entre guillemets pour une bonne mesure.

Tout fonctionne maintenant!

3
Daniel