Назад | Перейти на главную страницу

какие-нибудь знатоки autofs? как заставить autofs и webdav работать вместе?

Прежде всего позвольте мне сказать, что это репост вопроса, который я разместил в AskUbuntu. Если это противоречит правилам, удалите это. Честно говоря, после дальнейшего рассмотрения темы я понял, что, поскольку autofs работает в основном одинаково в разных дистрибутивах, это был скорее вопрос autofs / linux, чем вопрос, специфичный для Ubuntu. Конечно, это мое оправдание, потому что я также надеюсь получить больше информации по этому вопросу: кажется, что autofs и WebDAV - довольно необычная комбинация, поэтому у меня больше шансов найти кого-то еще, кто сделал это успешно, если Я пробую на этом более общем форуме.


Я использую заполнители для реальных имен серверов и папок, однако я попытался сделать их как можно более репрезентативными для настоящих имен, поэтому, пожалуйста, обратите внимание на мои заглавные буквы и пунктуацию на тот случай, если это имеет какое-либо отношение к моей проблеме.

я бегу Ubuntu 16.04.
Я установил autofs и davfs2.

Следующая команда успешно монтируется:

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

Он запрашивает у меня имя пользователя и пароль, которые username@mydomain.com и myypassword и затем приводит к успешному монтированию.

Это говорит мне о нескольких вещах:

  1. Мой сервер WebDAV работает и правильно настроен.
  2. HTTPS работает нормально.
  3. Мои учетные данные успешно аутентифицированы.

Итак, теперь я пытаюсь заставить это работать с autofs.

Вот мои файлы:

/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

/ и т.д. / davfs2 / секреты

https://servername.mydomain.com:3333/Shared.Folder username@domain.com mypassword

При такой настройке, если я попытаюсь перейти к /Servername.mount/storage-folder, Я получаю No such file or directory error.

Теперь я примерно на 95% уверен, что моя проблема связана с синтаксической ошибкой или ошибкой аутентификации. Есть не много примеров, которые можно найти в Интернете для реализаций autofs на основе WebDAV, и некоторые из них показывают противоречивый синтаксис. Тем не менее, я перепробовал все, что мог придумать.

Я думаю, вполне вероятно, что двоеточие в auto.Servername.mount файл портит парсинг, поэтому я перепробовал все следующие комбинации:

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

Если это не вызывает проблемы, я думаю, что это может быть связано с secrets файл. Так что я тоже пробовал это для своего secrets:

/Servername.mount/storage-folder username@domain.com mypassword

Поскольку я привык использовать файл учетных данных с монтированием autofs на основе cifs, я также попробовал, просто для удовольствия, в моем auto.Servername.mount файл:

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

куда credentials.Servername.mount было просто:

Username=username@mydomain.com  
Password=mypassword  

Я также пробовал использовать credentials.Servername.mount как:

https://servername.mydomain.com:3333/Shared.Folder username@domain.com mypassword

Ничего не работает.

Так что я чувствую, что мне здесь не хватает небольшого, но важного фрагмента синтаксиса или конфигурации. Я прихожу к тебе в отчаянии. Любая помощь будет оценена по достоинству!

У меня все заработало.

Для справки вот рабочий autofs с участием WebDAV настроить

Установить предварительные требования

$ 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

Примечание: измените «ro» [только чтение] на «rw» [чтение-запись] в зависимости от ваших потребностей.

/ и т.д. / davfs2 / секреты

/Server.mount/storage-folder "username@domain.com" "mypassword"

Как я это исправил:

У меня было несколько проблем.

  1. Я нашел "исчерпывающее" руководство по вопросу синтаксического анализа для auto.Servername.mount на четвертой странице результатов Google: [url]https://freetz.org/wiki/packages/autofs[/url] Таким образом, вам действительно нужно экранировать другие двоеточия, используя обратную косую черту.
  2. Мне пришлось включить подробное ведение журнала, чтобы найти вторую проблему (что было досадно плохо). открыто /etc/autofs.conf и найдите строку, в которой говорится ведение журнала = нет. Раскомментируйте и измените никто к подробный. Перезагрузить autofs: $ sudo /etc/init.d/autofs reload а затем проверьте наличие ошибок в / var / журнал / системный журнал (расположение и имя файла журнала зависят от дистрибутива).
  3. системный журнал говорил мне ключ "папка-хранилище" не найден в источнике (ах) карты. Честно говоря, мой папка для хранения имя несколько длинное и сложное. Но я проверял это и проверял много раз, и снова, и снова я упускал из виду, что на самом деле это была ошибка на одну букву. Это была моя вторая проблема в /etc/auto.Servername.mount Я действительно написал что-то вроде складной склад вместо того папка для хранения, поэтому очевидно, что когда я пытался получить доступ /Servername.mount/storage-folder он не нашел никаких ссылок на это в файлах конфигурации.
  4. После того, как я исправил это, подробное ведение журнала дало мне следующее преимущество, поскольку теперь оно показывало ошибку Не удалось пройти аутентификацию на сервере: отклонен Основной запрос. Таким образом, это говорило мне, что у меня произошла ошибка аутентификации. я открыл / и т.д. / davfs2 / секреты и начал ковыряться, и на этот раз я на самом деле RTFM, потому что ответы были прямо там в документации, содержащейся в секреты файл. Он указывает, какие символы нужно экранировать с помощью обратной косой черты, и оказывается, что @ в моем имени пользователя не было проблемой, но в моем пароле был проблемный символ! Оказывается, заключение пароля в кавычки - это альтернативный и более простой способ решения проблемы, и я также поместил имя пользователя @ domain в кавычки, просто на всякий случай.

Теперь все работает!