autofs и WebDAV - как заставить их работать вместе?
Я использую заполнители для реальных имен серверов и папок, однако я постарался сделать их как можно более точными представителями реальных имен, поэтому, пожалуйста, обратите внимание на мою заглавную букву и пунктуацию на тот случай, если это как-то связано с моей проблемой.
Я использую Ubuntu 16.04.
Я установил autofs и davfs2.
Следующая команда успешно монтируется:
mount -t davfs https://servername.mydomain.com:3333/Shared.Folder /testmount
Он запрашивает у меня имя пользователя и пароль, которые username@mydomain.com а также myypassword и затем приводит к успешной горе.
Это говорит мне несколько вещей:
- Мой сервер WebDAV работает и настроен правильно.
- HTTPS работает нормально.
- Мои учетные данные успешно аутентифицируются.
Так что теперь я пытаюсь заставить это работать с 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"
Как я это исправил:
У меня было несколько проблем.
- На четвёртой странице результатов Google я нашел " исчерпывающее " руководство по вопросу разбора auto.Servername.mount: [url] https://freetz.org/wiki/packages/autofs[/url] Так что вам действительно нужно чтобы избежать других двоеточий, используя обратную косую черту.
- Я должен был включить подробное ведение журнала, чтобы найти свою вторую проблему (которая была ужасно плохой). Откройте /etc/autofs.conf и найдите строку с надписью logging = none. Раскомментируйте его и не заменяйте ничего многословным. Перезапустите autofs: $ sudo /etc/init.d/autofs перезагрузите, а затем проверьте наличие ошибок в / var / log / syslog (расположение и имя файла журнала могут отличаться в зависимости от дистрибутива).
- Системный журнал сообщал мне, что ключ "папка хранилища" не найден в источниках карты. Теперь, чтобы быть справедливым, мое имя папки хранения является довольно длинным и сложным. Но я проверял это и проверял много раз, и снова и снова я скучал по тому, что это было действительно написано с ошибкой одним письмом. Это была моя вторая проблема, в /etc/auto.Servername.mount я фактически написал что-то вроде storage-foldr вместо storage-folder, поэтому, очевидно, когда я пытался получить доступ к /Servername.mount/storage-folder, это не было найти любые ссылки на это в конфигурационных файлах.
- После того, как я это исправил, подробное ведение журнала дало мне следующее преимущество, так как теперь показывало ошибку. Не удалось пройти проверку подлинности на сервере: отклонено базовое задание. Таким образом, это сказало мне, что я теперь до ошибки аутентификации. Я открыл / etc /davfs2/ secrets и начал ковыряться, и на этот раз я на самом деле RTFM, потому что ответы были прямо там, в документации, содержащейся в файле секретов. Он точно определяет, какие символы необходимо экранировать с помощью обратной косой черты, и оказывается, что @ в моем имени пользователя не было проблемой, но у меня действительно был проблемный символ в моем пароле! Оказывается, что ввод пароля в кавычках является альтернативным и более простым способом решения этой проблемы, и я поставил имя пользователя @ domain в кавычках слишком просто для хорошей меры.
Теперь все работает!