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

Так как я привык использовать файл учетных данных с монтированными на cifs средствами autofs, я также попытался, просто для удовольствия, в своем 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

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

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

1 ответ

Решение

Я получил это работает.

Для справки вот работающий автофот с настройкой 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. На четвёртой странице результатов Google я нашел " исчерпывающее " руководство по вопросу разбора auto.Servername.mount: [url] https://freetz.org/wiki/packages/autofs[/url] Так что вам действительно нужно чтобы избежать других двоеточий, используя обратную косую черту.
  2. Я должен был включить подробное ведение журнала, чтобы найти свою вторую проблему (которая была ужасно плохой). Откройте /etc/autofs.conf и найдите строку с надписью logging = none. Раскомментируйте его и не заменяйте ничего многословным. Перезапустите autofs: $ sudo /etc/init.d/autofs перезагрузите, а затем проверьте наличие ошибок в / var / log / syslog (расположение и имя файла журнала могут отличаться в зависимости от дистрибутива).
  3. Системный журнал сообщал мне, что ключ "папка хранилища" не найден в источниках карты. Теперь, чтобы быть справедливым, мое имя папки хранения является довольно длинным и сложным. Но я проверял это и проверял много раз, и снова и снова я скучал по тому, что это было действительно написано с ошибкой одним письмом. Это была моя вторая проблема, в /etc/auto.Servername.mount я фактически написал что-то вроде storage-foldr вместо storage-folder, поэтому, очевидно, когда я пытался получить доступ к /Servername.mount/storage-folder, это не было найти любые ссылки на это в конфигурационных файлах.
  4. После того, как я это исправил, подробное ведение журнала дало мне следующее преимущество, так как теперь показывало ошибку. Не удалось пройти проверку подлинности на сервере: отклонено базовое задание. Таким образом, это сказало мне, что я теперь до ошибки аутентификации. Я открыл / etc /davfs2/ secrets и начал ковыряться, и на этот раз я на самом деле RTFM, потому что ответы были прямо там, в документации, содержащейся в файле секретов. Он точно определяет, какие символы необходимо экранировать с помощью обратной косой черты, и оказывается, что @ в моем имени пользователя не было проблемой, но у меня действительно был проблемный символ в моем пароле! Оказывается, что ввод пароля в кавычках является альтернативным и более простым способом решения этой проблемы, и я поставил имя пользователя @ domain в кавычках слишком просто для хорошей меры.

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

Другие вопросы по тегам