Я использую заполнители для настоящих имен серверов и папок, однако я постарался сделать их максимально соответствующими реальным именам, поэтому, пожалуйста, обратите внимание на заглавные буквы и знаки препинания на тот случай, если это как-то связано с моей проблемой.
я бегуУбунту 16.04.
Я установилавтофсиdavfs2.
Следующая команда успешно монтирует:
mount -t davfs https://servername.mydomain.com:3333/Shared.Folder /testmount
Он запрашивает у меня имя пользователя и пароль, которые являются [email protected]
и , myypassword
а затем приводит к успешному монтированию.
Это говорит мне о нескольких вещах:
- Мой сервер WebDAV работает и настроен правильно.
- HTTPS работает отлично.
- Мои учетные данные успешно аутентифицированы.
Так что теперь я пытаюсь заставить это работать савтофс.
Вот мои файлы:
/etc/auto.master
/Server.mount /etc/auto.Servername.mount
/etc/auto.Имя_сервера.mount
storage-folder -fstype=davfs,ro :https://servername.mydomain.com:3333/Shared.Folder
/etc/davfs2/секреты
https://servername.mydomain.com:3333/Shared.Folder [email protected] 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 [email protected] 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
было просто:
[email protected]
Password=mypassword
Я также попробовал с 'credentials.Servername.mount' как:
https://servername.mydomain.com:3333/Shared.Folder [email protected] mypassword
Ничего не работает.
Так что я чувствую, что мне не хватает какой-то маленькой, но важной части синтаксиса или конфигурации. Я пришел к вам в отчаянии. Любая помощь будет оценена по достоинству!
решение1
У меня всё заработало.
Для справки, вот рабочийавтофссWebDAVнастраивать
Установить предварительные требования
$ sudo apt-get install autofs
$ sudo apt-get install davfs2
/etc/auto.master
/Server.mount /etc/auto.Servername.mount
/etc/auto.Имя_сервера.mount
storage-folder -fstype=davfs,ro :https\://servername.mydomain.com\:3333/Shared.Folder
Примечание: измените «ro» [только чтение] на «rw» [чтение и запись] в зависимости от ваших потребностей.
/etc/davfs2/секреты
/Server.mount/storage-folder "[email protected]" "mypassword"
Как я это исправил:
У меня было несколько проблем.
- Я нашел «полное» руководство по разбору вопроса дляauto.Имя_сервера.mountна четвертой странице результатов поиска Google:здесь. Поэтому вам действительно нужно экранировать другие двоеточия с помощью обратной косой черты.
- Мне пришлось включить подробное ведение журнала, чтобы найти вторую проблему (которая была досадно плохой). Открыть/etc/autofs.confи найдите строку, в которой говорится:регистрация = нет. Раскомментируйте его и изменитениктокподробный. Перезагрузить autofs:$ sudo /etc/init.d/autofs перезагрузкаа затем проверьте наличие ошибок в/var/log/syslog(расположение и имя файла журнала могут различаться в зависимости от дистрибутива).
- системный журналговорил мнеключ "storage-folder" не найден в источнике(ах) карты. Теперь, если быть честным, мойпапка-хранилищеИмя довольно длинное и сложное. Но я проверял и проверял его много раз, и снова и снова я не замечал, что оно на самом деле было написано с ошибкой в одну букву. Так что это была моя вторая проблема, в/etc/auto.Имя_сервера.mountНа самом деле я написал что-то вродепапка-хранилищевместопапка-хранилище, поэтому очевидно, что когда я пытался получить доступ/Servername.mount/storage-folderникаких ссылок на это в файлах конфигурации не обнаружено.
- После того, как я это исправил, подробное ведение журнала дало мне следующую зацепку, поскольку теперь оно отображало ошибкуНе удалось аутентифицироваться на сервере: отклонен базовый вызов. Так что это сказало мне, что теперь я перешел к ошибке аутентификации. Я открыл/etc/davfs2/секретыи начал копаться, и на этот раз я действительно ответил RTFM, потому что ответы были прямо там, в документации, содержащейся всекретыфайл. В нем точно указано, какие символы нужно экранировать с помощью обратной косой черты, и оказывается, что проблема была не в @ в моем имени пользователя, а в моем пароле был проблемный символ! Оказывается, что заключение пароля в кавычки — это альтернативный и более простой способ обойти проблему, и я также заключил имя пользователя@домен в кавычки просто для пущей убедительности.
Теперь все работает!