首先让我说这是我在 AskUbuntu 中发布的一个问题的转贴。如果这违反了规则,那么请删除它。老实说,在进一步考虑该主题后,我意识到由于 autofs 在各种发行版中的工作原理基本相同,因此这更像是一个 autofs/linux 问题,而不是特定于 Ubuntu 的问题。当然,这是我的理由,因为我也希望获得更多关于这个问题的曝光:autofs 和 WebDAV 似乎是一个相当不常见的组合,所以我更有机会找到其他成功完成它的人我尝试在这个更通用的论坛中。
我正在为真实的服务器名称和文件夹使用占位符,但是,我已尝试使它们尽可能代表真实名称,因此请注意我的大小写和标点符号,以防与我的问题有关。
我正在运行Ubuntu 16.04。
我已经安装了autofs和davfs2。
以下命令成功挂载:
mount -t davfs https://servername.mydomain.com:3333/Shared.Folder /testmount
它要求我输入用户名和密码,[email protected]
然后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
/etc/davfs2/secrets
https://servername.mydomain.com:3333/Shared.Folder [email protected] mypassword
使用此设置,如果我尝试浏览到/Servername.mount/storage-folder
,我会得到一个No such file or directory error
.
现在我 95% 确定我的问题是语法错误或身份验证错误。对于基于 WebDAV 的 autofs 实现,在 Web 上找不到很多示例,其中一些示例显示了冲突的语法。尽管如此,我已经尝试了我能想到的一切。
我认为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
由于我习惯于将凭据文件与基于 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
地说:
[email protected]
Password=mypassword
我还尝试使用“credentials.Servername.mount”作为:
https://servername.mydomain.com:3333/Shared.Folder [email protected] mypassword
没有任何效果。
所以我觉得我在这里遗漏了一些小而重要的语法或配置。我绝望地来到你身边。任何帮助,将不胜感激!
我让它工作了。
作为参考,这里是一个带有WebDAV设置的工作autofs
安装先决条件
/etc/auto.master
/etc/auto.Servername.mount
注意:根据您的需要将“ro”[只读]更改为“rw”[读写]。
/etc/davfs2/secrets
我如何修复它:
我有几个问题。
现在一切正常!