Autofs und WebDAV – wie können sie zusammenarbeiten?

Autofs und WebDAV – wie können sie zusammenarbeiten?

Ich verwende Platzhalter für echte Servernamen und Ordner, habe jedoch versucht, sie möglichst repräsentativ für die echten Namen zu gestalten. Achten Sie daher bitte auf Groß- und Kleinschreibung und Zeichensetzung, falls dies etwas mit meinem Problem zu tun hat.

Ich renneUbuntu 16.04Ich
habe installiertautofsUnddavfs2.

Der folgende Befehl wird erfolgreich gemountet:

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

Ich werde nach einem Benutzernamen und einem Passwort gefragt. Die Eingaben lauten [email protected]und myypasswordführen dann zu einer erfolgreichen Bereitstellung.

Dies sagt mir mehrere Dinge:

  1. Mein WebDAV-Server funktioniert und ist richtig konfiguriert.
  2. HTTPS funktioniert einwandfrei.
  3. Die Authentifizierung meiner Anmeldeinformationen war erfolgreich.

Also versuche ich jetzt, das zum Laufen zu bringen mitautofs.

Hier sind meine Dateien:

/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

Wenn ich mit dieser Konfiguration versuche, zu zu navigieren /Servername.mount/storage-folder, erhalte ich eine No such file or directory error.

Jetzt bin ich zu 95% sicher, dass mein Problem ein Syntaxfehler oder ein Authentifizierungsfehler ist. Es gibtnicht vielIm Internet gibt es viele Beispiele für WebDAV-basierte Implementierungen von Autofs, und einige davon weisen widersprüchliche Syntax auf. Trotzdem habe ich alles versucht, was mir eingefallen ist.

Ich denke, dass wahrscheinlich der Doppelpunkt in der auto.Servername.mountDatei die Analyse durcheinanderbringt, daher habe ich alle folgenden Kombinationen ausprobiert:

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

Wenn das nicht das Problem verursacht, dann denke ich, dass es vielleicht etwas mit der secretsDatei zu tun hat. Also habe ich auch Folgendes für meins versucht secrets:

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

Da ich es gewohnt bin, eine Anmeldeinformationsdatei mit CIFS-basierten AutoFS-Mounts zu verwenden, habe ich nur zum Spaß auch Folgendes in meiner auto.Servername.mountDatei ausprobiert:

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

Wobei credentials.Servername.mounteinfach stand:

[email protected]  
Password=mypassword  

Ich habe es auch mit ‚credentials.Servername.mount‘ wie folgt versucht:

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

Nichts funktioniert.

Ich habe das Gefühl, dass mir hier ein kleines, aber entscheidendes Stück Syntax oder Konfiguration fehlt. Ich komme verzweifelt zu Ihnen. Ich wäre für jede Hilfe dankbar!

Antwort1

Ich habe es zum Laufen gebracht.

Als Referenz ist hier eine funktionierendeautofsmitWebDAVaufstellen

Voraussetzungen installieren

$ 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

Hinweis: Ändern Sie „ro“ [nur lesen] je nach Bedarf in „rw“ [Lesen/Schreiben].

/etc/davfs2/secrets

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

So habe ich das Problem behoben:

Ich hatte mehrere Probleme.

  1. Ich fand einen "definitiven" Leitfaden zur Parsing-Frage fürauto.Servername.mountauf der vierten Seite der Google-Ergebnisse:Hier. Sie müssen die anderen Doppelpunkte also tatsächlich mit einem Backslash maskieren.
  2. Ich musste die ausführliche Protokollierung aktivieren, um mein zweites Problem zu finden (das peinlich schlimm war). Öffnen/etc/autofs.confund finde die Zeile, die besagt:Protokollierung = keine. Entfernen Sie das Kommentarzeichen und ändern SiekeinerZuausführlich. Autofs neu laden:$ sudo /etc/init.d/autofs neu ladenund überprüfen Sie dann auf Fehler in/var/log/syslog(Speicherort und Name der Protokolldatei variieren je nach Distribution).
  3. Sysloghat mir gesagtSchlüssel „Speicherordner“ nicht in Kartenquelle(n) gefunden. Um fair zu sein, meineSpeicherordnerName ist etwas lang und komplex. Aber ich habe ihn viele Male überprüft und immer wieder habe ich übersehen, dass er tatsächlich um einen Buchstaben falsch geschrieben war. Das war also mein zweites Problem, in/etc/auto.Servername.mountIch hatte eigentlich so etwas geschrieben wieSpeicherordneranstattSpeicherordner, also offensichtlich, als ich versuchte, zuzugreifen/Servername.mount/SpeicherordnerIn den Konfigurationsdateien wurden keine Hinweise darauf gefunden.
  4. Nachdem ich das behoben hatte, gab mir die ausführliche Protokollierung den nächsten Hinweis, da sie nun den Fehler anzeigteAuthentifizierung beim Server nicht möglich: Grundlegende Herausforderung abgelehnt. Das sagte mir, dass es sich nun um einen Authentifizierungsfehler handelte. Ich öffnete/etc/davfs2/secretsund fing an, herumzustöbern, und dieses Mal habe ich tatsächlich das RTFM gelesen, weil die Antworten direkt in der Dokumentation enthalten waren, die imGeheimnisseDatei. Darin steht genau, welche Zeichen mit Backslash maskiert werden müssen, und es stellte sich heraus, dass das @ in meinem Benutzernamen nicht das Problem war, aber mein Passwort hatte ein problematisches Zeichen! Es stellte sich heraus, dass das Setzen des Passworts in Anführungszeichen eine alternative und einfachere Möglichkeit ist, das Problem zu umgehen, und ich habe Benutzername@Domäne auch in Anführungszeichen gesetzt, nur um sicherzugehen.

Jetzt funktioniert alles!

verwandte Informationen